⬆️ For table of contents, click the above icon
xs.fi ("accessify"): semantic, persistent URL namespace and a metadata specification.
Let's make URLs and metadata beautiful again.
We offer URLs like https://xs.fi/movie/by-imdb/tt12593682/imdb
We also plan to be a metadata specification to provide guide how to record metadata for your precious
If you recognize yourself as a data hoarder, you'll feel right at home.
Path after https://xs.fi |
Example | Components | Description |
|---|---|---|---|
/<namespace> |
https://xs.fi/movie |
namespace=movie |
We are going to be referencing a movie |
/<namespace>/<query> |
https://xs.fi/movie/by-imdb |
namespace=movie, query=by-imdb |
Movie by IMDb ID |
/<namespace>/<query>/<identifier> |
https://xs.fi/movie/by-imdb/tt12593682 |
namespace=movie, query=by-imdb, id=tt12593682 |
Movie by IMDb ID tt12593682 |
/<namespace>/<query>/<identifier>/<resource> |
https://xs.fi/movie/by-imdb/tt12593682/imdb |
namespace=movie, query=by-imdb, id=tt12593682, resource=imdb |
IMDb page for movie by IMDb ID tt12593682 |
In pseudo you can think of our backend data model like this:
{
"namespaces": {
"movie": {
"queries": [
{
"query": "by-imdb"
}
],
"resources": [
{
"resource": "imdb",
"description": "IMDb page",
"redirect_to": "https://www.imdb.com/title/<IMDb ID>"
}
]
},
"tv-series": {
"queries": [
{
"query": "by-imdb"
}
],
"resources": [
{
"resource": "imdb",
"description": "IMDb page",
"redirect_to": "https://www.imdb.com/title/<IMDb ID>"
}
]
}
}
}namespaceis the first part after xs.fi:https://xs.fi/<namespace>. Example namespace ismovie.- Namespace is usually followed by
queryso the format usually ishttps://xs.fi/<namespace>/<query>After the namespace usually comesby-<identifier type>query. Example ishttps://xs.fi/<namespace>/by-imdbwhich means we are referencing a node based on its IMDB ID. Forby-imdbnamespaces which make sense aremovieortv-seriesso namespace+query combos read likemovie/by-imdbortv-series/by-imdb - Identifier
- Resource
Practice has shown that not all people think URLs are beautiful or important: they'll change their web application UI and break old URLs.
So if IMDb ever changes the title URL to something else than https://www.imdb.com/title/<ID> then
xs.fi can change that in the code to link to the new URL
Currently the URLs are meant for human consumption, i.e. it is expected the URLs to be opened in a browser.
Warning
Not implemented. This might be added later.
That will be handled by Content negotiation,
concretely something like Accept: application/json to distinguish opt-in to programmatic access instead of human consumption.
- Support "xs.fi:ification" of URLs: give
https://www.imdb.com/title/tt12593682as input and it should spit you backhttps://xs.fi/movie/by-imdb/tt12593682/imdband also related resources like TMDB.
xs.fi will always:
- Stay
- our largest value proposition is to not break your links and not annoy you
- Be free
- Not show advertisements
- or if we ever need to resort to ads then it will be based on Acceptable Ads, preferably the Text ads variant.