Pucks for Menus

Way back in the spring of 2013, when App.net was a vibrant community, there were a number of dedicated applications that were vying for people's attention. The first app I used after joining the network in March of that year was Netbot, a relatively straightforward port of Tweetbot, which was from the same group of developers. This worked for a while, but I wanted something that received updates and could use all of the new features on the rapidly-developing platform. Riposte was an alternative that saw regular updates and had a solid, clean interface that "just felt better". However, despite the strengths of Riposte, the application that I relied on the most1 was Felix; an application that introduced a form of navigation that I have since built into a number of my own software tools because it's just so darn efficient: the Puck.

Felix for App.net

Up until Felix, social clients all had a similar navigation pattern in their applications. Buttons would run along the bottom of the screen for Home, Replies, Interactions, and other views. Most apps would have four to five of these, and the design worked well enough. Felix, when in full-screen mode, would show just a single item in a rounded button that would sit docked in a corner2. Tapping the circle, generally known as the Puck, would make it expand to show all the menu options available. This simple, elegant solution made it possible for Felix to have far more than five navigation items in their menu and I liked it so much that I reached out to Bill Kunz, the developer of the application, and asked if I could use the Puck in my own apps3. One thing that I find odd, though, is that nobody else seems to use this form of navigation in their mobile applications. Instead there are a plethora of hidden gestures that people must figure out and memorize when they first use a piece of software, which I've often found to be rather frustrating. Why would anyone want to hide functionality that took time and effort to create?

In App.net's heyday Felix was one of those applications that I looked forward to using everyday because it just worked, it was visually attractive (for the time), and it was incredibly intuitive. This is the same bar I set for my own software and, if I do my job right, maybe a creative person will see the value in something I've made and carry it forward into their own projects, too.


  1. Well … I relied on it until spam in the Global Timeline became a bit too excessive, resulting in me building the first version of Nice.Social which sat on top of the NiceRank API. Remember when Nice.Social was a web-based App.Net client? Yeah … that was a long time ago.

  2. One of the early releases of the app would let a person swipe the puck to move it into a different corner. This was often quite finicky and would be infuriating to return to the proper location … which is why the puck menu in my tools is static in the lower-right corner. I really should look at making an option for people to choose the other corners if they so choose.

  3. He said he didn't mind, and I went to town with it.