{"id":51102,"date":"2026-02-28T15:31:36","date_gmt":"2026-02-28T20:31:36","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=51102"},"modified":"2026-03-04T11:29:19","modified_gmt":"2026-03-04T16:29:19","slug":"flickrs-url-scheme","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2026\/02\/28\/flickrs-url-scheme\/","title":{"rendered":"Flickr&rsquo;s URL Scheme"},"content":{"rendered":"<p><a href=\"https:\/\/unsung.aresluna.org\/unsung-heroes-flickrs-urls-scheme\/\">Marcin Wichary<\/a> (<a href=\"https:\/\/news.ycombinator.com\/item?id=47100714\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"https:\/\/unsung.aresluna.org\/unsung-heroes-flickrs-urls-scheme\/\">\n<p>Half of my education in URLs as user interface came from Flickr in the late 2000s.<\/p>\n<p>[&#8230;]<\/p>\n<p>This was incredible and a breath of fresh air. No redundant <code>www.<\/code> in front or awkward <code>.php<\/code> at the end. No parameters with their unpleasant <code>?&amp;=<\/code> syntax. No <code>%<\/code> signs partying with hex codes. When you shared these URLs with others, you didn&rsquo;t have to retouch or delete anything. When Chrome&rsquo;s address bar started autocompleting them, you knew exactly where you were going.<\/p>\n<p>[&#8230;]<\/p>\n<p>It was a beautiful and predictable scheme. Once you knew how it worked, you could <em>guess<\/em> other URLs. If I were typing an email or authoring a blog post and I happened to have a link to your photo in Flickr, I could also easily include a link to your Flickr homepage just by editing the URL, without having to jump back to the browser to verify.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/pxlnv.com\/linklog\/flickr-url-scheme\/\">Nick Heer<\/a>:<\/p>\n<blockquote cite=\"https:\/\/pxlnv.com\/linklog\/flickr-url-scheme\/\">\n<p>It is the kind of logical directory-style scheme I wish I would see in library-based desktop applications, too. I still have copies of my libraries for Aperture and iPhoto on the same Mac as I use for Photos. Each of those has a pretty understandable structure within the library package: the most substantial part is a &ldquo;Masters&rdquo; folder containing a year, month, day, and then project folder hierarchy; among others, there is also a &ldquo;Database&rdquo; folder with nondestructive edit operations, though that becomes less intelligible structure if you drill down to the project level.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/unsung.aresluna.org\/mailbag-urls-as-ui\/\">Marcin Wichary<\/a>:<\/p>\n<blockquote cite=\"https:\/\/unsung.aresluna.org\/mailbag-urls-as-ui\/\">\n<p>My <a href=\"https:\/\/unsung.aresluna.org\/unsung-heroes-flickrs-urls-scheme\/\">post about Flickr URLs<\/a> gathered some interesting responses (especially <a href=\"https:\/\/mastodon.online\/@mwichary\/116077721519930917\">on Mastodon<\/a>, thank you all!), so I thought I&rsquo;d do what podcasts call a &ldquo;mailbag episode&rdquo;!<\/p>\n<p>[&#8230;]<\/p>\n<p>Both <a href=\"https:\/\/mastodon.online\/@everyplace@mastodon.social\/116077764280668887\">Erin Sparling<\/a> and <a href=\"https:\/\/mastodon.online\/@nelson@tech.lgbt\/116081151016740373\">Nelson Miner<\/a> highlighted how much the craft of Flickr URLs related to the craft of its API:<\/p>\n<blockquote><p>Literally used to talk about how good this URL scheme was in class, it was so informative. The Flickr API still informs everything I do these days, URLs included.<\/p><\/blockquote>\n<\/blockquote>\n\n<p><a href=\"https:\/\/news.ycombinator.com\/item?id=47134407\">steerpike<\/a>:<\/p>\n<blockquote cite=\"https:\/\/news.ycombinator.com\/item?id=47134407\">\n<p>Flickr deserves a lot of praise for a number of technical advances that I wish had seen wider adoption. Their API was one of the first and honestly still one of the most enjoyable to actually use as a developer. It&rsquo;s still full of incredibly interesting API calls that you wouldn&rsquo;t expect from it unless you read carefully. Did you know, for example, that flickr API will provide you with the bounding box co-ordinates of different types of places? From a neighbourhood all the way up to a continent?<\/p>\n<\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2026\/02\/03\/the-fallen-apple\/\">The Fallen Apple<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/07\/23\/google-breaking-url-shortener-links\/\">Google Breaking URL Shortener Links<\/a><\/li>\n<\/ul>\n\n<p id=\"flickrs-url-scheme-update-2026-03-04\">Update (<a href=\"#flickrs-url-scheme-update-2026-03-04\">2026-03-04<\/a>): <a href=\"https:\/\/mastodon.social\/@jaanus@iosdev.space\/116171196742488543\">Jaanus Kase<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@jaanus@iosdev.space\/116171196742488543\">\n<p>Flickr&rsquo;s web embeds were still working 15 years after I created them<\/p>\n<p>Very unusual to have longevity for anything at all these days<\/p>\n<p>Flickr deserves praise for being a good Internet citizen<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Marcin Wichary (Hacker News): Half of my education in URLs as user interface came from Flickr in the late 2000s. [&#8230;] This was incredible and a breath of fresh air. No redundant www. in front or awkward .php at the end. No parameters with their unpleasant ?&amp;= syntax. No % signs partying with hex codes. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2026-02-28T20:31:41Z","apple_news_api_id":"8bb49696-8492-4a36-a86f-9b26f91da3f8","apple_news_api_modified_at":"2026-03-04T16:29:28Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAA==","apple_news_api_share_url":"https:\/\/apple.news\/Ai7SWloSSSjaob5sm-R2j-A","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[77,116,489,96,50],"class_list":["post-51102","post","type-post","status-publish","format-standard","hentry","category-technology","tag-design","tag-flickr","tag-url","tag-web","tag-webapi"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/51102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=51102"}],"version-history":[{"count":2,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/51102\/revisions"}],"predecessor-version":[{"id":51151,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/51102\/revisions\/51151"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=51102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=51102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=51102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}