Simon Willison’s Weblog


14 items tagged “jeremy-keith”


In their rush to cram in “AI” “features”, it seems to me that many companies don’t actually understand why people use their products. [...] Trust is a precious commodity. It takes a long time to build trust. It takes a short time to destroy it.

Jeremy Keith

# 29th May 2024, 11:06 am / jeremy-keith, ai

My approach to HTML web components. Some neat patterns here from Jeremy Keith, who is using Web Components extensively for progressive enhancement of existing markup.

The reactivity you get with full-on frameworks [like React and Vue] isn’t something that web components offer. But I do think web components can replace jQuery and other approaches to scripting the DOM.

Jeremy likes naming components with their element as a prefix (since all element names must contain at least one hyphen), and suggests building components under the single responsibility principle - so you can do things like <button-confirm><button-clipboard><button>....

Jeremy configure buttons with data- attributes and has them communicate with each other using custom events.

Something I hadn't realized is that since the connectedCallback function on a custom element is fired any time that element is attached to a page you can fetch() and then insertHTML content that includes elements and know that they will initialize themselves without needing any extra logic - great for the kind of pattern encourages by systems such as HTMX.

# 30th April 2024, 11:02 am / javascript, jeremy-keith, progressiveenhancement, webcomponents


Supporting logical properties. A frustrating reminder from Jeremy Keith that Safari is not an evergreen browser: older iOS devices (1st gen iPad Air for example) get stuck on the last iOS version that supports them, which also sticks them with an old version of Safari, which means they will never get support for newer CSS properties such as inline-start and block-end. Jeremy shows how to use the @supports rule to hide this new syntax from those older browsers.

# 1st October 2022, 1:03 am / css, jeremy-keith, safari, web-standards, ios


Going Postel. Jeremy points out that one of the many disadvantages of publishing JavaScript dependent content on the Web is that a single typo can render your entire site unusable.

# 9th February 2011, 2:18 am / ajax, jeremy-keith, urls, recovered, gawker, hashbanghell


You can buy an iPod nano on Apple, Best Buy, etc. for about $149. Amazon sells it for $134. That’s probably cost price. It turns out that Amazon can sell almost everything at cost price and still make a product because of volume. It’s all down to the Negative Operating Cycle. Amazon turns over its inventory every 20 days whereas Best Buy takes 74 days. Standard retail term payments take 45 days. So Best Buy is in debt between day 45 and day 74. Amazon, on the other hand, are sitting on cash between day 20 and day 45. In that time, they can invest that money. That’s where their profit comes from.

Jared Spool, via Jeremy Keith

# 22nd June 2009, 5:13 pm / amazon, aneventapart, bestbuy, investing, jared-spool, jeremy-keith

Revving up. Jeremy Keith advocates adding the revcanonical attribute to regular A elements as well as / instead of hiding it in the head of the document, following the microformats design principle that invisible metadata is less valuable than augmenting visible links. I’ve updated my shorten bookmarklet to handle this case.

# 12th April 2009, 12:29 pm / jeremy-keith, metadata, microformats, revcanonical

Antipatterns for sale. Twply collected over 800 Twitter usernames and passwords (OAuth can’t arrive soon enough) and was promptly auctioned off on SitePoint to the highest bidder.

# 2nd January 2009, 10:48 am / jeremy-keith, oauth, passwordantipattern, passwords, security, sitepoint, twitter


Broken. Jeremy highlights the fly in the ointment: if you want IE 8 to behave like IE 8 (and not pretend to be IE 7), you HAVE to include the X-UA-Compatible header.

# 22nd January 2008, 6:42 pm / ie8, jeremy-keith, web-standards, xuacompatible


Hacky holidays on OS X. Jeremy Keith documents how to get PHP 5 and Apache 2 virtual hosts running on Leopard.

# 29th December 2007, 11:49 am / apache, apache2, jeremy-keith, leopard, osx, php, php5, virtualhosts

Ignorance and inspiration. I’m pretty gobsmacked at the levels of ignorance about web accessibility out there—it’s not that hard people! I’m obviously more out of touch with mainstream developers than I thought; I was under the impression that people had generally got the message.

# 15th October 2007, 10:47 pm / accessibility, ignorance, jeremy-keith

The password anti-pattern. What I don’t understand is why Google / Yahoo! / other webmail providers haven’t just deployed a simple OAuth-style API for accessing the address book. Sites have been scraping them for years anyway; surely it’s better to offer an official API than continue to see users hand out their passwords?

# 12th October 2007, 9:25 am / gmail, google, jeremy-keith, oauth, passwords, phishing, yahoo

Microformats in Google Maps (via) No doubt thanks to the influence of Kevin Marks.

# 31st July 2007, 11:36 pm / google, google-maps, jeremy-keith, kevinmarks, microformats

The sliding scale. Jeremy’s write-up of my panel at the Web 2.0 Expo, with illustrative photograph.

# 25th April 2007, 7:09 pm / ajax, javascript, jeremy-keith, speaking, web2expo

The website to web application gradient. Jeremy snapped this cunning illustration at my JavaScript Libraries panel at the Web 2.0 Expo.

# 20th April 2007, 12:30 am / alex-russell, brettaylor, dojo, flickr, gwt, javascript, jeremy-keith, john-resig, jquery, matt-sweeney, web2expo, web2expo07, yui