I’ve been working on this for a while, but let’s make it official: I started a little Tumblr-like microblog about software craft and quality!
-
In which I celebrate the craft of Flickr’s original, amazing URL scheme: https://unsung.aresluna.org/unsung-heroes-flickrs-urls-scheme/
@mwichary True to that. Reminds me I always wondered why no API documentation existed on Dropbox/Google Drive/Nextcloud URL’s. I had to reverse engineer them. Apparently API's should be REST…
-
In which I celebrate the craft of Flickr’s original, amazing URL scheme: https://unsung.aresluna.org/unsung-heroes-flickrs-urls-scheme/
@mwichary It makes me happy to see that others care about URL.
-
@Ember Yeah, I agree that part is a bit muddy where every scheme has pros and cons. This one seems to indicate there is more hierarchy than there actually is…
-
@mwichary Regarding the note about adding a human friendly slug to the end of a URL, do you have a thought or preference to putting that part before the unique id?
flickr.com/mwichary/sets/alishan-forest-railway-72177720330077904
On an app I run I went with that style so the all the human readable bits could be typed and autocompleted. It does seem to be a little harder to read since it’s in the middle of the text though.
For example: https://app.mythic.nz/book/public-storybooks/sharable-public-storybooks/v4dUmg8Jjk6LmQYQlqy6Pw
`public-storybooks` is the collection slug, and `sharable-public-storybooks` is the page title slug.
@mez Good question. I don’t know! I naturally put it at the front but that might be because I only saw it that way. Interesting point about autocomplete!
-
In which I celebrate the craft of Flickr’s original, amazing URL scheme: https://unsung.aresluna.org/unsung-heroes-flickrs-urls-scheme/
@mwichary The idea of URLs as user interface elements is such a good take. I've seen some people use URLs as design/communications elements as well, like Jessica Hische:
https://www.jessicahische.is/thinkingthoughts
https://www.jessicahische.is/working
https://jessicahische.is/anoversharer
I love that approach. Modern browsers and preview cards often obscure URLs, but people still see these things; printed materials, links in emails, etc.
-
In which I celebrate the craft of Flickr’s original, amazing URL scheme: https://unsung.aresluna.org/unsung-heroes-flickrs-urls-scheme/
@mwichary this clean URI scheme is also why
FlickrClient.pycould support 68 methods of the Flickr API in just 48 lines of code. The core magic:def __getattr__(self, method):
def method(_self=self, _method=method, **params):
_method = _method.replace("_", ".")
url = HOST + PATH + "?method=%s&%s&api_key=%s" %
(_method, urlencode(params), self.api_key)
try: rsp = xmltramp.load(url)
except: return None
return _self._parseResponse(rsp) -
In which I celebrate the craft of Flickr’s original, amazing URL scheme: https://unsung.aresluna.org/unsung-heroes-flickrs-urls-scheme/
@mwichary Much agreement!
There is plenty of prior art, some examples that I particularly remember:
- 2010: https://warpspire.com/posts/url-design/
- 2017: https://www.hanselman.com/blog/urls-are-ui
- 2018: https://alexpounds.com/blog/2018/12/29/four-cool-urls -
@mwichary Much agreement!
There is plenty of prior art, some examples that I particularly remember:
- 2010: https://warpspire.com/posts/url-design/
- 2017: https://www.hanselman.com/blog/urls-are-ui
- 2018: https://alexpounds.com/blog/2018/12/29/four-cool-urls@polarbirke Thanks for sharing!
-
In which I celebrate the craft of Flickr’s original, amazing URL scheme: https://unsung.aresluna.org/unsung-heroes-flickrs-urls-scheme/
@mwichary I love the Flickr url pattern. You could not find a collections link with knowing the pattern.
I am fine with the unique id as shorter url. Also knowing where it is in a downloaded photo allows the secret url trick to find the original page https://cogdogblog.com/2015/10/flickr-trickr/
-
@mwichary I love the Flickr url pattern. You could not find a collections link with knowing the pattern.
I am fine with the unique id as shorter url. Also knowing where it is in a downloaded photo allows the secret url trick to find the original page https://cogdogblog.com/2015/10/flickr-trickr/
@cogdog Whoa! This would’ve saved me so much trouble throughout the years.
-
In which I celebrate the craft of Flickr’s original, amazing URL scheme: https://unsung.aresluna.org/unsung-heroes-flickrs-urls-scheme/
@mwichary fwiw I wrote some of my favs a while back
-
@mwichary fwiw I wrote some of my favs a while back
@jimniels Thanks! Added here, maybe it helps someone! https://unsung.aresluna.org/mailbag-urls-as-ui/
-
@cogdog Whoa! This would’ve saved me so much trouble throughout the years.
-
@splorp @mwichary @cogdog Slightly offtopic, but I still use `/photo.gne?id=` URL to find where I downloaded certain photos years ago: https://www.flickr.com/photo.gne?rb=1&id=3399133066
-
-
@splorp @mwichary @cogdog Slightly offtopic, but I still use `/photo.gne?id=` URL to find where I downloaded certain photos years ago: https://www.flickr.com/photo.gne?rb=1&id=3399133066
-
-
-
-
@mwichary Regarding the note about adding a human friendly slug to the end of a URL, do you have a thought or preference to putting that part before the unique id?
flickr.com/mwichary/sets/alishan-forest-railway-72177720330077904
On an app I run I went with that style so the all the human readable bits could be typed and autocompleted. It does seem to be a little harder to read since it’s in the middle of the text though.
For example: https://app.mythic.nz/book/public-storybooks/sharable-public-storybooks/v4dUmg8Jjk6LmQYQlqy6Pw
`public-storybooks` is the collection slug, and `sharable-public-storybooks` is the page title slug.
Off the top of my head...
ID first means the URL can survive truncation of the slug part. Particularly good if you can keep the prefix short.
Slug first means URLs sort in alphabetical order by their slug. Maybe more suitable for small numbers of items, like a blog?
ID first is also marginally easier to construct a URL by hand - you generally don't need to add a fake slug, just end the URL at the ID and it still meets the pattern
Random example of slug-first that happened to be in my history:
- canonical URL: https://www.hollywoodreporter.com/tv/tv-news/stargate-revived-prime-video-new-series-1236431118/
- doesn't work with only ID: https://www.hollywoodreporter.com/tv/tv-news/1236431118/
- works if you know the format and add a fake slug: https://www.hollywoodreporter.com/tv/tv-news/yeehaw-1236431118/