The Promise of Hypermedia

The Problem

Hypermedia is a subject that developers do not talk about. It's sort of taboo, because when HTML first arrived, hyper-links were all the rage. Now, it's old-hat. Now, we use hypermedia every day, in the form of HTML. It's easy to miss, because it's all hidden behind beautiful layout and design. With the rise of single page applications, HTMl is no longer the media, because it is only delivered once as a courier for a web application. Now, JSON is the most popular media, and unfortunately, we're using it wrong.

Hypermedia is beautiful because it provides a flexible way to program a network of systems. With it we can deploy a lightweight client application that understands our domain specific language (DSL), avoiding giant client applications full of application state information. Hypermedia solves the most prevalent and pressing issues we face as internet dwellers and crafters.

The Future

There can exist a world where the content you consume on the Internet, and the services you interact with, will be more intimately connected to you. Rather than receiving a hard-coded client application from web-service providers, you should receive a map of the services they offer. You should be able to install DSLs so you can understand their languages. Then, your personal client should be able to use information about you, specifically you, to tailor an experience out of services and your preferences and data.

The big change I expect for the future is that rather than interacting with HTML through a web browser, we will interact with Hypermedia APIs through a personal browser. Browsers themselves will be personalized. I will choose my interfaces (from a store) and I will connect my various APIs together in a way of my choosing: drag and drop. I will setup schedules and automated reminders and service deliveries that all interact with me and through my own unique experience.

Currently, we are all carrying around a generic experience in out pockets (browsers). Apps are a big part of the internet, but they are not as on-demand as I would sometimes like. I like the convenience and reliability of code on demand, but I like the experience of using apps better than websites.

The Promise

Hypermedia, with it's unique combination of content and connection, isn't just HTML; it also offers a way to build custom media types that offer custom functionality, and describe those media types with DSLs. We can install DSLs into our own browsers and craft custom experiences that suit our specific needs.