<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Protocols on design is in the code</title><link>https://designisinthecode.com/tags/protocols/</link><description>Recent content in Protocols on design is in the code</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>&amp;copy; José Carlos Joaquim</copyright><lastBuildDate>Tue, 14 Apr 2026 08:00:00 +0100</lastBuildDate><atom:link href="https://designisinthecode.com/tags/protocols/index.xml" rel="self" type="application/rss+xml"/><item><title>The Web Has a New User. It Isn't Human.</title><link>https://designisinthecode.com/posts/2026-04-14-the-web-has-a-new-user/</link><pubDate>Tue, 14 Apr 2026 08:00:00 +0100</pubDate><guid>https://designisinthecode.com/posts/2026-04-14-the-web-has-a-new-user/</guid><description>&lt;p>There&amp;rsquo;s a quiet shift happening on the web, and most e-commerce teams haven&amp;rsquo;t noticed yet.&lt;/p>&lt;p>Users aren&amp;rsquo;t just opening browsers anymore. They&amp;rsquo;re asking ChatGPT, Claude, Gemini, and a growing zoo of autonomous shopping agents to &lt;em>go do the shopping for them&lt;/em>. The humans still approve the purchase — but the discovery, the comparison, the &amp;ldquo;what&amp;rsquo;s the best one under $150&amp;rdquo; part? That&amp;rsquo;s being delegated.&lt;/p>&lt;p>And here&amp;rsquo;s the uncomfortable question every merchant should be asking in 2026:&lt;/p>&lt;p>&lt;strong>When an agent goes looking for your product, can it actually see your store?&lt;/strong>&lt;/p>&lt;p>If you&amp;rsquo;re on Shopify, probably yes. Shopify has been quietly wiring up agent-readable endpoints for months. If you&amp;rsquo;re on WooCommerce, Magento, BigCommerce, a headless Next.js build, or — honestly — &lt;em>anything else&lt;/em>, the answer is almost certainly no.&lt;/p>&lt;p>That&amp;rsquo;s the problem I&amp;rsquo;ve been poking at for a while. Today I&amp;rsquo;m putting out one possible approach — and opening it up for others to poke at.&lt;/p>&lt;p>It&amp;rsquo;s called &lt;a href="https://opencommerceprotocol.org">&lt;strong>OCP — the Open Commerce Protocol&lt;/strong>&lt;/a>.&lt;/p>&lt;hr>&lt;h2 id="the-same-movie-different-decade">The Same Movie, Different Decade&lt;/h2>&lt;p>I&amp;rsquo;ve written before about how every tech revolution follows the same playbook: hype, projection, panic, investment, reality check, and then — slowly — the real value emerges in places nobody predicted.&lt;/p>&lt;p>The agentic commerce wave is no different. The trillion-dollar headlines are already here. The &amp;ldquo;AI will run your store&amp;rdquo; decks are already being shopped around boardrooms. Meanwhile, the actual infrastructure problem is embarrassingly mundane:&lt;/p>&lt;p>&lt;strong>Agents can&amp;rsquo;t read most of the web.&lt;/strong>&lt;/p>&lt;p>Not because the tech is hard. Because there&amp;rsquo;s no standard way for a website to say &lt;em>&amp;ldquo;here&amp;rsquo;s my catalog, here&amp;rsquo;s how to search it, here&amp;rsquo;s how to add something to a cart.&amp;rdquo;&lt;/em>&lt;/p>&lt;p>We&amp;rsquo;ve seen this exact movie before. Before sitemaps.xml, search engines crawled blind. Before RSS, you had to visit every site manually. Before Schema.org, Google had to guess what a product page actually was. Every time, the fix was the same: a small, boring, open protocol that everyone could adopt in an afternoon.&lt;/p>&lt;p>Agentic commerce needs that moment. Right now.&lt;/p>&lt;hr>&lt;h2 id="the-shopify-problem">The Shopify Problem&lt;/h2>&lt;p>Let me be blunt about why this matters.&lt;/p>&lt;p>When an agent searches &amp;ldquo;best hiking boots under $150,&amp;rdquo; it can only recommend stores it can &lt;em>read&lt;/em>. Shopify stores surface. The rest of the web doesn&amp;rsquo;t. That&amp;rsquo;s not a fairness problem — that&amp;rsquo;s a distribution collapse.&lt;/p>&lt;p>The long tail of commerce — the independent brands, the niche shops, the DTC founders, the local stores running on WooCommerce plugins older than some of their customers — is staring down a future where they&amp;rsquo;re structurally invisible to the next dominant shopping channel.&lt;/p>&lt;p>You can&amp;rsquo;t solve that by telling every small merchant to rewrite their backend against five competing agent protocols. MCP, UCP, ACP, A2A, WebMCP — every framework has its own opinion about how an agent should talk to a store. If you&amp;rsquo;re a founder running a single-person brand, you are not going to implement five of them. You&amp;rsquo;re going to implement zero.&lt;/p>&lt;p>That&amp;rsquo;s where the protocol wars lose their customers.&lt;/p>&lt;hr>&lt;h2 id="bridge-dont-replace">Bridge, Don&amp;rsquo;t Replace&lt;/h2>&lt;p>Here&amp;rsquo;s the design principle OCP is built on — and the part I think matters most:&lt;/p>&lt;blockquote>&lt;p>&lt;strong>One OCP setup can produce all the other protocols automatically.&lt;/strong>&lt;/p>&lt;/blockquote>&lt;p>Not &amp;ldquo;OCP instead of MCP.&amp;rdquo; Not &amp;ldquo;OCP vs ACP.&amp;rdquo; OCP sits underneath them and translates.&lt;/p>&lt;pre tabindex="0">&lt;code>Your Store │ ▼┌─────────────────────────────────────────────────────────┐│ OCP Core Setup ││ .well-known/ocp.json │ ocp/products.jsonl │ ocp.md │└──────┬──────────┬────────┬───────────┬──────────┬───────┘ │ │ │ │ │ ▼ ▼ ▼ ▼ ▼ MCP Server UCP ACP A2A Card WebMCP (Claude, Manifest Endpoints (Google (Chrome Cursor) (Google (OpenAI agent-to- browser checkout) agents) agent) runtime)&lt;/code>&lt;/pre>&lt;p>You publish &lt;strong>two static files&lt;/strong>. A bridge command turns them into MCP servers, UCP manifests, ACP endpoints, A2A agent cards, and WebMCP tool registrations. When the next protocol ships — and there will &lt;em>always&lt;/em> be a next protocol — you add one bridge, not one integration.&lt;/p>&lt;p>I think this is the kind of design that has a shot at surviving the next five years. Because the next five years are going to be &lt;em>loud&lt;/em>.&lt;/p>&lt;hr>&lt;h2 id="the-five-minute-setup">The Five-Minute Setup&lt;/h2>&lt;p>The whole point of OCP is that the minimum viable implementation is stupidly small. That&amp;rsquo;s not a design compromise — it&amp;rsquo;s a deliberate bet.&lt;/p>&lt;p>Two files on any web server:&lt;/p>&lt;p>&lt;strong>&lt;code>/.well-known/ocp.json&lt;/code>&lt;/strong> — a manifest describing your store.&lt;/p>&lt;p>&lt;strong>&lt;code>/ocp/products.jsonl&lt;/code>&lt;/strong> — one product per line, plain text.&lt;/p>&lt;p>That&amp;rsquo;s it. No backend. No API keys. No framework lock-in. No ongoing maintenance beyond regenerating the feed when your catalog changes.&lt;/p>&lt;p>If your site already has Schema.org markup on product pages, you don&amp;rsquo;t even have to write those files yourself:&lt;/p>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>npx @opencommerceprotocol/cli crawl https://mystore.com&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The crawler walks your site, reads the structured data you already published for Google, and generates the OCP files for you. I&amp;rsquo;ve tested it on stores ranging from a single-developer Astro build to a 40,000-SKU WooCommerce instance. So far, it&amp;rsquo;s held up.&lt;/p>&lt;p>If you want more — interactive tools for agents, a conversational chat widget for your human shoppers — you can progressively enhance. Drop in one script tag and your handlers are exposed to WebMCP (Chrome 146+), fall back to &lt;code>window.__ocp&lt;/code> for older agent frameworks, and simultaneously power an embedded chat assistant for human visitors.&lt;/p>&lt;p>That last part is the thing that quietly sold me on shipping this. &lt;strong>The chat widget is the merchant&amp;rsquo;s first tangible ROI.&lt;/strong> Agents are still warming up. Human shoppers are here &lt;em>right now&lt;/em>, and they&amp;rsquo;ll happily talk to a shopping assistant that actually knows your catalog. You get the human-facing win immediately, and the agent-facing win arrives on the same rails a few weeks later as crawlers index your manifest.&lt;/p>&lt;hr>&lt;h2 id="what-measured-looks-like-here">What &amp;ldquo;Measured&amp;rdquo; Looks Like Here&lt;/h2>&lt;p>I&amp;rsquo;ve been pretty loud on this blog about my skepticism toward &amp;ldquo;slap AI on it&amp;rdquo; strategies. I stand by that. OCP is not a magic AI feature. It&amp;rsquo;s an attempt at boring, foundational infrastructure.&lt;/p>&lt;p>That&amp;rsquo;s the point.&lt;/p>&lt;p>The revolutionary applications — AI that runs your entire store, negotiates with suppliers, reprices in real time — those are years away and will require regulation, trust frameworks, and social consent that doesn&amp;rsquo;t exist yet. Meanwhile, some practical applications seem available today for anyone willing to ship something small:&lt;/p>&lt;ul>&lt;li>An independent bookstore getting recommended by an AI reading assistant when someone asks for &amp;ldquo;a good book on systems thinking.&amp;rdquo;&lt;/li>&lt;li>A DTC coffee brand getting surfaced when an agent is helping someone restock their pantry.&lt;/li>&lt;li>A B2B parts supplier being discoverable to a procurement agent that would otherwise default to the three giants everyone already knows.&lt;/li>&lt;/ul>&lt;p>None of this is trillion-dollar-projection stuff. It&amp;rsquo;s just merchants not being invisible. And right now, &lt;em>that&amp;rsquo;s the whole game&lt;/em>.&lt;/p>&lt;hr>&lt;h2 id="why-it-has-to-be-open">Why It Has To Be Open&lt;/h2>&lt;p>There&amp;rsquo;s a version of this project that ships as a SaaS — &amp;ldquo;we&amp;rsquo;ll make your store agent-readable for $49/month&amp;rdquo; — and the unit economics would probably work. That&amp;rsquo;s exactly why I think it would be the wrong move.&lt;/p>&lt;p>&lt;strong>Protocols tend to die when they&amp;rsquo;re owned.&lt;/strong> The web works because nobody owns HTTP. Schema.org works because nobody owns Schema.org. A commerce layer for agents only becomes a default if no single company sits on top of it extracting rent — otherwise platforms route around it, and we end up back where we started with five competing stacks.&lt;/p>&lt;p>&lt;strong>The long tail can&amp;rsquo;t afford a middleman.&lt;/strong> The whole point of this is that small merchants are structurally at risk of being invisible to agents. Putting a paywall on the fix reproduces the exact problem the protocol is trying to solve.&lt;/p>&lt;p>&lt;strong>Open is likely the only way it outlives any one maintainer.&lt;/strong> The useful version of OCP is the one other people feel ownership of — fork it, argue with it, ship adapters for platforms I&amp;rsquo;ve never heard of, eventually make it better than it starts out. That requires Apache 2.0 and a public spec, not a licensing agreement.&lt;/p>&lt;p>So it&amp;rsquo;s all open. Spec, CLI, runtime, bridges, adapters for Shopify, WooCommerce, and a generic Schema.org flow. If you want to contribute an adapter for your platform, the repo is waiting.&lt;/p>&lt;hr>&lt;h2 id="see-it-running">See It Running&lt;/h2>&lt;p>Abstract protocols are easy to hand-wave about, so the repo ships a working example for every flavor of store you&amp;rsquo;re likely to have. All of them are open source under &lt;code>examples/&lt;/code> and most are deployed live:&lt;/p>&lt;ul>&lt;li>&lt;strong>&lt;a href="https://static-site.opencommerceprotocol.org">static-site.opencommerceprotocol.org&lt;/a>&lt;/strong> — Acme Widgets. The absolute minimum: three static files, no build step, no server. If you only look at one example, look at this one.&lt;/li>&lt;li>&lt;strong>&lt;a href="https://bookstore.opencommerceprotocol.org">bookstore.opencommerceprotocol.org&lt;/a>&lt;/strong> — PageTurner Books. A static HTML bookstore showing Discovery + Interact layers with zero backend.&lt;/li>&lt;li>&lt;strong>&lt;a href="https://express-store.opencommerceprotocol.org">express-store.opencommerceprotocol.org&lt;/a>&lt;/strong> — a full store on Hono + Cloudflare Workers, including cart, checkout, and live bridges to ACP, UCP, and A2A.&lt;/li>&lt;li>&lt;strong>&lt;a href="https://nextjs-store.opencommerceprotocol.org">nextjs-store.opencommerceprotocol.org&lt;/a>&lt;/strong> — Next.js 15 / React 19 storefront with server-generated OCP manifests and the client runtime wired in.&lt;/li>&lt;li>&lt;strong>&lt;a href="https://pet-store.opencommerceprotocol.org">pet-store.opencommerceprotocol.org&lt;/a>&lt;/strong> — Pawsome Pets. A standalone Node.js/Express implementation with no workspace dependencies — &lt;code>npm install &amp;amp;&amp;amp; npm start&lt;/code> and you have an agent-readable store.&lt;/li>&lt;li>&lt;strong>&lt;a href="https://store.opencommerceprotocol.org">store.opencommerceprotocol.org&lt;/a>&lt;/strong> — UrbanThread. A clothing store that walks through the full OCP shopping flow with real UI components.&lt;/li>&lt;li>&lt;strong>&lt;a href="https://browser-llm.opencommerceprotocol.org">browser-llm.opencommerceprotocol.org&lt;/a>&lt;/strong> — an AI shopping assistant that runs entirely in the browser, no cloud API tokens. Useful for seeing what a client-side agent looks like against an OCP catalog.&lt;/li>&lt;li>&lt;strong>&lt;a href="https://analytics-dashboard.opencommerceprotocol.org">analytics.opencommerceprotocol.org&lt;/a>&lt;/strong> — a ready-to-run dashboard for visualising which agents are actually showing up at your store.&lt;/li>&lt;li>&lt;strong>&lt;a href="https://event-ticketing.opencommerceprotocol.org">event-ticketing.opencommerceprotocol.org&lt;/a>&lt;/strong> — StageHop. A Next.js 15 event-ticketing store running on Cloudflare Pages, with seat tiers, 8-minute holds, and mandatory human approval on non-refundable checkout.&lt;/li>&lt;li>&lt;strong>&lt;a href="https://gift-finder.opencommerceprotocol.org">gift-finder.opencommerceprotocol.org&lt;/a>&lt;/strong> — Giftly. A browser-only gift finder that fans &lt;code>search_products&lt;/code> out across every OCP store in parallel and shows a unified ranked grid — zero backend, one HTML file served from Cloudflare Workers.&lt;/li>&lt;/ul>&lt;p>Clone any of them, point the CLI at them, or just read the manifests. They&amp;rsquo;re deliberately small so you can skim the whole thing in a single sitting.&lt;/p>&lt;hr>&lt;h2 id="whats-actually-in-the-box">What&amp;rsquo;s Actually In The Box&lt;/h2>&lt;p>For anyone who wants the technical rundown:&lt;/p>&lt;ul>&lt;li>&lt;strong>&lt;code>@opencommerceprotocol/spec&lt;/code>&lt;/strong> — the protocol itself. Versioned, JSON-schema-validated, deliberately minimal.&lt;/li>&lt;li>&lt;strong>&lt;code>@opencommerceprotocol/cli&lt;/code>&lt;/strong> — crawl, init, validate, bridge. The one command a merchant ever has to learn.&lt;/li>&lt;li>&lt;strong>&lt;code>@opencommerceprotocol/runtime&lt;/code>&lt;/strong> — ~8KB gzipped browser runtime. Registers tools with WebMCP, falls back for older frameworks, powers the human chat widget.&lt;/li>&lt;li>&lt;strong>&lt;code>@opencommerceprotocol/validator&lt;/code>&lt;/strong> — makes sure your manifest and feed are actually valid before agents see them.&lt;/li>&lt;li>&lt;strong>&lt;code>@opencommerceprotocol/bridge-mcp&lt;/code>&lt;/strong>, &lt;strong>&lt;code>bridge-acp&lt;/code>&lt;/strong>, &lt;strong>&lt;code>bridge-ucp&lt;/code>&lt;/strong>, &lt;strong>&lt;code>bridge-a2a&lt;/code>&lt;/strong> — the translation layers to every other agent protocol currently in flight.&lt;/li>&lt;li>&lt;strong>Adapters&lt;/strong> for Shopify, WooCommerce, and a generic Schema.org flow for everyone else.&lt;/li>&lt;li>&lt;strong>&lt;code>@opencommerceprotocol/registry&lt;/code>&lt;/strong> — optional discovery layer for agents that want to browse participating stores.&lt;/li>&lt;li>&lt;strong>&lt;code>@opencommerceprotocol/analytics&lt;/code>&lt;/strong> — because if you&amp;rsquo;re going to ship this in production, you need to know which agents are actually showing up.&lt;/li>&lt;/ul>&lt;p>All of it lives at &lt;strong>&lt;a href="https://opencommerceprotocol.org">opencommerceprotocol.org&lt;/a>&lt;/strong>, with the full spec, documentation, examples, and quickstart guides. The source is on GitHub under Apache 2.0.&lt;/p>&lt;hr>&lt;h2 id="the-ask">The Ask&lt;/h2>&lt;p>If you run an e-commerce site — try it. &lt;code>npx @opencommerceprotocol/cli crawl&lt;/code> against your own domain. It takes less time than reading this post. Tell me what breaks.&lt;/p>&lt;p>If you build agent frameworks — look at the bridges. Tell me what I got wrong about your protocol&amp;rsquo;s semantics. I&amp;rsquo;d rather fix that now than after stores are depending on it.&lt;/p>&lt;p>If you work on a platform (Shopify, Wix, Squarespace, WooCommerce, Magento, anything) — let&amp;rsquo;s talk about first-class support. This gets radically better the moment platforms ship it in the box.&lt;/p>&lt;p>And if you just want to argue about whether any of this is the right design — good. That&amp;rsquo;s what open protocols are for. Open an issue. File a PR. Poke holes in the spec. That&amp;rsquo;s how this gets better.&lt;/p>&lt;hr>&lt;h2 id="final-thought">Final Thought&lt;/h2>&lt;p>The agentic web is not going to be turnkey. No revolution ever is.&lt;/p>&lt;p>But the companies and independent merchants that make it through this transition are going to be the ones who did the boring, infrastructural work early. Not the ones who wrote &amp;ldquo;AI-powered&amp;rdquo; on a slide. The ones who made their catalog &lt;em>legible&lt;/em> to machines while everyone else was still debating which model to use.&lt;/p>&lt;p>Two files. Five minutes. One proposal.&lt;/p>&lt;p>The web has a new user. It isn&amp;rsquo;t human. Time to let it in.&lt;/p>&lt;hr>&lt;h3 id="-further-reading">📚 Further Reading&lt;/h3>&lt;ul>&lt;li>&lt;a href="https://opencommerceprotocol.org">Open Commerce Protocol — opencommerceprotocol.org&lt;/a>&lt;/li>&lt;li>&lt;a href="https://github.com/jjoaquim/agentic-commerce-protocol">The spec on GitHub&lt;/a>&lt;/li>&lt;li>&lt;a href="https://github.com/webmachinelearning/webmcp">WebMCP explainer&lt;/a>&lt;/li>&lt;li>&lt;a href="https://modelcontextprotocol.io">Model Context Protocol&lt;/a>&lt;/li>&lt;/ul></description></item><item><title>Critical Thinking in the Age of AI</title><link>https://designisinthecode.com/posts/2025-12-22-critical-thinking-in-the-age-of-ai/</link><pubDate>Mon, 22 Dec 2025 15:43:03 +0100</pubDate><guid>https://designisinthecode.com/posts/2025-12-22-critical-thinking-in-the-age-of-ai/</guid><description>&lt;p>We&amp;rsquo;re entering a weird phase of software.&lt;/p>&lt;p>AI can generate code.AI can generate UI ideas.AI can generate &lt;em>confidence&lt;/em>.&lt;/p>&lt;p>That last one is the dangerous part.&lt;/p>&lt;p>The failure mode isn&amp;rsquo;t &amp;ldquo;AI is useless.&amp;rdquo; The failure mode is &amp;ldquo;AI is &lt;em>plausible&lt;/em>&amp;rdquo; — so teams stop doing the boring checks that keep production from catching fire.&lt;/p>&lt;p>Engineering teams across the industry are shipping AI-generated database migrations without understanding the schema changes. Marketing teams deploy AI-written copy that confidently claims features the product doesn&amp;rsquo;t have. Support teams paste chatbot responses that solve the wrong problem entirely.&lt;/p>&lt;p>The code compiles. The tests pass. The metrics look green.&lt;/p>&lt;p>Until they don&amp;rsquo;t.&lt;/p>&lt;p>Addy Osmani published something that cuts through the noise: &lt;strong>&amp;quot;&lt;a href="https://addyo.substack.com/p/critical-thinking-during-the-age">Critical Thinking during the age of AI&lt;/a>.&amp;quot;&lt;/strong> It&amp;rsquo;s a simple framework — almost embarrassingly obvious. Which is exactly why it works.&lt;/p>&lt;h2 id="the-framework-that-actually-matters">The Framework That Actually Matters&lt;/h2>&lt;p>Addy structures critical thinking around six questions: &lt;strong>Who / What / Where / When / Why / How&lt;/strong>&lt;/p>&lt;p>Not as philosophy. As an operating system for teams building with AI.&lt;/p>&lt;p>Here&amp;rsquo;s what that looks like when you&amp;rsquo;re actually shipping product.&lt;/p>&lt;hr>&lt;h2 id="who-authority-is-not-optional">Who: Authority Is Not Optional&lt;/h2>&lt;p>When an LLM generates code that looks authoritative, your brain wants to merge and move on.&lt;/p>&lt;p>That&amp;rsquo;s the trap.&lt;/p>&lt;p>I&amp;rsquo;ve seen production incidents caused by AI-suggested changes that nobody actually understood — not because the team was careless, but because the process didn&amp;rsquo;t catch it. The code was syntactically correct. It even passed tests. But when it hit production at 2 AM, nobody knew how to debug it because nobody had &lt;em>owned&lt;/em> the decision to ship it.&lt;/p>&lt;p>Treat AI output like it came from an eager intern: useful draft, zero authority.&lt;/p>&lt;p>Before you ship, answer:&lt;/p>&lt;ul>&lt;li>Who is accountable when this breaks?&lt;/li>&lt;li>Who understands the domain enough to validate this?&lt;/li>&lt;li>Who reviewed the security implications?&lt;/li>&lt;li>Who will debug this at 3 AM?&lt;/li>&lt;/ul>&lt;p>Critical thinking is a team sport. &amp;ldquo;Who&amp;rsquo;s in the room?&amp;rdquo; determines whether you ship a feature or a time bomb.&lt;/p>&lt;hr>&lt;h2 id="what-define-the-problem-before-you-code-the-solution">What: Define the Problem Before You Code the Solution&lt;/h2>&lt;p>Most AI workflows skip straight to implementation.&lt;/p>&lt;p>You type: &amp;ldquo;How do I implement X?&amp;rdquo;&lt;/p>&lt;p>And now you&amp;rsquo;re building a solution to a problem you never validated. I&amp;rsquo;ve watched teams spend weeks optimizing AI-generated database queries when the real problem was that nobody had explained to the AI that the data model was wrong.&lt;/p>&lt;p>The better sequence:&lt;/p>&lt;ul>&lt;li>What is actually failing? (Not what users say. What the data shows.)&lt;/li>&lt;li>What does success look like? (Specific, measurable.)&lt;/li>&lt;li>What evidence supports this being the right problem?&lt;/li>&lt;/ul>&lt;p>&amp;ldquo;Users say it&amp;rsquo;s slow&amp;rdquo; is not a problem statement. It&amp;rsquo;s a symptom.&lt;/p>&lt;p>Is it slow for all users or a segment? Slow on mobile or desktop? Slow because of render time, network latency, or database queries?&lt;/p>&lt;p>Define the problem with specificity or you&amp;rsquo;ll optimize the wrong thing.&lt;/p>&lt;hr>&lt;h2 id="where-context-is-king-sandboxes-lie">Where: Context Is King (Sandboxes Lie)&lt;/h2>&lt;p>A fix that works in a local development environment can be a production catastrophe.&lt;/p>&lt;p>Real example: AI suggests using a synchronous API call because that&amp;rsquo;s what worked in the documentation example. Ships to production. Blocks the main thread. App freezes. User churn spikes 40%.&lt;/p>&lt;p>Before you ship, map the context:&lt;/p>&lt;ul>&lt;li>Where does this run? (Mobile device with 2GB RAM? Edge worker with 50ms timeout? Server with unlimited resources?)&lt;/li>&lt;li>Where in the user journey does this fail? (New users? Power users? Specific workflows?)&lt;/li>&lt;li>Where are the downstream dependencies? (What breaks if this service goes down?)&lt;/li>&lt;/ul>&lt;p>AI is great at local solutions. Real engineering is understanding the system it lands in.&lt;/p>&lt;hr>&lt;h2 id="when-triage-vs-root-cause">When: Triage vs Root Cause&lt;/h2>&lt;p>Under pressure, teams default to speed: restart the service, roll back the deploy, &amp;ldquo;just ship it.&amp;rdquo;&lt;/p>&lt;p>Sometimes that&amp;rsquo;s correct. But label it honestly: &lt;strong>This is a band-aid. We&amp;rsquo;re buying time.&lt;/strong>&lt;/p>&lt;p>The critical skill is knowing when speed matters and when rigor is non-negotiable.&lt;/p>&lt;p>Triage is for production fires. Root cause analysis is for everything else.&lt;/p>&lt;p>And if you do a quick fix, schedule the follow-up immediately. Otherwise, the band-aid becomes &amp;ldquo;the architecture&amp;rdquo;, and you&amp;rsquo;re debugging it three years later, wondering why nobody can remember why it was built that way.&lt;/p>&lt;hr>&lt;h2 id="why-stop-shipping-vibes">Why: Stop Shipping Vibes&lt;/h2>&lt;p>&amp;ldquo;Why are we doing this?&amp;rdquo; is the most underrated product question in 2025.&lt;/p>&lt;p>If the answer is:&lt;/p>&lt;ul>&lt;li>&amp;ldquo;Because it&amp;rsquo;s trendy.&amp;rdquo;&lt;/li>&lt;li>&amp;ldquo;Because our competitor did it.&amp;rdquo;&lt;/li>&lt;li>&amp;ldquo;Because the AI suggested it.&amp;rdquo;&lt;/li>&lt;/ul>&lt;p>That&amp;rsquo;s not a why. That&amp;rsquo;s a vibe.&lt;/p>&lt;p>Real example: A team ships an AI chatbot because &amp;ldquo;everyone&amp;rsquo;s doing AI now.&amp;rdquo; Usage is 2%. Support tickets increase 30% because the bot can&amp;rsquo;t escalate to humans. Six months later, they shut it down.&lt;/p>&lt;p>Nobody asked: Why do users need this? What problem does it solve that humans or docs can&amp;rsquo;t?&lt;/p>&lt;p>Use the &lt;strong>5 Whys&lt;/strong> framework when debugging failures:&lt;/p>&lt;ul>&lt;li>Why did the model fail? (Data quality dropped)&lt;/li>&lt;li>Why did data quality drop? (Pipeline dependency broke)&lt;/li>&lt;li>Why wasn&amp;rsquo;t it caught? (No monitoring on that metric)&lt;/li>&lt;li>Why is monitoring missing? (Team assumed it was covered)&lt;/li>&lt;li>Why did we assume? (No ownership clarity)&lt;/li>&lt;/ul>&lt;p>Stop fixing symptoms. Fix causes.&lt;/p>&lt;hr>&lt;h2 id="how-show-your-work">How: Show Your Work&lt;/h2>&lt;p>The final trap: skipping justification.&lt;/p>&lt;p>You paste the AI-generated solution. It compiles. Tests pass. Ship it.&lt;/p>&lt;p>Six months later, someone asks: &amp;ldquo;Why did we implement it this way?&amp;rdquo;&lt;/p>&lt;p>Nobody remembers.&lt;/p>&lt;p>Critical thinking shows up in &lt;em>how&lt;/em> you communicate:&lt;/p>&lt;ul>&lt;li>What&amp;rsquo;s the proposal?&lt;/li>&lt;li>What&amp;rsquo;s the rationale?&lt;/li>&lt;li>What evidence supports it?&lt;/li>&lt;li>What are the trade-offs?&lt;/li>&lt;li>What alternatives did we consider?&lt;/li>&lt;/ul>&lt;p>If you can&amp;rsquo;t explain it clearly in a pull request description, you don&amp;rsquo;t understand it yet. And if you don&amp;rsquo;t understand it, you can&amp;rsquo;t maintain it.&lt;/p>&lt;p>AI doesn&amp;rsquo;t change that. It amplifies it.&lt;/p>&lt;hr>&lt;h2 id="the-pre-ship-checklist-that-keeps-production-stable">The Pre-Ship Checklist That Keeps Production Stable&lt;/h2>&lt;p>Before you merge AI-assisted changes:&lt;/p>&lt;ul>&lt;li>&lt;strong>Who&lt;/strong> is accountable? Who reviewed it? Who owns debugging it?&lt;/li>&lt;li>&lt;strong>What&lt;/strong> problem is this solving? Show the evidence.&lt;/li>&lt;li>&lt;strong>Where&lt;/strong> could it break? Map the environments and dependencies.&lt;/li>&lt;li>&lt;strong>When&lt;/strong> is this a triage fix vs root-cause work?&lt;/li>&lt;li>&lt;strong>Why&lt;/strong> is this the right approach? What alternatives exist?&lt;/li>&lt;li>&lt;strong>How&lt;/strong> will we validate it? What&amp;rsquo;s the rollback plan?&lt;/li>&lt;/ul>&lt;p>This isn&amp;rsquo;t bureaucracy. It&amp;rsquo;s how you maintain velocity &lt;em>and&lt;/em> quality when your draft engine is infinite.&lt;/p>&lt;hr>&lt;h2 id="the-real-competitive-advantage">The Real Competitive Advantage&lt;/h2>&lt;p>AI makes it easy to &lt;em>look&lt;/em> productive.&lt;/p>&lt;p>Critical thinking is what keeps you &lt;em>effective&lt;/em>.&lt;/p>&lt;p>The teams that win in the next few years won&amp;rsquo;t be the ones that &amp;ldquo;use AI the most.&amp;rdquo; They&amp;rsquo;ll be the ones who keep their judgment intact while using it.&lt;/p>&lt;p>Because when everyone can generate infinite code, the differentiator is knowing what &lt;em>not&lt;/em> to ship.&lt;/p>&lt;hr>&lt;p>&lt;strong>Further Reading&lt;/strong>&lt;/p>&lt;ul>&lt;li>Addy Osmani — &amp;ldquo;&lt;a href="https://addyo.substack.com/p/critical-thinking-during-the-age">Critical Thinking during the age of AI&lt;/a>&amp;rdquo;&lt;/li>&lt;/ul></description></item><item><title>The AI Revolution Isn't a Switch You Flip</title><link>https://designisinthecode.com/posts/2025-06-26-the-ai-revolution-isnt-a-switch-you-flip/</link><pubDate>Thu, 26 Jun 2025 18:31:43 +0200</pubDate><guid>https://designisinthecode.com/posts/2025-06-26-the-ai-revolution-isnt-a-switch-you-flip/</guid><description>&lt;p>We&amp;rsquo;ve all seen the headlines. &amp;ldquo;AI is taking over.&amp;rdquo; &amp;ldquo;The future is now.&amp;rdquo; And if you&amp;rsquo;ve been anywhere near a product roadmap in the past 18 months, odds are someone has scribbled &amp;ldquo;AI&amp;rdquo; into a Q3 objective and called it innovation.&lt;/p>&lt;p>But here&amp;rsquo;s the truth: the AI revolution won&amp;rsquo;t happen overnight — and that&amp;rsquo;s not a failure. It&amp;rsquo;s just how revolutions actually work.&lt;/p>&lt;p>Harvard Business Review just published something that cuts through the noise. In &amp;ldquo;&lt;a href="https://hbr.org/2025/06/the-ai-revolution-wont-happen-overnight">The AI Revolution Won&amp;rsquo;t Happen Overnight&lt;/a>,&amp;rdquo; Paul Hlivko—a CIO with three decades of tech implementation experience—delivers a reality check every company chasing AI dreams needs to hear.&lt;/p>&lt;p>His opening assessment of McKinsey&amp;rsquo;s $17.1–$25.6 trillion prediction? &amp;ldquo;A seductive vision. It&amp;rsquo;s also a hallucination.&amp;rdquo;&lt;/p>&lt;p>That&amp;rsquo;s not pessimism talking. That&amp;rsquo;s pattern recognition.&lt;/p>&lt;h2 id="the-same-movie-different-decade">The Same Movie, Different Decade&lt;/h2>&lt;p>&amp;ldquo;I&amp;rsquo;ve seen this movie before. It rarely ends the way the trailer promises.&amp;rdquo;&lt;/p>&lt;p>Anyone who&amp;rsquo;s been in tech long enough knows this feeling. Remember when blockchain was going to revolutionize everything? When VR was going to replace physical reality? When the metaverse was going to be the next internet?&lt;/p>&lt;p>The pattern is always the same: revolutionary technology emerges, consultants create trillion-dollar projections, companies panic about being left behind, massive investments follow, reality hits, and the real value emerges slowly, quietly, in practical applications nobody predicted.&lt;/p>&lt;p>AI is following this exact playbook.&lt;/p>&lt;h2 id="hype-is-outpacing-reality">Hype Is Outpacing Reality&lt;/h2>&lt;p>Here&amp;rsquo;s what Hlivko nails: AI capabilities are improving exponentially, but most organizations are adopting it in a straight line—slowly, hesitantly. That gap between what&amp;rsquo;s possible and what&amp;rsquo;s practiced? It&amp;rsquo;s a problem. And it&amp;rsquo;s widening.&lt;/p>&lt;p>We&amp;rsquo;ve all seen the slide decks that throw around &amp;ldquo;AI-powered X&amp;rdquo; like it&amp;rsquo;s a checkbox. However, integrating AI is not as simple as flipping a feature flag. It demands rethinking systems, data governance, team dynamics, and customer interactions.&lt;/p>&lt;p>The tech might be magical, but deploying it isn&amp;rsquo;t.&lt;/p>&lt;h2 id="its-not-just-about-the-tech">It&amp;rsquo;s Not Just About the Tech&lt;/h2>&lt;p>There&amp;rsquo;s a false comfort in treating AI as a tool you install, rather than a force that reshapes how your organization thinks. Culture, training, governance—all of it matters.&lt;/p>&lt;p>You don&amp;rsquo;t need a CTO with a ChatGPT wrapper. You need people who understand what the model does, what it doesn&amp;rsquo;t, and how it fits into your product and process ecosystem.&lt;/p>&lt;h2 id="what-actually-works">What Actually Works&lt;/h2>&lt;p>The companies winning with AI today aren&amp;rsquo;t chasing trillion-dollar visions. They&amp;rsquo;re solving specific problems:&lt;/p>&lt;ul>&lt;li>Development teams cutting debugging time by 40% with AI-assisted code review&lt;/li>&lt;li>Customer service operations handling 3x more inquiries with AI-powered response suggestions&lt;/li>&lt;li>Marketing teams producing personalized content at an unprecedented scale&lt;/li>&lt;/ul>&lt;p>These aren&amp;rsquo;t headline-grabbing use cases. They won&amp;rsquo;t generate trillion-dollar economic impact projections. But they&amp;rsquo;re real, measurable, and happening now.&lt;/p>&lt;h2 id="measured-beats-magical">Measured Beats Magical&lt;/h2>&lt;p>The revolutionary applications everyone&amp;rsquo;s predicting—AI running entire businesses, solving world hunger—require infrastructure, regulatory frameworks, and social changes that take decades to develop. However, productivity applications are available today for companies that are smart enough to implement them thoughtfully.&lt;/p>&lt;p>So, before slapping AI on the next sprint board, ask:&lt;/p>&lt;ul>&lt;li>What&amp;rsquo;s the problem we&amp;rsquo;re solving?&lt;/li>&lt;li>How will AI actually help?&lt;/li>&lt;li>Are we ready to wield this tool with the care it demands?&lt;/li>&lt;/ul>&lt;p>If the answer&amp;rsquo;s &amp;ldquo;maybe,&amp;rdquo; then good—you&amp;rsquo;re thinking clearly.&lt;/p>&lt;h2 id="the-three-cs-that-actually-matter">The Three C&amp;rsquo;s That Actually Matter&lt;/h2>&lt;p>Want to change how your organization approaches AI? Focus on three fundamentals:&lt;/p>&lt;p>&lt;strong>Culture&lt;/strong> - Stop treating AI adoption like a technology rollout. It&amp;rsquo;s an organizational shift. The teams succeeding with AI aren&amp;rsquo;t just deploying models—they&amp;rsquo;re building environments where experimentation is safe, failure is learning, and iteration is expected.&lt;/p>&lt;p>&lt;strong>Critical Thinking&lt;/strong> - Question everything. Not just the AI outputs, but the problems you&amp;rsquo;re trying to solve. Why this use case? Why now? What happens if it doesn&amp;rsquo;t work? The companies getting AI right are the ones asking hard questions before, during, and after implementation.&lt;/p>&lt;p>&lt;strong>Curiosity&lt;/strong> - The best AI implementations come from teams genuinely curious about what&amp;rsquo;s possible, not just what&amp;rsquo;s profitable. They&amp;rsquo;re exploring edge cases, testing assumptions, and discovering applications nobody planned for. Curiosity drives the experimentation that turns hype into value.&lt;/p>&lt;p>These aren&amp;rsquo;t soft skills. They&amp;rsquo;re competitive advantages. The AI revolution is happening. It&amp;rsquo;s just not happening the way the consultants predicted. It&amp;rsquo;s happening one practical use case at a time, one efficiency gain at a time, one solved problem at a time.&lt;/p>&lt;p>And it&amp;rsquo;s happening fastest at companies that prioritize how they think over what they deploy.&lt;/p>&lt;blockquote>&lt;p>The revolution is here. It&amp;rsquo;s just not turnkey.&lt;/p>&lt;/blockquote></description></item><item><title>Apple’s AI Crisis Isn’t Just About Siri — It’s About Strategy. Time to Buy Cerebras</title><link>https://designisinthecode.com/posts/2025-03-29-apple-please-buy-cerebras/</link><pubDate>Sat, 29 Mar 2025 11:29:19 +0100</pubDate><guid>https://designisinthecode.com/posts/2025-03-29-apple-please-buy-cerebras/</guid><description>&lt;p>A growing consensus among long-time Apple watchers is that something’s broken in Cupertino.&lt;/p>&lt;p>And it’s not just bugs or another “meh” OS update. It’s deeper — a strategic drift, a credibility problem, and a serious lack of AI infrastructure. If Apple wants to stay relevant in the next era of computing, it needs to make bold moves. It needs to fix the foundation &lt;em>and&lt;/em> build something real on top of it.&lt;/p>&lt;p>Here’s the move: &lt;strong>Apple should acquire Cerebras&lt;/strong>.&lt;/p>&lt;p>But first, let’s look at where we are — and how we got here.&lt;/p>&lt;hr>&lt;h2 id="the-red-flags-are-everywhere">The Red Flags Are Everywhere&lt;/h2>&lt;p>John Gruber’s &lt;a href="https://daringfireball.net/2025/03/something_is_rotten_in_the_state_of_cupertino">&lt;em>Something Is Rotten in the State of Cupertino&lt;/em>&lt;/a> is required reading. He lays out how Apple overpromised a “more personalized Siri” and then quietly admitted that none of it was ready. No demos. No hands-on. Just a flashy WWDC concept video and months of silence. As Gruber puts it, this wasn’t a delay — it was &lt;strong>bullshit&lt;/strong>.&lt;/p>&lt;p>Meanwhile, Timothy R. Butler’s &lt;a href="https://reviews.ofb.biz/safari/article/1300.html">&lt;em>Apple Needs a Snow Sequoia&lt;/em>&lt;/a> points to something more troubling: Apple’s core platforms feel neglected. Messages that can’t copy text. UI bugs across macOS and iOS. System settings that feel like they were designed blindfolded. It’s not just the future that’s in question — the present is already a mess.&lt;/p>&lt;p>Then comes Rui Carmo’s &lt;a href="https://taoofmac.com/space/blog/2025/03/14/1830">&lt;em>The Emperor’s New Clothes&lt;/em>&lt;/a> — a developer’s view from inside the machine. Carmo breaks it down technically: Siri hasn’t meaningfully changed since 2021. Apple Intelligence is more marketing than product. And perhaps most damning, Apple lacks the automation layer and internal architecture to pull any of this off. It’s not just behind on AI — it’s structurally unprepared to catch up.&lt;/p>&lt;hr>&lt;h2 id="enter-cerebras-proof-that-real-ai-performance-exists">Enter Cerebras: Proof That Real AI Performance Exists&lt;/h2>&lt;p>Now compare all this to what Cerebras demonstrated — not in theory, but in production.&lt;/p>&lt;p>In a &lt;a href="https://www.cerebras.ai/blog/mistral-le-chat">recent blog post&lt;/a>, Cerebras detailed their work powering Mistral AI’s “Le Chat” assistant — a ChatGPT-style app that now delivers answers at over &lt;strong>1,100 tokens per second&lt;/strong>. That’s not just competitive. It’s faster than GPT-4o. That’s not running on GPUs. That’s running on &lt;strong>Cerebras’ own wafer-scale AI chips&lt;/strong> — hardware they designed and built for &lt;em>this exact moment&lt;/em> in computing.&lt;/p>&lt;p>Let that sink in.&lt;/p>&lt;p>While Apple is releasing concept videos of features it can’t demonstrate, Cerebras is powering production LLMs faster than anyone else. Mistral didn’t need a flashy ad campaign. They needed infrastructure that works. Cerebras delivered, highlighting the stark contrast between Apple&amp;rsquo;s promises and Cerebras&amp;rsquo; actual performance.&lt;/p>&lt;p>This is exactly what Apple is missing: &lt;strong>real AI performance, real scale, and real infrastructure&lt;/strong>.&lt;/p>&lt;hr>&lt;h2 id="why-buying-cerebras-isnt-optional">Why Buying Cerebras Isn’t Optional&lt;/h2>&lt;p>Here’s the thing: Apple doesn’t have time to build this from scratch.&lt;/p>&lt;p>Even if Apple fixes its OS bugs and gets its software teams back in shape (which it &lt;em>absolutely&lt;/em> should — thanks, Tim Butler), it still doesn’t have the infrastructure to build and run serious models. Apple Silicon is great for phones and laptops. But training foundation models? Or serving inference at scale with real privacy and speed?&lt;/p>&lt;p>That’s not what M-series chips are for. That’s what Cerebras chips &lt;em>are&lt;/em> for.&lt;/p>&lt;p>Buying Cerebras gives Apple:&lt;/p>&lt;ul>&lt;li>&lt;strong>AI hardware supremacy&lt;/strong> — with chips designed to train and deploy massive models efficiently.&lt;/li>&lt;li>&lt;strong>End-to-end control&lt;/strong> — from training on private cloud infrastructure to deploying on-device.&lt;/li>&lt;li>&lt;strong>Credibility&lt;/strong> — no more vaporware promises. Just working systems, built on real silicon.&lt;/li>&lt;/ul>&lt;p>And unlike NVIDIA, Cerebras is acquirable. It’s the kind of bold move Apple used to make.&lt;/p>&lt;hr>&lt;h2 id="the-playbook-is-obvious">The Playbook Is Obvious&lt;/h2>&lt;p>Here’s what Apple should do:&lt;/p>&lt;ol>&lt;li>&lt;strong>Buy Cerebras&lt;/strong> — make AI infrastructure a first-party capability.&lt;/li>&lt;li>&lt;strong>Ship a “Snow Sequoia” OS release&lt;/strong> — fix the fundamentals, clean house.&lt;/li>&lt;li>&lt;strong>Rebuild Siri from scratch&lt;/strong> — using actual AI, not glued-together shortcuts and App Intents.&lt;/li>&lt;li>&lt;strong>Stop pretending&lt;/strong> — and start delivering.&lt;/li>&lt;/ol>&lt;p>Do all that, and Apple isn’t playing catch-up anymore. It’s leading again — on its own terms.&lt;/p>&lt;hr>&lt;h2 id="final-thought">Final Thought&lt;/h2>&lt;p>Gruber called out the vapor.Butler showed the bloat.Carmo exposed the rot.And Cerebras? They showed what it &lt;em>looks like&lt;/em> to ship real AI.&lt;/p>&lt;p>Apple, the clock is ticking.&lt;/p>&lt;p>You don’t need a better keynote.You need &lt;strong>Cerebras&lt;/strong>.&lt;/p>&lt;hr>&lt;h3 id="-further-reading">📚 Further Reading&lt;/h3>&lt;ul>&lt;li>&lt;a href="https://daringfireball.net/2025/03/something_is_rotten_in_the_state_of_cupertino">Something Is Rotten in the State of Cupertino&lt;/a> – John Gruber&lt;/li>&lt;li>&lt;a href="https://reviews.ofb.biz/safari/article/1300.html">Apple Needs a Snow Sequoia&lt;/a> – Timothy R. Butler&lt;/li>&lt;li>&lt;a href="https://taoofmac.com/space/blog/2025/03/14/1830">The Emperor’s New Clothes&lt;/a> – Rui Carmo&lt;/li>&lt;li>&lt;a href="https://www.cerebras.ai/blog/mistral-le-chat">Cerebras + Mistral Le Chat&lt;/a> – Real-time AI performance at scale&lt;/li>&lt;/ul></description></item><item><title>The Real Challenge with AI Adoption: Why Companies Get Stuck</title><link>https://designisinthecode.com/posts/2025-02-06-genai-real-challenge/</link><pubDate>Thu, 06 Feb 2025 12:56:59 +0100</pubDate><guid>https://designisinthecode.com/posts/2025-02-06-genai-real-challenge/</guid><description>&lt;p>The promise of generative AI is clear: it can dramatically accelerate how teams work. Yet many companies, from early-stage startups to established enterprises, are struggling to capture this value. While some teams ship new features in days instead of weeks, others spend months debating which AI model to use or navigating approval processes.&lt;/p>&lt;h2 id="the-small-company-paradox">The Small Company Paradox&lt;/h2>&lt;p>For small companies, the barriers often come down to uncertainty. When you&amp;rsquo;re running lean, every tool choice matters. Teams can get stuck evaluating endless options, worried about committing to the wrong platform. Meanwhile, without clear guidance, different departments might adopt conflicting tools, creating future technical debt.&lt;/p>&lt;p>This hesitation is particularly ironic because small companies stand to gain the most from AI adoption. A marketing team of two can now produce content at the scale of a much larger organization. A solo developer can generate test cases and documentation that would typically require a dedicated QA team.&lt;/p>&lt;p>The real game-changer? AI lets startups compete directly with industry giants. A small e-commerce store can now generate SEO-optimized product descriptions at the scale of Amazon—without hiring a dedicated content team. A boutique SaaS startup can use GenAI-driven chatbots to provide 24/7 customer support that feels as responsive as a Fortune 500 help desk. These aren&amp;rsquo;t future possibilities—this is happening today, and the companies that embrace AI early are the ones closing the gap fastest.&lt;/p>&lt;h2 id="enterprise-gridlock">Enterprise Gridlock&lt;/h2>&lt;p>Large organizations face a different challenge. Their size and regulatory requirements mean any new technology needs extensive vetting. A simple tool adoption that might take days at a startup can stretch into months of security reviews, compliance checks, and stakeholder approvals.&lt;/p>&lt;p>This caution isn&amp;rsquo;t entirely misplaced. Enterprise data security and regulatory compliance are serious concerns. But many organizations have overcorrected, creating approval processes so stringent that meaningful innovation becomes nearly impossible.&lt;/p>&lt;p>The result? Speed is outsourced to smaller, more agile competitors:&lt;/p>&lt;ul>&lt;li>While one Fortune 500 retailer debates AI-powered customer insights, a smaller competitor deploys it, refining marketing campaigns in real-time and gaining a 20% market advantage&lt;/li>&lt;li>A legacy software giant spends months getting legal approval for AI-assisted coding, while a new SaaS disruptor ships faster, better-tested features in half the time&lt;/li>&lt;/ul>&lt;p>By the time slow-moving companies act, they&amp;rsquo;re not just behind—they&amp;rsquo;re losing market share, talent, customers, and revenue. AI adoption isn&amp;rsquo;t a theoretical risk, it&amp;rsquo;s a business risk. The biggest danger isn&amp;rsquo;t AI itself—it&amp;rsquo;s standing still while competitors move forward.&lt;/p>&lt;h2 id="moving-forward-a-practical-approach">Moving Forward: A Practical Approach&lt;/h2>&lt;p>The path to successful AI adoption requires balancing speed with thoughtful implementation. Here&amp;rsquo;s what works based on real-world observations:&lt;/p>&lt;h3 id="start-with-a-clear-use-case">Start with a Clear Use Case&lt;/h3>&lt;p>Instead of trying to transform everything at once, pick a specific problem where AI can show immediate value. For example:&lt;/p>&lt;ul>&lt;li>Automating test case generation for developers&lt;/li>&lt;li>Creating first drafts of marketing copy&lt;/li>&lt;li>Summarizing customer feedback themes&lt;/li>&lt;li>Generating product descriptions for e-commerce&lt;/li>&lt;li>Building automated customer support workflows&lt;/li>&lt;/ul>&lt;h3 id="make-smart-decisions-quickly">Make Smart Decisions Quickly&lt;/h3>&lt;p>When evaluating AI tools, focus on these key criteria:&lt;/p>&lt;ul>&lt;li>&lt;strong>Solves a real problem&lt;/strong> – Does this tool address an actual pain point?&lt;/li>&lt;li>&lt;strong>Fits your stack&lt;/strong> – Can it integrate smoothly without disrupting existing processes?&lt;/li>&lt;li>&lt;strong>ROI-positive&lt;/strong> – Is the cost justified by efficiency gains or revenue impact?&lt;/li>&lt;li>&lt;strong>Secure &amp;amp; compliant&lt;/strong> – Does it meet basic security and compliance requirements?&lt;/li>&lt;/ul>&lt;p>If a tool checks these four boxes, test it. If not, move on. The biggest mistake isn’t choosing the “wrong” AI tool—it’s spending months debating and choosing nothing.&lt;/p>&lt;p>This framework helps cut through analysis paralysis.&lt;/p>&lt;h3 id="scale-what-works">Scale What Works&lt;/h3>&lt;p>Success with focused pilot projects builds confidence and creates internal advocates. A single successful implementation—whether it&amp;rsquo;s cutting development time by 30% or doubling content output—provides the evidence needed to expand adoption.&lt;/p>&lt;h2 id="implementation-strategies">Implementation Strategies&lt;/h2>&lt;p>For small companies, the priority should be quick experimentation in areas where resources are stretched thin. A small marketing team might start with AI-assisted content creation, measure the impact on output and quality, then expand to other marketing functions based on results.&lt;/p>&lt;p>For enterprises, the key is creating safe spaces for innovation within governance frameworks. Some effective approaches include:&lt;/p>&lt;ul>&lt;li>Establishing fast-track approval processes for low-risk AI pilots&lt;/li>&lt;li>Creating sandboxed environments for controlled testing&lt;/li>&lt;li>Forming dedicated AI innovation teams to evaluate tools and establish best practices&lt;/li>&lt;li>Building clear guidelines for department-level AI adoption&lt;/li>&lt;/ul>&lt;p>The technology landscape will continue evolving rapidly. Forward-thinking companies are already seeing results: faster development cycles, more efficient operations, and better customer experiences. The gap between these early adopters and those waiting on the sidelines grows wider each month.&lt;/p>&lt;p>Starting small doesn&amp;rsquo;t mean moving slowly. It means being deliberate about where and how you implement AI, measuring the impact, and scaling what works. The companies that thrive will be those that find this balance between thoughtful implementation and decisive action.&lt;/p>&lt;p>&lt;strong>AI adoption isn’t a luxury—it’s now a competitive necessity.&lt;/strong>&lt;/p></description></item><item><title>A Handy GPU Glossary by Modal</title><link>https://designisinthecode.com/posts/2025-01-16-a-handy-gpu-glossary/</link><pubDate>Thu, 16 Jan 2025 10:16:47 +0100</pubDate><guid>https://designisinthecode.com/posts/2025-01-16-a-handy-gpu-glossary/</guid><description>&lt;p>If you’re exploring GPUs and their role in AI or machine learning, check out Modal&amp;rsquo;s &lt;a href="https://modal.com/gpu-glossary/readme">GPU Glossary&lt;/a>. It’s a simple, no-nonsense guide to GPU basics—great for beginners or anyone needing a quick refresher.&lt;/p>&lt;p>From CUDA cores to TensorRT, the glossary explains key terms clearly and concisely. Perfect for cutting through the noise and getting the essentials.&lt;/p>&lt;p>Take a look—it’s worth it!&lt;/p></description></item><item><title>Xcode through the years</title><link>https://designisinthecode.com/posts/2022-03-16-xcode-through-the-years/</link><pubDate>Wed, 16 Mar 2022 12:01:49 +0100</pubDate><guid>https://designisinthecode.com/posts/2022-03-16-xcode-through-the-years/</guid><description>&lt;p>Xcode has come a long way. An excellent trip down memory lane.&lt;/p></description></item><item><title>20 years of macOS</title><link>https://designisinthecode.com/posts/2021-03-25-20-years-of-mac-os/</link><pubDate>Thu, 25 Mar 2021 00:46:49 +0100</pubDate><guid>https://designisinthecode.com/posts/2021-03-25-20-years-of-mac-os/</guid><description>&lt;p>After using &lt;a href="https://en.wikipedia.org/wiki/Classic_Mac_OS">Classic Mac OS&lt;/a> at school for some time, it took me several years to return to the Mac. It was 2004, and I was happy to discover &lt;a href="https://en.wikipedia.org/wiki/Mac_OS_X_Panther">Mac OS X 10.3 Panther&lt;/a>.It was completely new and better. Been using it until today (not Panther, though) and will, for the coming years. Some behind the back usages of other OSes, but &lt;strong>let him who is without sin cast the first stone&lt;/strong>.&lt;/p></description></item><item><title>Oblivious DoH - a new DNS standard</title><link>https://designisinthecode.com/posts/2020-12-10-a-new-dns-standard/</link><pubDate>Thu, 10 Dec 2020 00:46:49 +0100</pubDate><guid>https://designisinthecode.com/posts/2020-12-10-a-new-dns-standard/</guid><description>&lt;p>Today we are announcing support for a new proposed DNS standard — co-authored by engineers from Cloudflare, Apple, and Fastly — that separates IP addresses from queries, so that no single entity can see both at the same time. Even better, we’ve made source code available, so anyone can try out ODoH, or run their own ODoH service!&lt;/p></description></item><item><title>Modern IDEs are magic. Why are so many coders still using Vim Emacs?</title><link>https://designisinthecode.com/posts/2020-11-09-modern-ide-magic-why-vim/</link><pubDate>Tue, 10 Nov 2020 01:37:28 +0100</pubDate><guid>https://designisinthecode.com/posts/2020-11-09-modern-ide-magic-why-vim/</guid><description>&lt;p>They say old habits die hard. That must be the reason why so many of my developer colleagues like using Vim (mostly) to develop these days. I must admit I never understood the why of it, but if you&amp;rsquo;re ok with it, use whatever makes you happy.&lt;/p></description></item><item><title>AWS re: Invent 2020</title><link>https://designisinthecode.com/posts/2020-11-04-aws-reinvent-2020/</link><pubDate>Wed, 04 Nov 2020 02:25:24 +0100</pubDate><guid>https://designisinthecode.com/posts/2020-11-04-aws-reinvent-2020/</guid><description>&lt;p>This year&amp;rsquo;s AWS conference, re: Invent, is a fully virtual one. If you never heard of re: Invent, it&amp;rsquo;s the conference where AWS announces what they&amp;rsquo;ve been working on, and what the competition has to catch-up with (the list is long).&lt;/p></description></item><item><title>Raspberry Pi 400</title><link>https://designisinthecode.com/posts/2020-11-02-raspberry-pi-400-personal-computer/</link><pubDate>Mon, 02 Nov 2020 14:18:08 +0100</pubDate><guid>https://designisinthecode.com/posts/2020-11-02-raspberry-pi-400-personal-computer/</guid><description>&lt;p>I&amp;rsquo;ve been waiting a long time for something like this to come along. It shouldn&amp;rsquo;t take that long for it to become available in my usual supplier.Someone&amp;rsquo;s getting one for Christmas, now that the Arduino interest is starting to pick up some steam.&lt;/p></description></item><item><title>Things Are Moving</title><link>https://designisinthecode.com/posts/2020-10-30-things-are-moving/</link><pubDate>Fri, 30 Oct 2020 01:26:53 +0100</pubDate><guid>https://designisinthecode.com/posts/2020-10-30-things-are-moving/</guid><description>&lt;p>For a while, I was trying to get back to publishing some content in this space. As things start to come together on other parts, I finally found some time to overhaul the site. After some changes, I settled with &lt;a href="https://gohugo.io/">Hugo&lt;/a>. Pretty fast, simple.&lt;/p>&lt;p>For the theme, I&amp;rsquo;ve made some modifications to the &lt;a href="https://themes.gohugo.io/hugo-kiera/">Kiera&lt;/a> theme by &lt;a href="https://github.com/funkydan2">Daniel Saunders&lt;/a>.&lt;/p>&lt;p>As you can easily see, I&amp;rsquo;ll have to check how to display links in excerpts. Soon.&lt;/p></description></item><item><title>Cello - Higher level programming in C</title><link>https://designisinthecode.com/posts/2013-05-22-cello-higher-level-programming-in-c/</link><pubDate>Wed, 22 May 2013 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2013-05-22-cello-higher-level-programming-in-c/</guid><description>&lt;blockquote>&lt;p>The high level stucture of Cello projects is inspired by Haskell, while the syntax and semantics are inspired by Python and Obj-C. Cello isn&amp;rsquo;t about Object Orientation in C, but I hope that with Cello I&amp;rsquo;ve turned C into something of a dynamic and powerful functional language which it may have once been.Although the syntax is pleasant, Cello isn&amp;rsquo;t a library for beginners. It is for C power users, as manual memory management doesn&amp;rsquo;t play nicely with many higher-order concepts. Most of all Cello is just a fun experiment to see what C would look like when Hacked to it&amp;rsquo;s limits.&lt;/p>&lt;/blockquote>&lt;p>A nice experiment taking C to a whole other level.&lt;/p></description></item><item><title>Game Dev Tycoon - Best anti Piracy move ever!</title><link>https://designisinthecode.com/posts/2013-05-01-best-anti-piracy-ever-game-dev-tycoon/</link><pubDate>Wed, 01 May 2013 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2013-05-01-best-anti-piracy-ever-game-dev-tycoon/</guid><description>&lt;p>In a move that has genious written all over &lt;a href="http://www.greenheartgames.com">Greenheart Games&lt;/a> took some measures to try and reduce piracy of their new game, &lt;a href="http://www.greenheartgames.com/app/game-dev-tycoon/">Game Dev Tycoon&lt;/a>.&lt;/p>&lt;p>It&amp;rsquo;s a shame that most guys that got the &amp;ldquo;cracked&amp;rdquo; version don&amp;rsquo;t get the irony in it.&lt;/p></description></item><item><title>Unheap - a tidy repository of jQuery plugins</title><link>https://designisinthecode.com/posts/2013-04-25-unheap-a-tidy-repository-of-jquery-plugins/</link><pubDate>Thu, 25 Apr 2013 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2013-04-25-unheap-a-tidy-repository-of-jquery-plugins/</guid><description>&lt;p>The place to go when you need a &lt;a href="http://jquery.com">jQuery&lt;/a> plugin. The beautifull great UI/UX makes it the best of it&amp;rsquo;s kind.&lt;/p></description></item><item><title>Sensus - App Enhancing Case</title><link>https://designisinthecode.com/posts/2013-04-20-sensus-app-enhancing-case/</link><pubDate>Sat, 20 Apr 2013 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2013-04-20-sensus-app-enhancing-case/</guid><description>&lt;p>After the &lt;a href="https://www.leapmotion.com">Leap Motion&lt;/a> &amp;rsquo;s here&amp;rsquo;s another device that promises a whole other level of possibilities, this time to iOS applications.&lt;/p>&lt;p>bq. &lt;a href="https://www.getsensus.com">Sensus&lt;/a> is a smartphone case that introduces touch technology to the back and right side of a protective case.&lt;/p>&lt;p>I&amp;rsquo;m patiently waiting for the end of May to see if I can get my hands in one of those. Imagine all the things you can do with it…&lt;/p></description></item><item><title>Introducing A New Article Design - The New York Times</title><link>https://designisinthecode.com/posts/2013-03-13-new-york-times-new-look/</link><pubDate>Wed, 13 Mar 2013 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2013-03-13-new-york-times-new-look/</guid><description>&lt;p>Looking good.&lt;/p></description></item><item><title>Apps Are Creating New Jobs</title><link>https://designisinthecode.com/posts/2013-03-09-apps-are-creating-new-jobs/</link><pubDate>Sat, 09 Mar 2013 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2013-03-09-apps-are-creating-new-jobs/</guid><description>&lt;p>A good read about the services revolving around specific applications in the different mobile stores, markets or whatever it is yours is called can be found &lt;a href="https://www.wsj.com/articles/SB10001424127887323864304578320861732248742">here&lt;/a>.&lt;/p></description></item><item><title>Campus Quad iPhone app</title><link>https://designisinthecode.com/posts/2013-03-09-campus-quad-iphone-app/</link><pubDate>Sat, 09 Mar 2013 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2013-03-09-campus-quad-iphone-app/</guid><description>&lt;blockquote>&lt;p>We developed a social app for a new startup called Campus Quad that lets students explore what&amp;rsquo;s happening on campus – in real time.&lt;/p>&lt;/blockquote>&lt;p>&lt;a href="http://softfacade.com">SoftFaçade&lt;/a> managed not only the create a great looking application[1] but also to create the best Case Study I&amp;rsquo;ve ever put my eyes on. Nice pretty animation that result in a timeline of the entire process.&lt;/p>&lt;p>1 - According to the screenshot on the site. The fact that it&amp;rsquo;s only for US schools stop you at the first screen.&lt;/p></description></item><item><title>Code.org | Anybody can learn</title><link>https://designisinthecode.com/posts/2013-03-09-code-org-anybody-can-learn/</link><pubDate>Sat, 09 Mar 2013 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2013-03-09-code-org-anybody-can-learn/</guid><description>&lt;blockquote>&lt;p>Every student in every school should have the opportunity to learn to code.&lt;/p>&lt;/blockquote>&lt;p>I have mixed feelings about the concept. Why not design, art, dance? I&amp;rsquo;m sure there are more important things that students should have access to before.&lt;/p></description></item><item><title>How I ended up with Mac</title><link>https://designisinthecode.com/posts/2013-03-09-miguel-de-icaza-how-i-ended-up-with-mac/</link><pubDate>Sat, 09 Mar 2013 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2013-03-09-miguel-de-icaza-how-i-ended-up-with-mac/</guid><description>&lt;blockquote>&lt;p>To me, the fragmentation of Linux as a platform, the multiple incompatible distros, and the incompatibilities across versions of the same distro were my Three Mile Island/Chernobyl.&lt;/p>&lt;/blockquote>&lt;blockquote>&lt;p>Without noticing, I stopped turning on the screen for my Linux machine during 2012. By the time I moved to a new apartment in October of 2012, I did not even bother plugging the machine back and to this date, I have yet to turn it on.&lt;/p>&lt;/blockquote>&lt;p>I believe this pretty much sums it up.&lt;/p></description></item><item><title>Twine - Listen to Your World. Talk to the Web</title><link>https://designisinthecode.com/posts/2013-03-09-twine-the-internet-of-things/</link><pubDate>Sat, 09 Mar 2013 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2013-03-09-twine-the-internet-of-things/</guid><description>&lt;p>Want!&lt;/p></description></item><item><title>Web/Mobile agencies done right</title><link>https://designisinthecode.com/posts/2013-03-09-great-web-mobile-agencies-i/</link><pubDate>Sat, 09 Mar 2013 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2013-03-09-great-web-mobile-agencies-i/</guid><description>&lt;p>Two great examples of Digital Agencies. Both case studies sections are not only a joy to look at but they also convey meaning to otherwise boring information about the UX/UI/Development processes. Be sure to check them out.&lt;/p>&lt;h3 id="engage-digital-agency">Engage Digital Agency&lt;/h3>&lt;p>&lt;a href="http://engageinteractive.co.uk">&lt;img src="https://designisinthecode.com/images/posts/engage-digital-agency.jpg" alt="Engage Digital Agency">&lt;/a>&lt;/p>&lt;h3 id="softfaçade">SoftFaçade&lt;/h3>&lt;p>&lt;a href="http://softfacade.com/work/">&lt;img src="https://designisinthecode.com/images/posts/softfacade-digital-agency.jpg" alt="SoftFaçade">&lt;/a>&lt;/p></description></item><item><title>3Doodler</title><link>https://designisinthecode.com/posts/2013-02-21-3d-doodler/</link><pubDate>Thu, 21 Feb 2013 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2013-02-21-3d-doodler/</guid><description>&lt;blockquote>&lt;p>It&amp;rsquo;s a pen that can draw in the air! 3Doodler is the 3D printing pen you can hold in your hand. Lift your imagination off the page!&lt;/p>&lt;/blockquote>&lt;p>We&amp;rsquo;re definitely living in the future!&lt;/p></description></item><item><title>Google Glasses</title><link>https://designisinthecode.com/posts/2013-02-21-google-glasses/</link><pubDate>Thu, 21 Feb 2013 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2013-02-21-google-glasses/</guid><description>&lt;p>If you needed further proof that this &lt;strong>is&lt;/strong> the future, check out &lt;a href="http://www.google.com/glass/start/">Google Glass&lt;/a>.&lt;/p></description></item><item><title>CSS PhotoEditor for new features of iOS6</title><link>https://designisinthecode.com/posts/2013-02-16-css-photo-editor-for-ios6/</link><pubDate>Sat, 16 Feb 2013 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2013-02-16-css-photo-editor-for-ios6/</guid><description>&lt;p>Awesome!&lt;/p></description></item><item><title>Why You Should Pick Your Own Boss</title><link>https://designisinthecode.com/posts/2013-02-12-why-you-should-pick-your-own-boss/</link><pubDate>Tue, 12 Feb 2013 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2013-02-12-why-you-should-pick-your-own-boss/</guid><description>&lt;blockquote>&lt;p>The simple reasons why your boss matters more than you realize are:- A good boss in a mediocre company will protect you and support you on a daily basis.- A bad boss in a good company will frustrate and demoralize you on a daily basis.&lt;/p>&lt;/blockquote>&lt;p>Great advice for those looking for a job change.&lt;/p></description></item><item><title>Technical Debt Will Kill You (If You Let It)</title><link>https://designisinthecode.com/posts/2013-02-09-technical-debt-will-kill-you/</link><pubDate>Sat, 09 Feb 2013 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2013-02-09-technical-debt-will-kill-you/</guid><description>&lt;p>A good piece of opinion about the choices made on early stages of any given project.&lt;/p></description></item><item><title>NSBackbone</title><link>https://designisinthecode.com/posts/2012-12-27-nsbackbone/</link><pubDate>Thu, 27 Dec 2012 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2012-12-27-nsbackbone/</guid><description>&lt;p>Yet another great small library. Built after &lt;a href="http://backbonejs.org/">Backbone.js&lt;/a> it eases the pain of updating the UI each time a model&amp;rsquo;s data changes.&lt;a href="https://github.com/berzniz/NSBackbone.git">Have a look&lt;/a> and be sure to read the &lt;a href="http://berzniz.com/post/38579016628/nsbackbone-porting-backbone-js-concepts-to-native-ios">blog post about it&lt;/a>.&lt;/p></description></item><item><title>Underscore.m</title><link>https://designisinthecode.com/posts/2012-12-21-underscore-m/</link><pubDate>Fri, 21 Dec 2012 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2012-12-21-underscore-m/</guid><description>&lt;p>A great library to every iOS Developer toolbox.&lt;/p>&lt;blockquote>&lt;p>Underscore.m is a small utility library to facilitate working with common data structures in Objective-C. It tries to encourage chaining by eschewing the square bracket]]]]]].It is inspired by the awesome &lt;a href="http://underscorejs.org/">underscore.js&lt;/a>.Underscore.m was written by &lt;a href="http://robb.is/">Robert Böhnke&lt;/a>, it is MIT licensed.&lt;/p>&lt;/blockquote></description></item><item><title>Why We’ll Never Stop Talking About Steve Jobs</title><link>https://designisinthecode.com/posts/2012-10-06-why-we-wont-stop-talking-about-steve-jobs/</link><pubDate>Sat, 06 Oct 2012 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2012-10-06-why-we-wont-stop-talking-about-steve-jobs/</guid><description>&lt;blockquote>&lt;p>Even when we don’t discuss Jobs directly, he is still in our conversations. If you talk about mobile anything, you’re talking about Steve Jobs. Ditto Chinese manufacturing, digital animation, user interfaces, apps, hardware design — even the stock market itself, which is now firmly dominated by Apple, the metric against which all other companies are measured. There’s not an important mainstream technology product or service out there right now that isn’t a result of or response to Steve Jobs. It’s not so much that we want to keep talking about him; it’s that there’s no avoiding it.&lt;/p>&lt;/blockquote></description></item><item><title>iOS: A visual history</title><link>https://designisinthecode.com/posts/2012-06-30-ios-a-visual-history/</link><pubDate>Sat, 30 Jun 2012 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2012-06-30-ios-a-visual-history/</guid><description>&lt;p>A great timeline of the iOS evolution throughout the years. Beautifully done.&lt;/p></description></item><item><title>Shell Apps and Silver Bullets</title><link>https://designisinthecode.com/posts/2012-05-09-shell-apps-and-silver-bullets/</link><pubDate>Wed, 09 May 2012 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2012-05-09-shell-apps-and-silver-bullets/</guid><description>&lt;p>This pretty much sums up my thoughts on the subject. Personally I like to think of it as the &lt;a href="http://en.wikipedia.org/wiki/Lowest_common_denominator">Lowest common denominator&lt;/a>.&lt;/p></description></item><item><title>Postgres.app - the easiest way to run PostgreSQL on the Mac</title><link>https://designisinthecode.com/posts/2012-04-25-postgres-app/</link><pubDate>Wed, 25 Apr 2012 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2012-04-25-postgres-app/</guid><description>&lt;p>The title says it all. It works nicely and saves the trouble of the &amp;ldquo;files everywhere&amp;rdquo; with the normal install method.&lt;/p></description></item><item><title>WWDC 2012</title><link>https://designisinthecode.com/posts/2012-04-25-wwdc-2012/</link><pubDate>Wed, 25 Apr 2012 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2012-04-25-wwdc-2012/</guid><description>&lt;p>Last year it only took 8 hours. How many hours will it be before all the tickets go away this year?&lt;/p>&lt;p>I&amp;rsquo;m guessing less than 1 hour. Let&amp;rsquo;s wait and see.&lt;/p></description></item><item><title>PHP - a fractal of bad design</title><link>https://designisinthecode.com/posts/2012-04-10-php-a-fractal-of-bad-design/</link><pubDate>Tue, 10 Apr 2012 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2012-04-10-php-a-fractal-of-bad-design/</guid><description>&lt;p>Long but worth the read.&lt;/p></description></item><item><title>Propellerhead Figure</title><link>https://designisinthecode.com/posts/2012-04-08-figure/</link><pubDate>Sun, 08 Apr 2012 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2012-04-08-figure/</guid><description>&lt;p>A really nice app for everyone, a music lover or not. Love the controls.&lt;/p>&lt;p>Get it from the &lt;a href="http://itunes.apple.com/app/figure/id511269223?ls=1&amp;mt=8">App Store&lt;/a> or check out the &lt;a href="http://www.propellerheads.se/products/figure/">app&amp;rsquo;s page&lt;/a>&lt;/p></description></item><item><title>My iPad 3/iPad HD predictions/wishlist</title><link>https://designisinthecode.com/posts/2012-03-07-ipad-3/</link><pubDate>Wed, 07 Mar 2012 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2012-03-07-ipad-3/</guid><description>&lt;p>It will be bigger, better, brighter and faster.&lt;/p>&lt;p>And my wishlist:&lt;/p>&lt;ul>&lt;li>User Accounts&lt;/li>&lt;li>Settings as a Notification Panel entry&lt;/li>&lt;li>Siri API (pretty please?)&lt;/li>&lt;/ul></description></item><item><title>Sphero</title><link>https://designisinthecode.com/posts/2012-03-07-gosphero/</link><pubDate>Wed, 07 Mar 2012 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2012-03-07-gosphero/</guid><description>&lt;p>Got my attention a long time ago and it&amp;rsquo;s out. Unfortunately only in the US for the moment, but soon, real soon, all over the world. Rolling!&lt;/p></description></item><item><title>Little Printer</title><link>https://designisinthecode.com/posts/2011-11-01-little-printer/</link><pubDate>Tue, 01 Nov 2011 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2011-11-01-little-printer/</guid><description>&lt;blockquote>&lt;p>Little Printer lives in your home, bringing you news, puzzles and gossip from friends. Use your smartphone to set up subscriptions and Little Printer will gather them together to create a timely, beautiful mini-newspaper.&lt;/p>&lt;/blockquote>&lt;p>It looks pretty cool and my turn out to be useful lots of times. I&amp;rsquo;m waiting for the price to know if one of these will be part of the furniture.&lt;/p></description></item><item><title>Thank You</title><link>https://designisinthecode.com/posts/2011-10-06-thank-you/</link><pubDate>Thu, 06 Oct 2011 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2011-10-06-thank-you/</guid><description>&lt;blockquote>&lt;p>Here’s to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the square holes.The ones who see things differently. They’re not fond of rules. And they have no respect for the status quo. You can quote them, disagree with them, glorify or vilify them. About the only thing you can’t do is ignore them. Because they change things. They invent. They imagine. They heal. They explore. They create. They inspire. They push the human race forward.Maybe they have to be crazy.How else can you stare at an empty canvas and see a work of art? Or sit in silence and hear a song that’s never been written? Or gaze at a red planet and see a laboratory on wheels?We make tools for these kinds of people.While some see them as the crazy ones, we see genius. Because the people who are crazy enough to think they can change the world, are the ones who do.&lt;/p>&lt;/blockquote></description></item><item><title>Automatic Reference Counting explained</title><link>https://designisinthecode.com/posts/2011-10-04-automatic-reference-counting-explained/</link><pubDate>Tue, 04 Oct 2011 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2011-10-04-automatic-reference-counting-explained/</guid><description>&lt;p>I&amp;rsquo;ve vaguelly &lt;a href="http://designisinthecode.com/2011/07/03/arc-tech-reference.html" title="Automatic Reference Counting">referenced it before&lt;/a> (pun intended) and last week &lt;a href="http://www.mikeash.com/" title="mikeash.com: just this guy, you know?">Mike Ash&lt;/a> finally talks about it and, as usual, explains it all. If you&amp;rsquo;re interested in learning all about Automatic Reference Counting and how things work behind the curtains, &lt;a href="http://www.mikeash.com/pyblog/friday-qa-2011-09-30-automatic-reference-counting.html" title="Friday Q&amp;A 2011-09-30: Automatic Reference Counting">give it a read&lt;/a>.&lt;/p></description></item><item><title>KIF - Square's iOS Integration Testing</title><link>https://designisinthecode.com/posts/2011-08-29-square-ios-integration-testing/</link><pubDate>Mon, 29 Aug 2011 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2011-08-29-square-ios-integration-testing/</guid><description>&lt;figure class="right"> &lt;img src="https://designisinthecode.com/images/posts/kif-square-ios-testing.png" alt="KIF - Square's iOS Integration Testing"> &lt;figcaption>KIF - Square's iOS Integration Testing&lt;/figcaption>&lt;/figure>&lt;p>If you have unit tests&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup> in your iOS apps, which you should, and want to simulate user interaction you&amp;rsquo;re surely using Instruments&amp;rsquo; UI Automation&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup> which consists of one, or more, Javascript file(s) containing those tests. Yes, it seems odd to use Javascript to perform UI tests inside an iOS application.So you have to, at least, know two different programming languages and take the time to know how to traverse your UI hierarchy, with Javascript, in order to get the correct element for each of those interactions.&lt;/p>&lt;p>All that testing should now be easier as the guys at &lt;a href="https://squareup.com/">Square&lt;/a> released KIF, the &amp;ldquo;Keep It Functional&amp;rdquo; framework. The short description:&lt;/p>&lt;blockquote>&lt;p>(&amp;hellip;) We developed KIF to meet a few goals:&lt;/p>&lt;ul>&lt;li>KIF requires minimal setup to run a test suite&lt;/li>&lt;li>KIF lets you develop your tests in the same language as the rest of your code to minimize learning and adaptation layers&lt;/li>&lt;li>KIF can be easily extended to fit your needs&lt;/li>&lt;li>KIF works in continuous integration (CI) setups&lt;/li>&lt;/ul>&lt;/blockquote>&lt;p>Read the &lt;a href="http://corner.squareup.com/2011/07/ios-integration-testing.html">post in their blog&lt;/a> and get it at &lt;a href="https://github.com/square/KIF">https://github.com/square/KIF&lt;/a>.&lt;/p>&lt;p>&lt;a href="http://twitter.com/joshaber">@joshaber&lt;/a> is porting KIF to run with MacOS applications. &lt;a href="https://github.com/joshaber/KIF">Check it out&lt;/a>.&lt;/p>&lt;div class="footnotes" role="doc-endnotes">&lt;hr>&lt;ol>&lt;li id="fn:1">&lt;p>&lt;a href="http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iphone_development/135-Unit_Testing_Applications/unit_testing_applications.html">http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iphone_development/135-Unit_Testing_Applications/unit_testing_applications.html&lt;/a>&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>&lt;/li>&lt;li id="fn:2">&lt;p>&lt;a href="http://developer.apple.com/library/ios/#documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Built-InInstruments/Built-InInstruments.html#//apple_ref/doc/uid/TP40004652-CH6-SW75">http://developer.apple.com/library/ios/#documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Built-InInstruments/Built-InInstruments.html#//apple_ref/doc/uid/TP40004652-CH6-SW75&lt;/a>&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>&lt;/li>&lt;/ol>&lt;/div></description></item><item><title>Steve Jobs resigns as Apple's CEO</title><link>https://designisinthecode.com/posts/2011-08-25-steve-jobs-resigns-as-apple-ceo/</link><pubDate>Thu, 25 Aug 2011 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2011-08-25-steve-jobs-resigns-as-apple-ceo/</guid><description>&lt;p>It&amp;rsquo;s all over the intertubes: Steve Jobs resigned from being Apple&amp;rsquo;s CEO. Tim Cook was nominated as the new CEO may mean that things will continue to run smoothly (I hope).I believe he will keep involved in the decision making at Cupertino, ate least for now. Just until the transition is complete.&lt;/p>&lt;p>Will there be any more surprise announcements soon?&lt;/p></description></item><item><title>HTML5 &amp; CSS3 - Expressive Web by Adobe</title><link>https://designisinthecode.com/posts/2011-08-09-html5-and-cs3-by-adobe/</link><pubDate>Tue, 09 Aug 2011 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2011-08-09-html5-and-cs3-by-adobe/</guid><description>&lt;p>Adobe&amp;rsquo;s showcase of the possibilities that HTML5 and CSS3 offer us. It provides information on twelve new HTML5 and CSS3 features and makes extensive use of new features such as CSS3 transitions, CSS3 transforms web storage and more to provide a visually compelling resource for learning more about HTML5 and CSS3.&lt;/p></description></item><item><title>Automatic Reference Counting</title><link>https://designisinthecode.com/posts/2011-07-03-arc-tech-reference/</link><pubDate>Sun, 03 Jul 2011 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2011-07-03-arc-tech-reference/</guid><description>&lt;p>One of the many things iOS 5 introduces is Automatic Reference Counting (ARC) that takes away most of the memory management pains and let&amp;rsquo;s the compiler deal with them.&lt;/p>&lt;p>In Apple&amp;rsquo;s &lt;a href="http://developer.apple.com/technologies/ios5/">iOS 5 for Developers&lt;/a> it goes like:&lt;/p>&lt;blockquote>&lt;p>Automatic Reference Counting (ARC) for Objective-C makes memory management the job of the compiler. By enabling ARC with the new Apple LLVM compiler, you will never need to type retain or release again, dramatically simplifying the development process, while reducing crashes and memory leaks. The compiler has a complete understanding of your objects, and releases each object the instant it is no longer used, so apps run as fast as ever, with predictable, smooth performance.&lt;/p>&lt;/blockquote>&lt;p>If you want to get to know this new approach to Objective-C&amp;rsquo;s memory management one good starting point would be, if you have a Developer account, the &lt;a href="http://developer.apple.com/">Apple Developer&lt;/a> docs and the &lt;a href="https://developer.apple.com/videos/wwdc/2011/">WWDC(World Wide Developers Conference 2011) Session Videos&lt;/a>.&lt;/p>&lt;p>You can find a complete technical specification of Automatic Reference Counting in clang llvm&amp;rsquo;s docs at &lt;a href="http://clang.llvm.org/docs/AutomaticReferenceCounting.html">Automatic Reference Counting&lt;/a>. The videos might be more to the point but this stands a must-read in order to underpin this new approach.&lt;/p></description></item><item><title>Paper.js</title><link>https://designisinthecode.com/posts/2011-06-30-paper-js/</link><pubDate>Thu, 30 Jun 2011 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2011-06-30-paper-js/</guid><description>&lt;p>Paper.js is an open source vector graphics scripting framework that runs on top of the HTML5 Canvas. It offers a clean Scene Graph / Document Object Model and a lot of powerful functionality to create and work with vector graphics and bezier curves, all neatly wrapped up in a well designed, consistent and clean programming interface.&lt;/p></description></item><item><title>Google+</title><link>https://designisinthecode.com/posts/2011-06-29-google+/</link><pubDate>Wed, 29 Jun 2011 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2011-06-29-google+/</guid><description>&lt;p>Google&amp;rsquo;s new attempt at social networks.&lt;/p>&lt;p>We&amp;rsquo;ll have to wait to see if it goes the same path as the previous ones&lt;/p></description></item><item><title>Polymaps</title><link>https://designisinthecode.com/posts/2011-06-15-polymaps/</link><pubDate>Wed, 15 Jun 2011 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2011-06-15-polymaps/</guid><description>&lt;p>Polymaps provides speedy display of multi-zoom datasets over maps, and supports a variety of visual presentations for tiled vector data, in addition to the usual cartography from OpenStreetMap, CloudMade, Bing, and other providers of image-based web maps.&lt;/p>&lt;p>Because Polymaps can load data at a full range of scales, it&amp;rsquo;s ideal for showing information from country level on down to states, cities, neighborhoods, and individual streets. Because Polymaps uses SVG to display information, you can use familiar, comfortable CSS rules to define the design of your data. And because Polymaps uses the well known spherical mercator tile format for its imagery and its data, publishing information is a snap.&lt;/p></description></item><item><title>jVectorMap</title><link>https://designisinthecode.com/posts/2011-06-14-jvectormap/</link><pubDate>Tue, 14 Jun 2011 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2011-06-14-jvectormap/</guid><description>&lt;p>jVectorMap is a jQuery plugin employed to show vector maps and visualize data on HTML pages. It uses SVG in all modern browsers like Firefox 3 or 4, Safari, Chrome, Opera, IE9, while legacy support for older versions of IE from 6 to 8 is provided with VML. Using jVectorMap is pretty simple as for any other jQuery plugin. All you need is to connect JavaScript and CSS files of the plugin&lt;/p></description></item><item><title>Evernote Peek</title><link>https://designisinthecode.com/posts/2011-06-08-evernote-peek/</link><pubDate>Wed, 08 Jun 2011 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2011-06-08-evernote-peek/</guid><description>&lt;p>Evernote Peek is a free app designed to help you study, learn and strengthen your memory. Interacting with Peek is pretty intuitive. Once you&amp;rsquo;ve connected Peek to your Evernote account and selected your study materials, you simply close the Smart Cover and peek under it to see a clue. Raise the cover further to reveal the answer. To advance to the next clue, just close the cover and repeat.&lt;/p>&lt;p>It&amp;rsquo;s totally new, and yet feels as familiar as lifting a page.&lt;/p></description></item><item><title>WWDC 2011 thoughts</title><link>https://designisinthecode.com/posts/2011-06-06-wwdc-2011-thoughts/</link><pubDate>Mon, 06 Jun 2011 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2011-06-06-wwdc-2011-thoughts/</guid><description>&lt;p>This week starts with a busy day for all geeks as &lt;a href="http://developer.apple.com/wwdc/">Apple WWDC 2011&lt;/a> and &lt;a href="http://www.e3expo.com/">E3 (E3 Expo)&lt;/a> go on at the same time! Due to time constraints I&amp;rsquo;ve only managed to watch/follow the WWDC keynote.&lt;/p>&lt;p>My list of preferences as a user/developer are described bellow. Further opinion about each of the listed features will be added soon in a separate post.&lt;/p>&lt;p>The 1500+ APIs iOS introduces mean there will be a lot to get up to speed to. From the quick reading through the documentation there are not only good additions but also long waited enhancements to existing APIs.&lt;/p>&lt;h4 id="lion">Lion&lt;/h4>&lt;ul>&lt;li>Multitouch gestures&lt;/li>&lt;li>Document versioning&lt;/li>&lt;li>AirDrop&lt;/li>&lt;li>Mail - not sure about this one. Will it replace &lt;a href="http://sparrowmailapp.com/">Sparrow&lt;/a> as my mail client? Not sure.&lt;/li>&lt;li>Full-Screen Apps&lt;/li>&lt;/ul>&lt;h4 id="ios-5">iOS 5&lt;/h4>&lt;ul>&lt;li>Notification Center - Android anyone?&lt;/li>&lt;li>Mac/PC free activation&lt;/li>&lt;li>Wireless Sync&lt;/li>&lt;li>iMessage&lt;/li>&lt;li>iCloud&lt;/li>&lt;li>Twitter integration&lt;/li>&lt;/ul>&lt;p>I&amp;rsquo;m still making my mind about iCloud.&lt;/p>&lt;p>I have yet to test the Xcode Developer Preview but there seems, again, from the documentation, to be considerable changes in the app development process. Most of them meant to facilitate the tasks at hand. I&amp;rsquo;d be happy of the only improvement was code completion and coloring. But hey, that&amp;rsquo;s me.&lt;/p>&lt;p>The fact that most of the features are under &lt;abbr title="non-disclosure agreement">NDA&lt;/abbr> doesn&amp;rsquo;t allow for further details on Xcode.&lt;/p></description></item><item><title>Welcome!</title><link>https://designisinthecode.com/posts/2011-06-01-welcome/</link><pubDate>Wed, 01 Jun 2011 00:00:00 +0000</pubDate><guid>https://designisinthecode.com/posts/2011-06-01-welcome/</guid><description>&lt;p>The title says it all! Welcome to this blog. Here you&amp;rsquo;ll find my thoughts about stuff that matters to me.&lt;/p>&lt;p>Please bear with me as I finish all the site&amp;rsquo;s remaining sections, there aren&amp;rsquo;t that many, so it won&amp;rsquo;t be long now.&lt;/p>&lt;p>&lt;strong>Join me for the ride!&lt;/strong>&lt;/p></description></item></channel></rss>