<?xml version="1.0" encoding="utf-8"?>
  <rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:georss="http://www.georss.org/georss"
    xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
  >
    <channel>
      <title>Piccalilli - Opinion topic archive</title>
      <link>https://piccalil.li/</link>
      <atom:link href="https://piccalil.li/category/opinion.xml" rel="self" type="application/rss+xml" />
      <description>We are Piccalilli. A publication dedicated to providing high quality educational content to level up your front-end skills.</description>
      <language>en-GB</language>
      <copyright>Piccalilli - Opinion topic archive 2026</copyright>
      <docs>https://www.rssboard.org/rss-specification</docs>
      <pubDate>Mon, 06 Apr 2026 23:01:54 GMT</pubDate>
      <lastBuildDate>Mon, 06 Apr 2026 23:01:54 GMT</lastBuildDate>

      
      <item>
        <title>Perfecting Baseline</title>
        <link>https://piccalil.li/blog/perfecting-baseline/?ref=opinion-category-rss-feed</link>
        <dc:creator><![CDATA[Patrick Brosset]]></dc:creator>
        <pubDate>Thu, 13 Nov 2025 11:55:00 GMT</pubDate>
        <guid isPermaLink="true">https://piccalil.li/blog/perfecting-baseline/?ref=opinion-category-rss-feed</guid>
        <description><![CDATA[<div><h2>FYI</h2>
<p>I’m the co-chair of the <a href="https://www.w3.org/community/webdx/">W3C WebDX Community Group</a>, which maintains the data and the definition that powers <a href="https://web-platform-dx.github.io/web-features/">Baseline</a>. Today, I want to take a step back and talk about what Baseline is starting to mean to web developers, what it is, and what it isn’t.</p>
<p><img src="https://piccalil.b-cdn.net/images/blog/baseline-logo.png" alt="The Baseline logo" /></p>
</div>
<p>Baseline has become hard to miss these days. There are banners at the top of most <a href="https://developer.mozilla.org/en-US/">MDN</a> reference pages and on <a href="http://caniuse.com/">caniuse.com</a>. It also shows up in various coding editors and developer tools as tooltips, and people have started to mention it in blogs, social media, or conferences. It's definitely out there!</p>
<p>After a couple of years of existence, it's fair to say that awareness of Baseline has grown pretty significantly among web developers. People seem to know about the term and have a (sometimes vague) idea about what it means.</p>
<h2>Baseline fills a gap but is also imperfect</h2>
<p>For most people, Baseline is filling a gap. To them, the term acts as a simple way to say: <em>this feature is supported across browsers</em>. Even if they don't always know which browsers are included and for how long the feature has been supported in them, the term acts as a useful shortcut that conveys a sense of stability and broad availability.</p>
<p>For some other people though, the concept can sometimes be imperfect, for a few different reasons:</p>
<ul>
<li>Baseline doesn't take all the browsers they need to support into account</li>
<li>The safest Baseline stage — <em>Baseline Widely Available</em> — doesn't cover old enough browser versions, which they still support</li>
<li>Baseline says nothing about whether a web feature comes with accessibility challenges or not</li>
<li>Baseline doesn’t tell web developers if it is OK to use a feature that’s not Baseline yet, perhaps as a progressive enhancement, or by using a <a href="https://developer.mozilla.org/en-US/docs/Glossary/Polyfill">polyfill</a></li>
</ul>
<p>Those are all fair concerns which we’re aware of on the WebDX group. In fact, we knew this from the beginning, when the Chrome team first pitched the Baseline idea to our group.</p>
<p>Indeed, the way Baseline is defined: a status of <em>not Baseline,</em> <em>Newly Available,</em> and <em>Widely Available</em> doesn’t allow us to convey all the things that developers must consider before deciding to use a feature. However, talking to web developers when the Baseline definition was first being created showed that a too nuanced status would be confusing too. The goal was to come up with a traffic light-like of status which would, in <em>most cases</em> and for <em>most people</em>, speed up the decision process.</p>
<p></p>
<h2>What, really, is Baseline?</h2>
<p>Of course, there can never be a simple traffic light-style status that summarizes all the factors that go into deciding if a web feature can be used. Baseline is inherently too simplistic and categorizes features in three buckets:</p>
<ul>
<li><strong>Not Baseline</strong>, if a feature is not yet supported on Chrome (desktop and Android), Safari (macOS and iOS), Edge, Firefox (desktop and Android)</li>
<li><strong>Baseline Newly Available</strong>, if it's supported on the above browsers</li>
<li><strong>Baseline Widely Available</strong>, if it's been supported on the above browsers for more than 2.5 years</li>
</ul>
<p>This is a proxy to availability that can't replace careful consideration of factors such as: is the feature supported on all browsers (and browser versions) your customers use? Can the feature be a progressive enhancement? Is the feature accessible? And more.</p>
<p>Baseline is one more data point in your decision matrix. And that's OK! Baseline isn't trying to replace these other factors. It’s a starting point. It helps get a quick sense of availability, and it can be perfected.</p>
<h2>A term that stuck, and an interconnected catalog of features</h2>
<p>To me, the best things that happened thanks to Baseline are:</p>
<ul>
<li>The term itself stuck. It seems to now be part of web developers’ vocabulary. I didn’t know we did, but it seems like we needed a simple way to refer to broad support, and now we have one.</li>
<li>For the first time, we now have a definitive <a href="https://github.com/web-platform-dx/web-features">list of web features</a>, at a level of granularity that makes sense to web developers. Indeed, for Baseline to exist, we first needed to create a list of all the features of the web platform. And <a href="https://www.w3.org/blog/2025/first-catalog-of-web-features-completed-by-the-webdx-community-group/">we did</a>!
Thanks to this, we now have a common catalog of features, which we can use across multiple places and be sure about what we're talking about. This allows us to <a href="https://patrickbrosset.com/slides/AC-2025/#data-connections">link web-related data together</a> in meaningful ways: features to docs, survey data, usage metrics, bug trackers, <a href="https://github.com/web-platform-tests/interop/blob/main/README.md">Interop</a>, etc.</li>
</ul>
<p><img src="https://piccalil.b-cdn.net/images/blog/baseline-mindmap.png" alt="A mind map or node diagram showing &quot;web-features&quot; in the center connected to ten related concepts: Origin trials, Specs, Interop, Standards positions, WPT, Can I Use, Can I WebView, Chrome platform status, State Of surveys, and MDN docs. The &quot;Interop&quot; node is also connected to WPT, and &quot;MDN docs&quot; is connected to browser-compat-data, which in turn is connected to Bug trackers." /></p>
<h2>Perfecting Baseline</h2>
<p>Baseline can definitely be perfected. Now that we have an initial definition, and now that adoption has grown, we can improve Baseline based on real user feedback and have even greater impact.</p>
<p>Here are some of the things the WebDX group is actively trying to improve:</p>
<h3>Accessibility</h3>
<p>If a web feature suffers from known accessibility issues, its Baseline status should take that into account. However, this requires having access to a reliable data source which, so far, has been missing.</p>
<p>We’re hoping to fill that gap by collaborating with <a href="https://lolaslab.co/">Lola Odelola</a> on the <a href="https://lolaslab.co/blog/2025/accessibility-compat-data/">Accessibility
Compat Data project</a>.</p>
<h3>Progressive enhancement, polyfills, and best practices</h3>
<p>Because a feature isn’t <em>Widely Available</em> yet doesn’t mean you can’t use it, and we definitely don’t want to delay adoptions of features. That’s why <a href="https://github.com/web-platform-dx/web-features-mappings/issues/13">we’re looking</a> at ways in which we could map the catalog of web-features to polyfills, best practices, or ways to progressively enhance them.</p>
<p>With such a mapping, we’d be able to enhance Baseline with useful information that helps developers use features earlier or more safely. But we’d also be able to let developers know when it’s safe to stop using polyfills too.</p>
<h3>Other browsers and browser versions</h3>
<p><a href="https://web-platform-dx.github.io/web-features/supported-browsers/">The list of browsers Baseline considers</a> is: Chrome (desktop and Android), Firefox (desktop and Android), Safari (macOS and iOS), and Edge. This can be too limiting for some projects, so here are a couple of things that could help:</p>
<ul>
<li><a href="https://github.com/web-platform-dx/baseline-browser-mapping/">baseline-browser-mapping</a>, which provides the list of other browsers, and their versions, which are based on the engines of the core browsers listed above. This includes Opera, Samsung Internet, KaiOS, and more. And, if you want something even simpler to use, we’re also maintaining <a href="https://github.com/web-platform-dx/browserslist-config-baseline">browserslist-config-baseline</a>, which lets you target Baseline stages via the popular browserslist tool.</li>
<li>On the WebDX group, we also have an <a href="https://github.com/web-platform-dx/web-features/blob/main/GOVERNANCE.md#owners">owners group</a>, which is tasked with re-evaluating the Baseline definition and the browsers that are taken into account. We meet at least once a year to discuss any important developments that might need to impact Baseline. So Baseline can, and will, evolve over time.</li>
<li>The <a href="https://chrome.dev/google-analytics-baseline-checker/">Google Analytics Baseline Checker</a> tool might also be interesting to you. If you use Google Analytics in your project, you can upload your analytics data to get a sense for the portion of your customer base you’d include depending on the Baseline target you choose.</li>
</ul>
<h2>So what should you do then?</h2>
<p>Baseline is a starting point, a shortcut that gets you started on decision making. Please don’t treat it as a checkbox. I suggest the following reasoning:</p>
<h3>If a feature is Baseline Widely Available</h3>
<p>Cool, it means it’s been in all major browser engines for long enough that most of the browsers your customers use probably have it already.</p>
<p>If the feature is useful to you, for example to remove a dependency on a costly JavaScript library, then you should mostly be able to use it right away.</p>
<p>It’s always a good idea, however, to check resources such as MDN for more information about detailed browser support and accessibility considerations.</p>
<h3>When a feature is Baseline Newly Available</h3>
<p>Great, it's in all the <em>latest</em> versions of major browser engines.</p>
<p>Now is a great time to be aware of that feature and the use cases it can unlock. It might help you get rid of custom or third-party libraries you will soon no longer need, or let you implement new product features you haven’t been able so far. You might even be able to start using the feature now, with the right fallbacks or polyfill for non-supporting browsers.</p>
<h3>When a feature is not Baseline (AKA Limited Availability)</h3>
<p>There are hundreds of really powerful and useful features on the web that don’t have broad browser support yet. Some of them might be very important to your projects. It would be a pitty not to learn about these newer features simply because they’re not Baseline.</p>
<p>Treating Baseline as a <strong>yes</strong> or <strong>no</strong> status can slow down adoption, and therefore also slow down developer feedback, which can help pressure browser vendors into implementing features.</p>
<p>If you can afford it, take the time to keep track of what’s coming. The <a href="https://web-platform-dx.github.io/web-features-explorer/newly-available/">Web platform features explorer</a> is another tool the WebDX community group maintains which can help get quick information about new features.</p>
<h2>Join the community group!</h2>
<p>If you want to go further and take an active part in Baseline and the data it’s based upon, you can also join the WebDX community group. The group is opened to anyone who wants to get involved, and we value any and all points of view on the topic.</p>
<p>WebDX is a group that hopes to create tools and resources that are valuable to web developers, it’s so much easier to do this when actual web developers are involved in it!</p>
<p>To join the group, go to <a href="https://www.w3.org/community/webdx/">the website</a> and click the join button!</p>
        
        ]]></description>
        
      </item>
    
      <item>
        <title>Are people’s bosses really making them use AI tools? </title>
        <link>https://piccalil.li/blog/are-peoples-bosses-really-making-them-use-ai/?ref=opinion-category-rss-feed</link>
        <dc:creator><![CDATA[Andy Bell]]></dc:creator>
        <pubDate>Thu, 28 Aug 2025 10:55:00 GMT</pubDate>
        <guid isPermaLink="true">https://piccalil.li/blog/are-peoples-bosses-really-making-them-use-ai/?ref=opinion-category-rss-feed</guid>
        <description><![CDATA[<p>This is not the usual type of content you will have come to expect from Piccalilli, but I feel like this topic, specifically, is an important aspect of our work to cover because as I see it, making or encouraging your development staff to use AI tools in their work is extremely short-sighted and risky.</p>
<p>I want to support that stance with some conversations I've had with people actually <strong>doing the work</strong> and their mostly less than favourable experiences.</p>
<p>I asked this across question social media:</p>
<blockquote>
<p>Is your boss encouraging you to/making you use AI tools for development?</p>
<p>I’m thinking about working on a piece about that on
Piccalilli.</p>
<p>It’s sensitive for sure, so more than happy for people to be anonymised.</p>
</blockquote>
<p>The reason I asked was because — as you can imagine — I speak with <em>a lot</em> of developers on a day-to-day basis. A lot of the time in my personal network, these are very experienced, senior developers, but I'm hearing the same stories from juniors too. It boils down to:</p>
<blockquote>
<p>My boss is making/encouraging me to use AI every day and during every part of my work.</p>
</blockquote>
<p>I had an urge to explore this further — making sure I wasn't in an echo chamber — and, yeh, you're probably not going to enjoy what I discovered.</p>
<h2>Before we dig in, allow me to set some ground rules and facts</h2>
<ol>
<li>If you're a fan of AI companies/tools, this article is not a personal attack on your preference</li>
<li>This article does not de-value the good stuff you might feel like you’re doing with AI</li>
<li>All participants are completely anonymised for their privacy and protection</li>
<li>I have re-worked some of the responses to assist with point 3</li>
<li>Any opinions are mine unless specified</li>
</ol>
<h2>What I learned from my conversations</h2>
<p>I've had several conversations with developers and designers working across the industry for this piece, all with varying experience levels.</p>
<p>I spoke with a developer working in the science industry who told me, "I saw your post on Bluesky about bosses encouraging AI use. Mine does but in a really weird way. We’re supposed to paste code into ChatGPT and have it make suggestions about structure, performance optimisations"</p>
<p>I pressed further and asked if overall this policy is causing problems with the PR processes.</p>
<p>In reference to their boss, "It’s mostly frustrating, because they completely externalise the review to ChatGPT. Sometimes they just paste hundreds of lines into a comment and tell the developer to check it. Especially the juniors hit problems because the code doesn’t work anymore and they have trouble debugging it."</p>
<p>“If you ask them technical questions it’s very likely you get a ChatGPT response. Not exactly what I expect from a tech lead.”</p>
<p>Immediately, I thought their boss has outsourced their role to ChatGPT, so I asked if that's the case.</p>
<p>“Sounds about right. Same with interview questions for new candidates and we can see a lot of the conversations because the company shares a single ChatGPT account.”</p>
<p>I asked for further details and they responded, “People learned to use the chats that disappear after a while.”</p>
<p>That's pretty horrifying, I've got to say. Not just some of it, but <em>all of it</em>. Maybe I'm sensitive because I am people's boss and couldn't fathom outsourcing my responsibilities to a technology that <a href="https://www.ox.ac.uk/news/2023-11-20-large-language-models-pose-risk-science-false-answers-says-oxford-study">often gets things completely wrong</a>.</p>

We can see a lot of the conversations because the company shares a single ChatGPT account

<p>Let's move on to another conversation I had with with a team lead in an agency. Something <a href="https://set.studio/">I have a lot of experience with</a>!</p>
<p>“My company is pushing AI tools across the company in branding, copywriting, design, stock photo creation and of course development. They want to be the ‘first AI agency’ and are basically telling us to get on board or you're not a fit here any longer.”</p>
<p>Pretty harrowing stuff. This isn't much of a surprise to me though so far because unfortunately, a reasonable portion of agencies will do everything to cut corners on a project to increase profits.</p>
<p>It's been that way forever and it's fundamentally why — understandably — organisations don't trust agencies. A lot of my work is <em>building</em> that trust in the sales process to counter that.</p>
<p>I asked how their agency is currently billing clients and whether it's retainers or fixed-fees.</p>
<p>“We have production clients who are on an overall fixed fee and monthly retainer clients whose contracts are set by the number of hours they want to buy.”</p>
<p>Seems like a pretty standard agency setup to me. I wanted to dig deeper on the culture though, so I asked, in reference to “<em>…telling us to get on board or you're not a fit here any longer</em>” is causing fear amongst their colleagues.</p>
<p>They responded, “I would definitely say it's causing some fear that they aren't good enough / falling behind if they aren't using it regularly.”</p>
<p>“The managers like to quote ‘AI won't replace you, but a developer using AI would’ as a way to motivate certain team members to use the tools”</p>
<p>Sounds more like a threat to me than a motivation. I asked if their managers are effectively threatening to replace people, not on board with AI and if that worries them.</p>
<p>“In a way yeah but I don't think they could directly get rid of them for that reason, more potentially make it uncomfortable so they'd leave.”</p>
<p>“It's not a great feeling to have and to be honest, I think it's a wider worry about the industry as a whole, as I feel a lot of agencies will be jumping on the AI train.”</p>
<p>“…I do worry about some of my team members and the direction of the company overall — I'm struggling to find the same motivation I had 12-18 months ago”</p>

I'm struggling to find the same motivation I had 12-18 months ago

<p>AI use and a culture of encouraging staff to use it isn't isolated to this one agency. I spoke with a designer at another agency and they said, “Yes I work at a small digital agency and we're being encouraged to use tools. Not particularly for image generation (outside of ideation or mood-boarding), but more for summaries, research and some copywriting.”</p>
<p>“I was very vocal about it at the beginning and think I managed to get a bit of a reputation for being difficult for my views,  so I've yielded a little bit on certain tools, but still [I'm] very clear about what I think is appropriate for clients and almost certainly make sure we disclose when we use it.”</p>
<p>Even though AI tools seemingly aren't directly used for the creative design output, they're being used during the creative ideation process which for me, as an agency founder is terrifying, especially with some of the non-disclosure agreements (NDAs) I've signed over the years.</p>
<p>I also can't fathom using AI for copywriting either.</p>

I was very vocal about it at the beginning and think I managed to get a bit of a reputation for being difficult for my views

<p>I also spoke with a software engineer for a huge, global retailer whose organisation is conducting a big push to leverage AI. AI has now become a requirement there. I asked if the organisation has provided correspondence that people's jobs will be at risk if they're not on board.</p>
<p>“Thankfully I have not seen any wind of it. There is a lot of discussion about how to embrace it [AI] and how we can help the next wave of engineers coming in from colleges to be ready for the transformations that will happen to the way we work.”</p>
<p>“I’m sure as the tech matures and we adopt specific tools organisation-wide, those discussions may happen. Right now we are still piloting different tools and figuring out what does and doesn’t work for the organisation.”</p>
<p></p>
<p>I asked if this was more of a pragmatic process, rather than a rushed, reactive process.</p>
<p>“I think it’s being done with a sense of urgency to embrace new technologies and how they can help us but not to the point where the average engineer would feel overly pressured or threatened by the push.”</p>
<p>“I’ve been enjoying my journey into how to leverage AI but I think for newer engineers or engineers looking to climb the ladder, like myself, it inherently adds pressure to be an earlier adopter and be one to spread knowledge early.”</p>
<p>I asked if there had been any disasters.</p>
<p>“Thankfully nothing in my area and I’m sure any team would try to keep those slip ups under wraps. I will say that in my personal experience little edge case bugs are more prevalent and no matter how careful I am and reread all code over and over I still manage to miss stuff when I don’t manually type it.”</p>
<p>“I’m pretty proud of raising solid PRs with low rates of bugs reported, but these last two sprints, I’ve had a few things slip past me due to the change of workflow. I’m sure this is something a mindful engineer won’t struggle with for long as we adjust to the new way of working.”</p>

Little edge case bugs are more prevalent

<p>Let's take a look at one more because I'm aware this article is getting <em>very long</em>. Sorry about that.</p>
<p>I had a developer reach out about AI very much being forced in their organisation.</p>
<p>“The CTO at my previous job tried Claude Code and really liked it so he said that all the devs had to use Claude Code in our work for generating code, generating tests, debugging, and validating design.”</p>
<p>“If we asked him a question on something he would tell us to ask Claude first. I never found Claude useful. It couldn't debug anything and I didn't like how carefully I'd have to comb through the code it generated to find the subtle bugs it would inject. The design validation was basically just telling us what we wanted to hear, which the CTO loved”</p>
<p>This is the thing about AI tools. They are by design going to honour your prompt, which often results in your AI tool agreeing with you, even if you're wrong.</p>
<p>I asked this person if their boss was effectively off-loading their responsibilities to AI too. I also asked about more information about design validation.</p>
<p>“He was trying to off-load responsibilities to Claude but Claude never gave us a good answer so it would just add an extra layer of back-and-forth to solving the problem.”</p>
<p>“Design validation is looking for possible performance, security, or concurrency issues in the design of our system. Claude would always have some generic answer that didn't fit our specific circumstances so it was taken as validation that our design was good”</p>
<p>Again, AI tools will validate you, <em>even if you're wrong</em>.</p>
<p>“I think the fact that Claude didn't have anything real to say about our designs was taken as validation that the design was good.”</p>
<p>“There was an assumption that if the design had an issue then Claude would catch that and say something relevant to it. I don't think he ever considered the possibility that Claude wasn't saying relevant things because it couldn't do that. It would only be able to regurgitate generic advice you find on the internet about good software design”</p>
<p>A lot of design critique is based in analytical, creative and soft skills, along with lots of experience. AI is completely incapable of doing all of that.</p>
<p><em>LLM</em> is an acronym for <em>large language model</em> and that is exactly what these tools <em>are</em> — language processing systems. So am I surprised that Claude is just regurgitating generic design advice? No.</p>
<p>These tools are incapable of <em>creating</em> and <em>analysing</em>. They are only capable of pattern matching and regurgitating what has been fed into them during the training process.</p>
<p>Remember when Google's AI summaries were <a href="https://www.bbc.co.uk/news/articles/cd11gzejgz4o">encouraging people to add glue to their pizza sauce</a>, for example? Yeh, that was a Reddit joke comment <a href="https://www.reddit.com/r/Pizza/comments/1a19s0/my_cheese_slides_off_the_pizza_too_easily/">which has now been removed</a> but it's a good example of AI regurgitating what it has learned without to capability of determining the fact that comment was a <em>joke</em>.</p>
<p>Regurgitating, not creating. It's what these tools do.</p>
<h2>Some advice for navigating all of this</h2>
<p>I'd say my overarching advice, based on how difficult tech recruitment is right now, is to sadly <em>play along</em>. But — and I cannot stress this enough — make sure you <strong>document everything</strong>.</p>
<p>What I mean by that is <strong>every single time</strong> AI tools cause problems, slow-downs and other disappointing outcomes, document that outcome and who was responsible for that decision. Make sure you document your opposition and professional advice too.</p>
<p>In fact, away from AI, I'd recommend documenting this stuff in general. It'll be vital if you ever find yourself in a disciplinary and/or tribunal situation. You don't know where the code your tool spat out <em>came from</em> either. Documenting <em>who is responsible</em> helps to protect you, individually, if litigation is raised against your organisation. If it is not your decision to use these tools, <strong>make that known</strong>, officially.</p>
<p>It's quite clear we're in a bubble with AI, or at best, a hype cycle. For example <a href="https://fortune.com/2025/08/18/mit-report-95-percent-generative-ai-pilots-at-companies-failing-cfo/">95% of generative AI pilots failed in a recent report from MIT</a> and even when <a href="https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/">developers thought AI was making them faster, it was actually making them slower in another study</a>.</p>
<p><a href="https://www.cnbc.com/2025/08/04/openai-chatgpt-700-million-users.html">Billions are being poured into this technology</a> but big tech companies — the so-called "magnificent 7" (cringe) — can afford those losses, generally. <a href="https://bsky.app/profile/ericwbailey.website/post/3lxf4ujam5s2o">Ethics from decision makers are clearly not even a factor any more in these organisations too</a>.</p>
<p>My worry is that — as always — workers will be the ones to suffer as the bubble/hype cycle bursts. What I'm directly advising you to do is <strong>protect your interests right now</strong>.</p>
<p><a href="https://ethanmarcotte.com/books/you-deserve-a-tech-union/"><strong>Unionise</strong></a>.</p>
<h2>Wrapping up</h2>
<p>To everyone who I spoke to and haven't featured in this article, I'm sorry for excluding your input. This article is <em>very long</em> already. Just know, the conversation we had was incredibly useful in producing this article and I really enjoyed talking to you. Thank you.</p>
<p>This article has been really hard to write, I'm not going to lie. I really enjoyed my conversations but quietly, I was hoping I was wrong with my theory that AI tools were being forced, rather than being used on merit.</p>
<p>It's so typical of the tech industry to jump on a shiny new thing, completely forgetting how much harm it causes, such as <a href="https://web.archive.org/web/20250827031206/https://www.courthousenews.com/wp-content/uploads/2025/08/raine-vs-openai-et-al-complaint.pdf">ChatGPT teaching someone how to more effectively commit suicide</a> (<em>extreme</em> content warning on that link). Let's not forget how much content was stolen in the first place — and continues to be "scraped" — to train models too. <a href="https://www.americanbar.org/groups/business_law/resources/business-law-today/2025-february/openai-sued-data-scraping-canada/">Legal cases have rightly been raised</a>.</p>
<p>I would say I'm very much an AI-sceptic. That's not a position from refusing to try AI tools though. <a href="https://piccalil.li/blog/how-im-using-ai/">We've tried these tools for quite a while</a> and after that extended period, found them to be more often than not, a complete hindrance, albeit quite useful in certain contexts. Your mileage may vary though! <a href="https://piccalil.li/blog/our-principles-on-ai/">We know our position</a> and that's what's important to us.</p>
<p>Regardless of your opinion of AI, forcing the usage of it is almost certainly going to end in disaster. Just be prepared for that disaster and protect yourself is my overall advice.</p>
        
        ]]></description>
        
      </item>
    
      <item>
        <title>Our principles on AI </title>
        <link>https://piccalil.li/blog/our-principles-on-ai/?ref=opinion-category-rss-feed</link>
        <dc:creator><![CDATA[Andy Bell]]></dc:creator>
        <pubDate>Mon, 18 Aug 2025 10:55:00 GMT</pubDate>
        <guid isPermaLink="true">https://piccalil.li/blog/our-principles-on-ai/?ref=opinion-category-rss-feed</guid>
        <description><![CDATA[<p>I want to make Piccalilli's position absolutely clear on LLMs and generative AI. I'll keep this extremely short because our feeds are already <em>dominated</em> by AI discourse.</p>
<p>I just think it's important for you, the reader, to understand our position. This article serves as a canonical reference to our position ongoing.</p>
<h2>Where we stand: our principles</h2>
<ol>
<li>We will never publish AI-generated content, be it words, code, video, audio and images</li>
<li>We won't boost content that we suspect has been wholly, or partially generated by AI</li>
<li>Content submitted by guest authors that is wholly or partially generated by AI will be immediately rejected</li>
</ol>
<p></p>
<h2>Humans writing for humans, always</h2>
<p>That's what we do and what we will always do. We're not going to "optimise" for LLMs and crawlers. We'll continue to do everything to optimise for humans instead like <a href="https://piccalil.li/blog/a-new-article-layout-and-better-options-for-advertisers/">hyper-focusing on the reading experience</a>.</p>
<p>Let's be honest, AI-generated content generally reads like complete trash and is a disservice to human readers. It would be offensive of us to subject readers to content of such poor quality. Surely they'd rather <a href="https://claytonwramsey.com/blog/prompt/">just read the prompt</a>!</p>
<p>We would <strong>never</strong> accept plagiarised and stolen work, regurgitated by a word shuffler on our publication that we invest <em>so much</em> into making great, either.</p>
<p>You can count on Piccalilli, as always, not to jump on the bandwagon and instead, take a pragmatic, measured approach. We've done that, we've tried AI tools — to assist with development on <a href="https://set.studio/">real world agency projects</a> — and after all of that time and effort, our opinion is these tools are quite useful for <em>some</em> stuff but generally over-hyped, wasteful and were often responsible for a low quality output that we ended up throwing out.</p>
<p>That outcome doesn't come even <em>close</em> to the standards we hold here, so you can trust Piccalilli to continue to be focused on you, the <em>human</em> reader, and extremely high quality content, always.</p>
        
        ]]></description>
        
      </item>
    
      <item>
        <title>Technologies and frameworks we use in our design studio</title>
        <link>https://piccalil.li/blog/technologies-and-frameworks-we-use-in-our-design-studio/?ref=opinion-category-rss-feed</link>
        <dc:creator><![CDATA[Andy Bell]]></dc:creator>
        <pubDate>Mon, 13 Jan 2025 11:55:00 GMT</pubDate>
        <guid isPermaLink="true">https://piccalil.li/blog/technologies-and-frameworks-we-use-in-our-design-studio/?ref=opinion-category-rss-feed</guid>
        <description><![CDATA[<p>Before we get started, I can’t stress the following enough: the choices <em>we</em> make at <a href="https://set.studio/">Set Studio</a> don’t challenge <em>your</em> choices. You might also not agree with our choices and <em>that’s fine</em>, but we don’t need alternatives evangelising to us. To paraphrase <a href="https://rachelandrew.co.uk/">Rachel Andrew</a>:</p>
<blockquote>
<p>If it works, it’s right</p>
</blockquote>
<p>I do, however, get asked <em>a lot</em> about what technologies and frameworks we use at the studio, so I thought I’d note them down. This information is accurate as of January 2025.</p>
<h2>HTML, CSS and JavaScript</h2>
<p>Sounds obvious, but even though we’re a design studio, our output — more often than not — is web-based, so we deliver HTML, CSS and JavaScript that is progressively enhanced, performant, and as user-optimised as possible, limited by the challenges of a project.</p>
<p>Regardless of what tools, frameworks and technologies we choose to use — or <em>have</em> to use — we always prioritise the end-user getting semantic HTML, flexible CSS and progressively enhanced JavaScript.</p>
<h2>JSX-orientated libraries and frameworks</h2>
<p>“JSX?!” I hear you scream or “don’t you <em>hate</em> React, Andy?!”. I <a href="https://bell.bz/i-dont-hate-it-though/">don’t <em>hate</em> anything</a> when it comes to code. I do prefer as little <a href="https://react.dev/">React</a> as possible landing in the browser for the user which frameworks like <a href="https://astro.build/">Astro</a> do a great job of with their <a href="https://docs.astro.build/en/concepts/islands/">islands architecture</a>. This allows us to only send client-side React when it is absolutely needed, rather than by default. This is also why we always try to use Astro instead of <a href="https://nextjs.org/">Next.js</a>, because the output bundles are a fraction of the size of the other when we use Astro.</p>
<p>We also find JSX to be a <em>really</em> powerful component/template option and <em>boy</em> have we tried the alternatives. Vue is great, and so are Nunjucks, Handlebars, Twig and even good old PHP. Nothing has been more efficient, powerful and easy to maintain than JSX in <em>our</em> experience. We’ve also used TypeScript in this environment with mixed results. Piccalilli itself is built with TypeScript, Astro and JSX, via React. We’re finding TypeScript less useful than it is annoying a lot of the time recently (aside from our course system), so we’re looking at alternative routes for that.</p>
<p>I’m trying to not specifically link JSX to a particular library or framework because we’ve used it with Astro templates, React and in my case <a href="https://www.11ty.dev/">Eleventy</a>. That’s what I personally like about JSX: it’s portable as hell as much as it is polarising as hell.</p>
<h2>Web components</h2>
<p>Admittedly we’re quite split on web components internally and even though I’ve long been a fan — even <a href="https://web.archive.org/web/20210226215900/https://webcomponents.club/">building a site back in 2018 that logged my learning</a> (don’t go to the current live site because I no longer own the domain 😬) — we do find them a bit of a faff to work with on large projects. It doesn’t mean we don’t believe in web components, but we’ve certainly felt pain when lots of web components are doing lots of related state and interactivity on large projects. That’s likely a skill issue though because web component-based design systems like <a href="https://nordhealth.design/components/">Nord</a> look like a dream to work with.</p>
<p>I do want us to spend time to work out how we can work more with web components because they’re a web standard. I like the idea of libraries like <a href="https://stenciljs.com/">Stencil</a> helping us with components, along with an option for global state. If we can find the sweet spot, that can only improve our output as an agency.</p>
<h2>Static site generators (SSG)</h2>
<p>I’m especially an <a href="https://learneleventyfromscratch.com/">Eleventy super fan</a> and we’ve had some great successes using it for both client projects, along with internal projects like <a href="https://buildexcellentwebsit.es/"><em>Build Excellent Websites</em></a> and <a href="https://viewports.fyi/"><em>The ideal viewport doesn’t exist</em></a>. Heck, the custom pattern library we use to write CSS patterns in my CSS course — <a href="https://piccalil.li/complete-css/"><em>Complete CSS</em></a> — is built with Eleventy.</p>
<p>Our stance on static site generators like Eleventy is they’re really useful for websites that only deliver content. As the complexity of a project goes beyond a website that only delivers content, it tends to get more problematic in <em>our experience</em>. The reason Piccalilli is built using Astro is because we needed a hybrid of SSG and server-side rendering (SSR) or it would almost certainly be on Eleventy as it has been for many years before <a href="https://piccalil.li/blog/redesigning-piccalilli-the-first-part-of-the-design-process/">last year’s redesign</a> and <a href="https://piccalil.li/blog/the-path-to-becoming-a-publisher/">replatforming</a>.</p>
<h2>Tailwind CSS, composable layouts and CUBE CSS</h2>
<div><h2>FYI</h2> 
<p>I feel like this one needs a massive “please listen to what I say vs what you’ve heard my opinion is” because I’m often labelled as a <a href="https://bell.bz/i-dont-hate-it-though/">“Tailwind hater”</a>.</p>
</div>
<p>What I don’t like about <a href="https://tailwindcss.com/docs/installation">Tailwind</a> is the nonsensical marketing statements such as:</p>
<blockquote>
<p>“Best practices” don’t actually work.</p>
</blockquote>
<p>Of course best practices work. That’s why they’re called best practices!</p>
<p>Aside from that nonsense, we find <a href="https://bell.bz/i-used-tailwind-for-the-u-in-cube-css-and-i-liked-it/">Tailwind to be <em>very</em> useful as a utility class generator</a> and <em>only</em> that. It generates utility classes on demand which I like a lot. I also like being able to plug in some JSON design tokens (with admittedly a bit of faffing around) and generating utility classes based on those. We use those utilities as part of the <a href="https://cube.fyi/">CUBE CSS methodology</a>, in the lightest way possible.</p>
<p>CUBE CSS is the one constant in <strong>every project we work on</strong>. That’s because CUBE CSS is the result of <em>years</em> of me working on, and consulting on both enormous, complex user interfaces / design systems and small, simple websites. It works perfectly well at both ends of the complexity scale and we’re all very fluent in it, in the studio.</p>
<p>For composable layouts, we use <a href="https://every-layout.dev/">Every Layout</a> (which I co-authored). Again, it’s built out of the combined, years of experience of <a href="https://heydonworks.com/">Heydon</a> and I, and it Just Works™. In fact, we barely have to even think about layout on most projects, thanks to Every Layout.</p>
<h2>Wrapping up with our preferred “stack” today</h2>
<ul>
<li>Semantic HTML</li>
<li>CUBE CSS</li>
<li>Astro</li>
<li>JSX (often React)</li>
<li>Storybook</li>
</ul>
<p>I hope this insight is useful and for you and future folks asking about what we use at <a href="https://set.studio/">Set Studio</a>. We have our preferences but because our ultimate focus is on HTML, CSS and JavaScript, we will happily work in most other technologies <em>as long</em> as those technologies don’t negatively affect the end-user experience.</p>
<p>If you like the look of our choices and reasons for those, we still have some availability for 2025, so <a href="https://set.studio/">check out our website</a> and <a href="https://set.studio/contact-us/">get in touch</a><strong>.</strong></p>
        
        ]]></description>
        
      </item>
    
      <item>
        <title>“Secure Custom Fields” is not Advanced Custom Fields</title>
        <link>https://piccalil.li/blog/secure-custom-fields-is-not-advanced-custom-fields/?ref=opinion-category-rss-feed</link>
        <dc:creator><![CDATA[Andy Bell]]></dc:creator>
        <pubDate>Mon, 14 Oct 2024 00:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://piccalil.li/blog/secure-custom-fields-is-not-advanced-custom-fields/?ref=opinion-category-rss-feed</guid>
        <description><![CDATA[<div><h2>FYI</h2>
<p>A break from our usual type of article here but it is very important we do because WordPress powers nearly half of the web.</p>
</div>
<p>You may or may not be aware of the situation unfolding with <em>Automattic</em> and their CEO <em>Matt Mullenweg</em> against WP Engine. I recommend <a href="https://techcrunch.com/2024/10/10/wordpress-vs-wp-engine-drama-explained/">reading the following to get up to speed</a>.</p>
<p>We’re not in the business of adding opinion to that, but I feel the need to write this because Piccalilli has such a vast reach and I’m genuinely concerned about the security of WordPress-powered websites.</p>
<p>As part of Matt’s <a href="https://bullenweg.com/">increasing irresponsible and irrational behaviour</a>, WordPress took over the <em>extremely</em> popular plugin, <a href="https://www.advancedcustomfields.com/"><em>Advanced Custom Fields</em> (ACF)</a>, renaming it <a href="https://wordpress.org/plugins/advanced-custom-fields/">“Secure Custom Fields” (SCF)</a>. With it, they stole years of reputation, good reviews and most importantly, <em>trust</em> from ACF.</p>
<p>If you update ACF via your wp-admin dashboard, <strong>it will be replaced with SCF</strong>. SCF does not have the ACF team behind it, so <strong>updating to SDF will potentially put your website at risk</strong>. It’s also important to note that this affects users of the <strong>free ACF plugin, not paid users who already get updates direct from ACF</strong>.</p>
<p>Thankfully, ACF are on top of this and have <a href="https://www.advancedcustomfields.com/blog/acf-plugin-no-longer-available-on-wordpress-org/"><strong>published an article explaining what you need to do</strong></a> if you are affected by these events. If you have already updated to SCF, you can reverse that with ACF’s published advice too.</p>
<p>I’ve long been a fan of WordPress and probably will continue to be. I want this situation resolved, but I fear we are beyond that being possible unless there are <strong>huge</strong> changes at the most senior level of WordPress — especially the open source project. My advice is to be aware of what’s going on and keep an extra keen eye on your WordPress projects.</p>
<p>To those whose businesses rely on WordPress, all I can do is send my deepest sympathies. You’re going through a tough time right now. My advice to you is to frequently keep your clients in the loop with what’s happening and your response to these extremely turbulent times. All the best to you, too!</p>
        
        ]]></description>
        
      </item>
    
    </channel>
  </rss>
