Pie Menus

Sims Content Catalog in Laszlo and Python

This is a large project I'm developing in OpenLaszlo: creating a rich web application for browsing, searching, exploring, collecting, personalizing, shopping and downloading Sims content.

I'm working with SimFreaks to put their entire catalog of thousands of Sims objects and characters into this database driven catalog. I'm using Transmogrifier to automatically export pictures of all the Sims objects.

Besides simply searching the catalog for interesting objects, you can navigate and explore collections of objects, and even interactivally compose your own scenes.

It's like a cross between colorforms playsets, hypercard and graphical adventures, with Sims room backgrounds, objects and characters, including interlinked image maps and text annotations.

The front-end is implemented in OpenLaszlo, and the back-end is implemented in Python, using SQLObject.

It also includes an administrative database interface for browsing and editing the SQL database that is used to model the site, and keep track of the users, objects, collections, pictures, etc. It's extensible by plugging in customizable Laszlo widgets for displaying and editing special data types, like pictures, checkboxes, color selectors, date pickers, pie menus, OPML editors, etc.

Pie Menus are Better than Screen Corners

Pie menus address many of the complaints of this slashdot article, and they've been around a long time.

I'll start by comparing screen corners to pie menus:

To quote Tog on Fitts' Law: "The time to acquire a target is a function of the distance to and size of the target." He points out that "the screen edge is, for all practical purposes, infinitely deep."

But the advantage of "screen corners" is just an indirect and wasteful application of Fitts' Law, which pie menus exploit much more directly, efficiently and flexibly than "screen corners". Tog's "screen corner" argument is just an ex post facto application of Fitts' Law: an after-the-fact rationalization, not the reason they originally designed the menu bar that way. If Fitts' Law was really the reason Apple designed their menu bar that way, then why aren't there four menu bars, one at each edge of the screen? Apple never mentioned Fitts' Law in their infamous menu bar patent.

Pie menus "slices" are better than "screen corners" or "menu bars" because:

Laszlo Database Interface

I'm developing a reusable Laszlo component for browsing and editing SQL databases.

Currently it's up and running, built into the Sims Content Catalog Laszlo application, and it talks to a Python/SQLObject/MySQL back-end. But I'm factoring it out and redesigning it to work on its own, and support multiple back-ends.

Laszlo is ideal for implementing specialized user interface components for editing custom data types, like checkboxes, pie menus, color selectors, date pickers, OPML editors, picture viewers, map browsers, etc.

Laszlo Pie Menus

I've ported my JavaScript pie menu code to OpenLaszlo, and rewritten it to take advantage of Laszlo features like Flash graphics and animation, constraints, events, prototype customization, and XML data binding.

I'm using the Laszlo pie menus in the Sims Content Catalog, and the von Neumann 29 State Cellular Automata, and other projects.

Laszlo Pie Menu Demo

Laszlo Pie Menu Demo Source Code in Laszlo

Laszlo Pie Menu Component Source Code in Laszlo


Pie Menu Stuff

This is stuff about Pie Menus. Pie menus are a naturally efficient user-interface technique -- directional selection of pie slice-shaped targets. The cursor starts out in the inactive center region of a pie, and all target slices are large, nearby, and in different directions.

Pie menus are quite easy for new users. You simple follow the pop-up directions to use them. They are also extremely efficient for experienced users. Once you know the directions, you can quickly and reliably 'mouse ahead' without looking.

Fitts' Law explains the pie menu advantage -- their fast selection speed and low error rate is due to their large target size and the small distance between each item.

The Sims Stuff

This is stuff about The Sims, includes a discussion forum, and chapters about computer game design, player created content, and Sims proposals and documentation.

I worked with Will Wright at Maxis on the original team that developed The Sims. I developed the character animation system, user interface, content creation tools. I'm independently developing tools and content for The Sims.

Educational Multi Player SimCity for Linux Proposal

Back in March 2002, Maxis told me they were interested in supporting the educational use of products like SimCity. Earlier, I had developed a multi player version of SimCity, which runs on Linux/X11, and was scriptable in TCL. Educators and researchers from Columbia University, MIT, IBM, Xerox and other educational and commercial institutions were excited about gaining access to this version of SimCity, and adapting it to teach and stimulate students' interest in urban planning, computer simulation and game programming.

So I wrote this proposal and presented it to Maxis, but nothing ever became of it. But recently, Will Wright has been pushing EA to relicense SimCity under the GPL, so the OLPC project can use it. So it may eventually see the light of day!

XML Pie Menus

Chris, a computer science student from digipen.edu who's interested in user interface design, asked me some interesting questions about pie menus:

First, were you happy with The Sims' implementation of pie menus? It seems as though it doesn't necessarily provide all of the great features of an ideal pie. The targets aren't infinitely 'deep' -- the user needs to click directly on the button. Perhaps more importantly, the targets aren't in predictable locations (they items are dynamic based on a very complex set of inputs.) Don't misunderstand; I loved the game and felt the the interface worked well. I am interested in the design decisions that were made.

The other thing I wanted ato ask was, have you any opinions on the game Sacrifice? I was very drawn to its pie system, and am always surprised that there has really never been much mention of it when it comes to discussion of pies, and pies in games. Thank you for your time,

Chris

Thanks for your thoughtful questions!

I'm glad to hear fasteroids still works after all those internet explorer patches that have come out since I wrote it. I hope the Eloas patent doesn't force Microsoft to break browser plug-ins like fasteroids and pie menus on purpose.

I'm pretty happy with the way The Sims pie menus turned out, considering the time and design constraints. But of course there are several things about them I would change and extend if I had the time.

Syndicate content