Hey 👋! I'm Anthony and I build web apps.
I like experimenting with different design patterns. And one of my all time favorites is the "url as an interface". This design pattern was used as the foundation of one of my apps - Saved.io. Saved.io is a bookmarking tool where links are saved by typing saved.io/ in front of a url in the browser address bar.
This design pattern also allows the user to quickly create lists of bookmarks by typing somecoollistname.saved.io/ in front of a URL. This eliminates the usual "add new list" step and compresses two tasks into one.
Less is more. When I design an application, I start off with a primary function (save a bookmark) and then I work backwards. My end goal is figuring out how a user can get from point a-b as quickly as possible.
The user interface defines an application. You can have amazing functionality, but if the user can't interact with your application, they'll never be able to unlock that functionality.
Using the URL as the interface I was able to achieve a couple of things:
- Present a familiar environment to the user. Everyone knows how to enter a URL into their browser.
- Let the user interact with the application from anywhere.
But the URL interface isn't for everyone. As a developer, using a command based input is natural for me. Others prefer to click. Some issues I've found:
- It's not as fast on mobile devices. Editing a URL on iOS takes a long press, a drag, and then you can enter something at the beginning of the address bar. People aren't used to doing this.
- There is no branding. People forget that they have a saved.io account. If you use another tool, you're often prompted to install an extension or bookmarklet.
- It can be difficult to implement. From a development perspective, having to capture input from the URL can be tricky when it's something as varied as web addresses.
I think the URL as an interface design pattern can be used in lots of situations. A couple I think might be useful:
- What about an app to convert files. Just type .txt.covertthingyurl.com in front of any file to convert it to the desired output.
- Tweet.Twitter.com/ to tweet a link quickly without needing to go to twitter.
That's just a couple of ideas. I'm sure there are many more. Obviously most apps won't fit this design pattern - but if you do have the opportunity to reduce your UI down to something as basic as a URL, why not give it a try.