Blog archive
2021
365 posts published in 2021.
- Signs it is time to revisit dark modeDesign
- Queues and message brokers for small teamsArchitecture
- WCAG compliance: the questions we get asked mostAccessibility
- Signs it is time to revisit the checkout flowE-commerce
- Five mistakes teams make with serverlessCloud
- How to get product filtering rightE-commerce
- Ownership of digital assets: the questions we get asked mostStrategy
- Five mistakes teams make with backlinksSEO
- Signs it is time to revisit accessible tablesAccessibility
- A short guide to ownership of digital assetsStrategy
- How to get iconography rightDesign
- Signs it is time to revisit data qualityData
- Attribution: the questions we get asked mostAnalytics
- Before you invest in API designDevelopment
- Signs it is time to revisit rebuilding versus refreshingStrategy
- Serverless: the questions we get asked mostCloud
- Payment gateways, explained without the jargonE-commerce
- Offline-first design for small teamsMobile
- Five mistakes teams make with data modellingData
- How to get brand consistency rightDesign
- A short guide to app store reviewMobile
- Why database schema design matters more than it looksDevelopment
- Three myths about tone of voiceContent
- Application logging, explained without the jargonDevelopment
- Five mistakes teams make with autoscalingCloud
- The real cost of ignoring environment configurationDevelopment
- What to ask your agency about onboarding flowsDesign
- What to ask your agency about web componentsDevelopment
- Before you invest in keyword researchSEO
- Getting started with automated testingDevelopment
- Onboarding flows: the questions we get asked mostDesign
- Progressive enhancement: what to get right firstDevelopment
- What to ask your agency about duplicate contentSEO
- Signs it is time to revisit form spamSecurity
- The real cost of ignoring prototypingDesign
- Five mistakes teams make with event-driven architectureArchitecture
- Dark mode for small teamsDesign
- When touch target size is worth the effortAccessibility
- Signs it is time to revisit backupsSecurity
- Writing for the web: the questions we get asked mostContent
- Landing page structure: what to get right firstDesign
- A short guide to offline-first designMobile
- Why empty states matters more than it looksDesign
- A/B testing: the questions we get asked mostAnalytics
- Why internal tools matters more than it looksStrategy
- Funnel analysis: the questions we get asked mostAnalytics
- Five mistakes teams make with case studiesContent
- A practical checklist for dark modeDesign
- Signs it is time to revisit product photographyE-commerce
- Queues and message brokers: what to get right firstArchitecture
- Why your returns policy matters more than it looksE-commerce
- A short guide to redirectsSEO
- The real cost of ignoring native and cross-platform mobileMobile
- Three myths about visual hierarchyDesign
- Getting started with multi-tenancyArchitecture
- Five mistakes teams make with feature flagsDevelopment
- A practical checklist for eventual consistencyArchitecture
- Payment gateways: the questions we get asked mostE-commerce
- Five mistakes teams make with crawl budgetSEO
- Marketplace integrations, explained without the jargonE-commerce
- Signs it is time to revisit observabilityCloud
- Getting started with mobile performancePerformance
- A practical checklist for mobile release cadenceMobile
- Multi-tenancy: what to get right firstArchitecture
- Three myths about third-party scriptsDevelopment
- Getting started with mobile analyticsMobile
- Lazy loading for small teamsPerformance
- A practical checklist for structured dataSEO
- What to ask your agency about ownership of digital assetsStrategy
- Before you invest in infrastructure as codeCloud
- A practical checklist for on-site product searchE-commerce
- Before you invest in landing page structureDesign
- Lazy loading: the questions we get asked mostPerformance
- The real cost of ignoring title tagsSEO
- Getting started with feature flagsDevelopment
- How to get reporting latency rightData
- Getting started with mobile release cadenceMobile
- Before you invest in automating manual workStrategy
- A practical checklist for URL structureSEO
- The real cost of ignoring order confirmation emailsE-commerce
- SEO during a site migration, explained without the jargonSEO
- Web typography, explained without the jargonDesign
- Discovery workshops: what to get right firstStrategy
- A short guide to content clustersSEO
- The real cost of ignoring ownership of digital assetsStrategy
- When a Google Business Profile is worth the effortSEO
- Three myths about iconographyDesign
- Microcopy, explained without the jargonContent
- Signs it is time to revisit automating manual workStrategy
- Five mistakes teams make with password policiesSecurity
- A practical checklist for a data warehouseData
- Signs it is time to revisit progressive enhancementDevelopment
- When offline-first design is worth the effortMobile
- Canonical URLs: what to get right firstSEO
- Signs it is time to revisit case studiesContent
- Signs it is time to revisit Core Web VitalsPerformance
- Five mistakes teams make with heatmapsAnalytics
- Five mistakes teams make with keyword researchSEO
- Signs it is time to revisit reporting dashboardsAnalytics
- Five mistakes teams make with multi-currency sellingE-commerce
- Three myths about calls to actionContent
- Getting started with multi-currency sellingE-commerce
- The real cost of ignoring training your teamStrategy
- Three myths about responsive layoutDesign
- A short guide to ETL pipelinesData
- Three myths about analytics setupAnalytics
- Three myths about subscription billingE-commerce
- Multi-tenancy for small teamsArchitecture
- What to ask your agency about product pagesE-commerce
- Why idempotency matters more than it looksArchitecture
- The real cost of ignoring static site generationDevelopment
- Three myths about software updatesSecurity
- Getting started with discovery workshopsStrategy
- Accessible tables: the questions we get asked mostAccessibility
- What to ask your agency about build versus buyStrategy
- What to ask your agency about attributionAnalytics
- Cumulative layout shift: what to get right firstPerformance
- A short guide to secrets managementCloud
- Before you invest in micro-interactionsDesign
- What to ask your agency about guest checkoutE-commerce
- Signs it is time to revisit headline writingContent
- A CDN: the questions we get asked mostPerformance
- Why responsive layout matters more than it looksDesign
- How to get local SEO rightSEO
- Scoping an MVP: the questions we get asked mostStrategy
- State management for small teamsDevelopment
- Three myths about order confirmation emailsE-commerce
- When cumulative layout shift is worth the effortPerformance
- Three myths about scope creepStrategy
- Three myths about code documentationDevelopment
- Why data migration matters more than it looksData
- Five mistakes teams make with CSS architectureDevelopment
- Before you invest in observabilityCloud
- Why redirects matters more than it looksSEO
- A practical checklist for white spaceDesign
- Time to first byte: the questions we get asked mostPerformance
- Data quality: the questions we get asked mostData
- Three myths about cart abandonmentE-commerce
- Three myths about background jobsDevelopment
- How to get order confirmation emails rightE-commerce
- Semantic HTML, explained without the jargonDevelopment
- How to get touch target size rightAccessibility
- Getting started with code documentationDevelopment
- What to ask your agency about event-driven architectureArchitecture
- Container orchestration for small teamsCloud
- Performance budgets, explained without the jargonPerformance
- What to ask your agency about reporting dashboardsAnalytics
- A short guide to your returns policyE-commerce
- Stakeholder buy-in: what to get right firstStrategy
- What to ask your agency about a headless CMSDevelopment
- A practical checklist for product pagesE-commerce
- A practical checklist for version controlDevelopment
- Three myths about mobile-first indexingSEO
- When streaming data is worth the effortData
- Signs it is time to revisit iconographyDesign
- Product descriptions: the questions we get asked mostContent
- When observability is worth the effortCloud
- A practical checklist for product descriptionsContent
- REST and GraphQL: the questions we get asked mostDevelopment
- The real cost of ignoring guest checkoutE-commerce
- Tone of voice: the questions we get asked mostContent
- A practical checklist for cookie consentSecurity
- Three myths about headline writingContent
- Getting started with database schema designDevelopment
- Why HTTPS and SSL matters more than it looksSecurity
- Getting started with roadmappingStrategy
- Why onboarding flows matters more than it looksDesign
- Before you invest in product photographyE-commerce
- How to get two-factor authentication rightSecurity
- When conversion tracking is worth the effortAnalytics
- Three myths about automated testingDevelopment
- When content audits is worth the effortContent
- A practical checklist for font loadingPerformance
- Getting started with heading structureAccessibility
- A short guide to critical CSSPerformance
- How to get internal tools rightStrategy
- Getting started with performance budgetsPerformance
- Five mistakes teams make with code reviewDevelopment
- Crawl budget, explained without the jargonSEO
- Automated testing: what to get right firstDevelopment
- How to get heading structure rightAccessibility
- Before you invest in CSS architectureDevelopment
- Why multi-currency selling matters more than it looksE-commerce
- Streaming data for small teamsData
- The real cost of ignoring project scopingStrategy
- Before you invest in internal linkingSEO
- Why accessibility testing matters more than it looksAccessibility
- A practical checklist for error handlingDevelopment
- Why Core Web Vitals matters more than it looksPerformance
- Getting started with state managementDevelopment
- The real cost of ignoring headline writingContent
- Five mistakes teams make with button and call-to-action designDesign
- Getting started with tax calculationE-commerce
- Three myths about uptime monitoringSecurity
- Five mistakes teams make with tax calculationE-commerce
- How to get SEO audits rightSEO
- Two-factor authentication: what to get right firstSecurity
- Error handling for small teamsDevelopment
- Tone of voice, explained without the jargonContent
- The real cost of ignoring third-party scriptsDevelopment
- Five mistakes teams make with deep linkingMobile
- Infrastructure as code for small teamsCloud
- What to ask your agency about mobile performancePerformance
- Ownership of digital assets: what to get right firstStrategy
- ETL pipelines, explained without the jargonData
- Getting started with user researchStrategy
- How to get A/B testing rightAnalytics
- A practical checklist for ARIA labelsAccessibility
- Why digital transformation matters more than it looksStrategy
- Signs it is time to revisit alertingCloud
- Documentation and handover, explained without the jargonStrategy
- Duplicate content: the questions we get asked mostSEO
- How to get edge computing rightCloud
- Your returns policy for small teamsE-commerce
- URL structure: the questions we get asked mostSEO
- Signs it is time to revisit background jobsDevelopment
- Getting started with crawl budgetSEO
- A practical checklist for feature flagsDevelopment
- Signs it is time to revisit keyword researchSEO
- What to ask your agency about database migrationsDevelopment
- Three myths about event trackingAnalytics
- Signs it is time to revisit a Google Business ProfileSEO
- Three myths about monoliths and microservicesArchitecture
- Three myths about image SEOSEO
- Five mistakes teams make with legacy modernisationArchitecture
- Title tags: what to get right firstSEO
- How to get reporting dashboards rightAnalytics
- Native and cross-platform mobile for small teamsMobile
- Launch planning for small teamsStrategy
- Eventual consistency for small teamsArchitecture
- A practical checklist for backupsSecurity
- Signs it is time to revisit critical CSSPerformance
- Five mistakes teams make with data migrationData
- Why web components matters more than it looksDevelopment
- Defining success metrics: what to get right firstStrategy
- Web components: what to get right firstDevelopment
- A practical checklist for post-launch supportStrategy
- How to get design systems rightDesign
- JavaScript bundle size, explained without the jargonDevelopment
- A CDN for small teamsPerformance
- How to get a headless CMS rightDevelopment
- The real cost of ignoring focus indicatorsAccessibility
- A short guide to code documentationDevelopment
- The real cost of ignoring local SEOSEO
- What to ask your agency about tax calculationE-commerce
- A practical checklist for reduced motionAccessibility
- What to ask your agency about REST and GraphQLDevelopment
- What to ask your agency about accessible formsAccessibility
- A practical checklist for HTTPS and SSLSecurity
- Scoping an MVP for small teamsStrategy
- Why legacy modernisation matters more than it looksArchitecture
- A practical checklist for continuous deploymentDevelopment
- Before you invest in edge computingCloud
- Background jobs: what to get right firstDevelopment
- Getting started with URL structureSEO
- Three myths about CSS architectureDevelopment
- Three myths about event-driven architectureArchitecture
- Five mistakes teams make with working with a remote teamStrategy
- Case studies: the questions we get asked mostContent
- When data migration is worth the effortData
- Getting started with content governanceContent
- Five mistakes teams make with JavaScript bundle sizeDevelopment
- A short guide to documentation and handoverStrategy
- Guest checkout, explained without the jargonE-commerce
- Signs it is time to revisit idempotencyArchitecture
- Five mistakes teams make with digital transformationStrategy
- Five mistakes teams make with above-the-fold contentDesign
- A Google Business Profile: the questions we get asked mostSEO
- A practical checklist for testimonial sectionsDesign
- Automating manual work for small teamsStrategy
- A short guide to a Google Business ProfileSEO
- A practical checklist for error messagesDesign
- Signs it is time to revisit semantic HTMLDevelopment
- A practical checklist for search intentSEO
- Three myths about blue-green deploymentCloud
- Touch target size, explained without the jargonAccessibility
- How to get FAQ pages rightContent
- Five mistakes teams make with captions and transcriptsAccessibility
- When disaster recovery is worth the effortSecurity
- Signs it is time to revisit pricing page designDesign
- A short guide to application loggingDevelopment
- Button and call-to-action design, explained without the jargonDesign
- Why progressive enhancement matters more than it looksDevelopment
- Signs it is time to revisit uptime monitoringSecurity
- A practical checklist for prototypingDesign
- Incident response for small teamsSecurity
- Signs it is time to revisit webhooksDevelopment
- Image optimization: what to get right firstPerformance
- Native and cross-platform mobile: what to get right firstMobile
- Web typography: the questions we get asked mostDesign
- Why a CDN matters more than it looksPerformance
- Three myths about ETL pipelinesData
- How to get version control rightDevelopment
- Signs it is time to revisit ARIA labelsAccessibility
- Web components: the questions we get asked mostDevelopment
- A practical checklist for time to first bytePerformance
- What to ask your agency about incident responseSecurity
- Why meta descriptions matters more than it looksSEO
- A short guide to training your teamStrategy
- How to get password policies rightSecurity
- Why micro-interactions matters more than it looksDesign
- How to get backlinks rightSEO
- Five mistakes teams make with font loadingPerformance
- What to ask your agency about technical debtDevelopment
- Uptime monitoring, explained without the jargonSecurity
- Signs it is time to revisit training your teamStrategy
- Before you invest in choosing imageryDesign
- Signs it is time to revisit push notificationsMobile
- A practical checklist for data privacySecurity
- A short guide to screen readersAccessibility
- How to get dependency vulnerabilities rightSecurity
- Three myths about FAQ pagesContent
- Static site generation: the questions we get asked mostDevelopment
- Signs it is time to revisit native and cross-platform mobileMobile
- Before you invest in reduced motionAccessibility
- Getting started with cookie consentSecurity
- Why crawl budget matters more than it looksSEO
- Shipping options for small teamsE-commerce
- Three myths about launch planningStrategy
- Internal linking for small teamsSEO
- How to get subscription billing rightE-commerce
- Rebuilding versus refreshing, explained without the jargonStrategy
- Why device testing matters more than it looksMobile
- Signs it is time to revisit email deliverabilitySecurity
- Three myths about training your teamStrategy
- Before you invest in search intentSEO
- Getting started with dependency vulnerabilitiesSecurity
- Why case studies matters more than it looksContent
- Content clusters for small teamsSEO
- How to get code splitting rightPerformance
- Product filtering, explained without the jargonE-commerce
- Three myths about rebuilding versus refreshingStrategy
- Multi-tenancy, explained without the jargonArchitecture
- Content strategy: what to get right firstStrategy
- Getting started with a Google Business ProfileSEO
- A short guide to captions and transcriptsAccessibility
- Three myths about a headless CMSDevelopment
- Why caching layers matters more than it looksArchitecture
- The real cost of ignoring database migrationsDevelopment
- Signs it is time to revisit FAQ pagesContent
- Signs it is time to revisit server-side renderingDevelopment
- Signs it is time to revisit colour contrastDesign
- Getting started with continuous deploymentDevelopment
- When ARIA labels is worth the effortAccessibility
- Before you invest in event-driven architectureArchitecture
- Reporting latency, explained without the jargonData
- Five mistakes teams make with roadmappingStrategy
- Before you invest in inventory syncE-commerce
- A short guide to ARIA labelsAccessibility
- Getting started with time to first bytePerformance
- A practical checklist for design systemsDesign
- When time to first byte is worth the effortPerformance
- When HTTPS and SSL is worth the effortSecurity
- Vendor lock-in: what to get right firstStrategy
- What to ask your agency about mobile analyticsMobile
- What to ask your agency about rebuilding versus refreshingStrategy
- A short guide to code splittingPerformance
- Choosing imagery for small teamsDesign
- Discovery workshops for small teamsStrategy
- Before you invest in semantic HTMLDevelopment
- Signs it is time to revisit stakeholder buy-inStrategy
- Five mistakes teams make with the checkout flowE-commerce
- URL structure, explained without the jargonSEO
- Third-party scripts for small teamsDevelopment
- Code splitting, explained without the jargonPerformance