Matt Gemmell

Pie Menus on iOS

1 min read

I’m not going to lie to you: I’ve been referred to as the Tony Stark of iOS development. Maybe it’s the beard, short stature and taste in snappy shirts, but I like to think it’s at least partly due to my many in-house UX demos.

My business is called Instinctive Code, and I have a series of projects I tend to refer to as Instinctive Labs. Some of them are tools, some are toys, and some are nascent reusable components for later release.

One such component brings pie menus (or radial/circular menus) to iOS.

Pie menu on iOS

You can watch a video demo of some of its customisation features on YouTube, which is also embedded below.

 

MGPieMenu supports many, many visual and behavioural customisations, including whether the central disc is drawn and/or interactive, and what it does (in the video, it goes back up one level in the menu hierarchy). The appearance of the menus is completely customisable, and the API is naturally designed to be as near to a drop-in replacement for OS X-style NSMenu/NSMenuItem hierarchies as possible, with various conveniences added.

I’ve never released it because I’m frankly concerned that it may be subject to legal problems in the current awful patent lawsuit climate. I have no specific knowledge of any issues in that area, but it seems a likely candidate. This is just another example of questionable patent law hindering innovation in user experience, which would otherwise benefit many people.

On a more positive note, pie menus are very enjoyable and immediate to use, present a large hit area with minimal average movement required, and can support nested menus as seen in the video. The component feels completely at home on a capacitive touchscreen device, and gives a very natural yet pleasantly futuristic interaction experience.

If you’re interested in this sort of work, you may want to follow me (@mattgemmell) on Twitter. I talk about UX a lot, and always announce new projects or articles there. You might also enjoy some of my other UX-related posts:

  • iPad Multi-Touch (with videos and source code). I wrote some funky musical-instrument-like code to test how many simultaneous touches the iPad hardware could detect. Like my guitar amp, it goes up to eleven.

  • Finger Tools (with video). A UX concept for canvas-like applications requiring multiple tools without any tool palette. Adobe used this concept in Eazel, claiming to have independently thought it up months later.

  • Touch Notation (with Photoshop and Illustrator files). An easy-to-scribble notation for software designers who want to describe multi-touch interactions.