Monday
21 Jul 2008

Language-Based Interfaces, part 1: The Problem

UI Design Fundamentals

What would the web be like if you could tell it what you want to do as easily as you currently tell it where you want to go?

Mozilla Labs is starting to experiment with linguistic interfaces. That is, we’re playing around with interfaces where you type commands and stuff happens — in much the same way that you can type a location into the address bar in order to go somewhere.

I think this is cool because, for one thing, I think language-based interfaces are seriously under-explored compared to pointing-based interfaces. For another thing, I used to work on a project called Enso. Enso’s a language-based interface, where you type commands in and stuff happens. I think we got certain things right and certain things wrong in Enso’s UI design, so I want to take another crack at doing it better.

What makes a good linguistic UI?

Here’s my current theory.

  1. It’s easy to learn.
  2. It’s efficient.
  3. It’s expressive.

Those are the three “E”s. Let’s unpack ‘em a little.

“Easy to learn” should be self-explanatory. Even if a tool is super-efficient and incredibly powerful, if it’s too hard to learn, it’ll be relegated to the “experts only” ghetto. Yeah, that’s right, I’m talking about you, Unix shell. (ahem, Unix/Linux/Posix/BSD/etc.) The original language-based UI, the oldest UI still in common use, and the one which has given the whole concept of “type what you want to do” a bad name for the last thirty years, serves as an excellent counter-example. For a linguistic UI to be easy to learn, it should strive to avoid all of the following misfeatures of the shell:

Continue reading »

Comments Off


Friday
18 Jul 2008

Designing Without Modal Overlays

UI Design Fundamentals

In the concept video I recently did for laying out the interface paradigms for Firefox Mobile, I listed five guiding principals.

  1. Touch it with your finger
  2. Large targets are good
  3. Visual Momentum and Physics are compelling
  4. Typing is difficult
  5. Content is king

It’s these principals that inform the design of new features long after the original design as been coded, released, and iterated on. In discussions with the perspicacious Mike Beltzner, another design principal emerged.

 6. Use modal overlays sparingly, if at all.

To be sure we are on the same page—I’m may be partaking in the dangerous hobby of coining new terminology—an overlay is simply a content area that sits in front of the content beneath it. The aspect that makes a modal overlay modal is that when it is up, the content “beneath” the overlay cannot be acted upon until the overlay is dismissed. Although a modal overlay may be visually transparent, it is never interaction transparent: you must always take action, like clicking “okay”, before continuing with your workflow. While I’m living dangerously, I’ll toss one more phrase into the mix: a state-forgetting modal overlay is an overlay whose state is reset every time it is summoned. That is, any work you do in the overlay is lost when you dismiss it.

Continue reading »

Comments Off


Monday
14 Jul 2008

Ubiquitous Interfaces, Ubiquitous Functionality

Design UI Design Fundamentals

Lately some of us at Mozilla Labs have been experimenting with graphical keyboard user interfaces in Firefox. Our current work-in-progress is something that we’re calling Ubiquity for the time being, though the name is by no means set in stone.

Ubiquity is heavily informed by Enso, a software product developed by me and my colleagues at Humanized from 2005-07. Aside from the benefits outlined in Alex Faaborg’s blog post entitled The Graphical Keyboard User Interface, this experiment is intended to solve few other problems, one of which I’ll address in this post.

Web applications, much the same as desktop applications, are a bit like isolated cities: it’s difficult for an end-user to arbitrarily share data and functionality between them. This is alleviated to some extent by creations like Firefox Add-ons that add toolbars or sidebars to Firefox’s UI, Bookmarklets, and Greasemonkey, but while all of these solutions are powerful, each comes with its own set of problems. The buttons and bars of many Firefox add-ons don’t scale well because of the valuable screen real-estate they consume; Bookmarklets are restricted in scope because they only have the access privileges of the website they’re running on; and Greasemonkey doesn’t prescribe any kind of interaction model, which makes it difficult to reuse the functionality of a script in a context other than the ones it was expressly designed for.

Continue reading »

Comments Off


Wednesday
11 Jun 2008

Firefox Mobile Concept Video

Firefox is coming to mobile. The innovation, usability, and extensibility that has propelled Firefox to 200 million users is set to do the same for Firefox in a mobile setting.

User experience is the most important aspect of having a compelling mobile product. Every bit of interaction and pixel of presentation counts when typing is laborious and screen sizes are minuscule. Many of the standard interaction models, like menus, always-present chrome, and having a cursor, don’t necessarily make sense on mobile. It’s a wickedly exciting opportunity but there are myriad challenges to getting it right.

One avenue for exploring this opportunity is through Mozilla Labs, which is about pushing the envelope towards better and brighter interaction horizons, as well as incorporating a winder community into the innovation process. This concept video explains one direction we are thinking in, and we’d love to inspire participation in thinking about other directions.

See the demo video and read the post on Aza’s blog.


Wednesday
28 May 2008

Vote! How to Detect the Social Sites Your Visitors Use

Design Fun

One of the great things about the web is the relative ease with which one can set up a new service. In social bookmarking alone with have Del.icio.us, Digg, Facebook, Fark, Mister-Wong, Newsvine, Reddit, Technorati, Slashdot, and StumbleUpon, to name a few. That’s great for competition, and that’s great for users, but it’s not so good for bloggers and content creators.

What are you to do if you want readers to promote your content? Kevin Rose, of Digg, put it succinctly: “Encourage your visitors to submit their favorite stories directly to Digg [with a Digg badge].” Not everyone uses Digg. You have to decide on which bookmarking site, if any, to dedicate your precious screen real-estate. It’s a hard choice. If you choose poorly your reader won’t vote—it’s not a single click coupled and out-of-sight means out-of-mind—and your content losses its chance to make it big. You have to choose your horse wisely.

Read the rest of the post for a way to figure out which social bookmarking sites visitors use, on a per-visitor basis. JS library included.


Friday
23 May 2008

What If… It Was Easy To Write Firefox Extensions

Writing extensions is labor intensive. Even as a veteran web developer, I feel trepidation at the thought of diving into the boiler-plate code, wading through the XUL world, and restarting Firefox uncountable times. There are tools out there to mitigate some of these problems—like Ted Mielczarek’s Extension Wizard, and Mark Finkle’s FUEL—but they feel like fresh frosting on a stale, left-out-since-last-Thursday birthday cake.

Developer extroadinare, Atul Varma, said it best: “I hereby classify restarting Firefox during development as a ‘barbaric measure’”. Of course, restarting Firefox to install extensions is like-wise barbaric.

As a simple learn-to-write-extensions project, I decided to make a Gmail notifier. All I want it to do is and notify me—in a humane way—when a new email came in. As I dug into the the extension world, I found myself day-dreaming.

Read the rest of the post for some awesome code, that may or may not work.

Comments Off


Thursday
22 May 2008

Firefox Geolocation Redux and a JS Library

After the excellent feedback I got on my last geolocation blog post, I’ve updated the proposed geolocation API. More importantly, I’ve also created a pure Javascript library which you can use to start playing around with geolocation before we actually get it into the browser. This library provides exactly the same API as would be provided by the browser. Although it can’t offer GPS-quality data, it does provide a decent city-level geolocation based on your IP.

Read the full post.

Comments Off


Wednesday
7 May 2008

Geolocation in Firefox and Beyond

In preparation for her keynote on the at the Web 2.0 Expo, Mitchell and I recently chatted about the “mobile web” misnomer. The misnomer is that there is going to be, long term, such a thing as a separate mobile web. There should only the one web (to rule them all), with different views into it, depending on the particular limitations or abilities of the device you are using.

One place I see the desire to separate the two webs is in geolocation. Location is often billed as the next killer-app of the mobile world, and people generally assume that it is a feature that will be bound to mobile devices. Yet, there are compelling reasons to have location information available to laptops as well: it is nice to have contextually relevant information available to me while working at a new coffee shop, traveling, or when farblonjet. At the core of the one-Web vision is the continuity of experience across…

Read the rest of the post for the proposed API and other good stuff.


Tuesday
6 May 2008

Blogging and Hiring

I’ve been very quiet since joining Mozilla. Too quiet. I’ve been catching my breath and getting up to speed. It’s time, however, to start blogging again. I’ll be blogging at http://azarask.in, but I’ll be mirroring the posts here for a while. Be warned that the new blog has a temporary look, meant to be replaced soon by the awesome work of Naz Hamid. I should also point out that Atul has already begun talking about his experiences at Mozilla on his blog. You can also follow the sundry happenings of Jono and Andrew on their respective blogs.

The open source world is the world’s largest and arguably, the world’s best engineering department. It lacks a comparable design department. One of my goals in coming to Mozilla was to work on bridging this gap between the engineering world and the design world. I’ve only begun to think about the problem, and I hope to begin some conversations about the topic soon. An exciting aspect of working for Mozilla is that almost all of your design work can happen out in the open. There are none of those we-take-your-ideas-and-lock-you-away-from-the-sun policies that many other companies shackle their employees with. I hope to start sharing those design processes as well.

Which brings me to: We are hiring! Mozilla is looking for some top-notch UI/UE/UX/IA/IxD/HCI/TLA people. There are few places in the world where the user-to-employee ratio is roughly 1.2 million to 1. Getting to help shape the future of the web is hard work, but it’s easily worth it. If you are interested, send me an email at azzcsa@mozilla.com.


Friday
7 Mar 2008

Bloxes

Fun Life Hack Our Products

Today, we are proud to announce the launch of Bloxes.

Bloxes are essentially 3D cardboard Legos that ship flat, and fold up in modular building blocks that are strong enough to stand on. While they aren’t tech per se, we use them for building tables, walls, cubicles, and desks at the Humanized office. Google and Mint.com have already ordered some, and Mozilla has expressed interest in using them in their offices too. This may well be the new thing in terms of agile office-space deployment. Don’t like where a wall is? Just move it! Don’t like the way it looks? Just rebuild it! They are cheaper than cubicles, and much more fun.

They are also eco-buzzword-friendly (meaning that they are made from recycled cardboard and are recyclable).

So head over to Bloxes and order yourself some re-factorable furniture and walls. Then come back here and tell us all about it.

We are now a Python and cardboard shop.


Thursday
6 Mar 2008

Enso is Open Source!

Our Products Software Development

You can’t spell “opEN SOurce” without “ENSO”. An amusing coincidence, but appropriate, since from now on Enso is free-as-in-freedom as well as free-as-in-beer. This means anyone can download the source code that we use to build Enso. Anyone can read it, modify it, build Enso from it, and redistribute it to others. We’ve chosen the revised BSD license. This is among the least restrictive licenses, giving you the right to do basically whatever you want with the software; read the link to find out the details.

What does this mean for you?

The opening of the source isn’t going to have any immediate effect on the way Enso works for users. For now, the free Enso installers are remaining unchanged. Users should continue to download those. If your only interest in Enso is as a user, then you can say “Enso is open source now, that’s neat” and go on to the next thing in your reading list. Or check out our brand-new forum. But if you’re interested in how software is made, then keep reading…

Continue reading »


Friday
15 Feb 2008

Aza on the Linguistic Command Line

UNCATEGORIZED

Recently, the Assosciation for Computing Machinery approached Aza Raskin, one of our founders, to see if he would write an article for the first online issue of their magazine, interactions. As you might expect from the one of the people who brought you Enso, Aza decided to write an article about command lines. The first issue of interactions is now available, and Aza’s article about The Linguistic Command Line has been published. Enjoy!

Correction: This is the first online issue of ACM’s interactions magazine, not the inaugural issue of the magazine itself, which is approaching 13 years old. My apologies for the confusion, and my thanks to Srikanth and Christopher for pointing this out. –Andrew


Friday
8 Feb 2008

Bugs and Stubs

Design Our Products

As usual, our readers delighted us with the number of well-thought-out comments about our recent release of the Enso 2.0 prototype. We’ve posted a new version of the prototype here, with several bug fixes and some tweaks to the visuals of the new argument-input box. If you found the previous prototype to be crashing too much to seriously consider, please try again; the new one should be more stable.

Continue reading »


Tuesday
5 Feb 2008

Enso 2.0 Prototype

Our Products

Get ready. Flex your pinkie finger. It’s time to try out the Enso 2.0 Launcher prototype. It runs on top of the free Enso Launcher, so all you have to do is download the prototype, install, and try it out. You’ll get some new features, several improved commands, and (of course) all of your old commands will still work. If you haven’t been following our weblog, you might want to read about the motivation behind this design, and our explanation of the design .

Continue reading »


Monday
4 Feb 2008

Luxury Computing

Commentary

So I bought a Mac in early December because my new job at Mozilla involves making cross-platform software for Macs, Windows, and Linux.

Intel-based Macs are pretty much the best choice for this at the moment—almost everyone at Mozilla uses one—because you can use OS X natively, and Windows and Linux through virtualization software like VMWare Fusion.

My opinion on the whole Macs vs. PCs debate could best be described as “complex”. Let’s not go into how much I want to punch the Mac guy in the face.

In a nutshell, though, I had always assumed that Macs were only marginally easier to use than PCs. I guess I’ve found over the past two months that in some ways, this holds true—the Mac is essentially an incredibly sexy-looking PC, with the same annoyances and a few polishes that make it a bit more humane to use. In other ways, however, the difference is truly like night and day.

This is a story about such a situation.

Continue reading »


Thursday
31 Jan 2008

Enso 2.0 Design Thoughts

Design Our Products Software Development

As part of the our move to Mozilla and thinking about a free-as-in-speech Enso, I want to be more transparent with our design directions and goals. Our designs can only benefit by incorporating the criticism and suggestions of the community we have here. Open-source design is a balancing act between making final decisions and finding consensus. We hope to take the lessons that Jono spelled out in his excellent article on successfully humane open-source projects and use them in our own projects.

This post is about the new directions we are taking Enso. If you haven’t done so yet, start by reading about some of the motivations for doing some Enso redesign. In short:

  • Enso shouldn’t make you type all of “open” every time
  • Enso should be able to open paths and urls
  • Enso should support international character input
  • Enso should gracefully handle the case where there’s no convenient place to enter text
  • Enso shouldn’t require you to type out text, select it, and then run a command when you’d rather run the command and then enter the text (think calculate)
  • Enso shouldn’t make you hold down a key while typing lots of characters

We think we’ve solved these problems with our Enso 2.0 redesign. In this post, and possible follow on posts, I’ll walk through the new stuff. I should note that our upcoming prototype will not yet have have all of the features mentioned here.

Continue reading »


Friday
25 Jan 2008

Songza and a Little Thing

Design Our Products

Songza Logo

Last month we added an “about songza” page to Songza. It’s a simple page — just a couple headers, some text, and a return-to-Songza link. I thought I’d a walk through my thought process in through-designing this tiny feature. It’s not quite as simple as it first appears.

The first question is whether to have the about content be on a separate page, or as lightbox/hidden-div content on the main page. I was tempted by the second option; there is a seduction to having Songza exists on only one page. On the other hand, that solution isn’t particularly scalable — Songza has already added other pages similar to the about page, how would they all interact? And how do you keep the load-time reasonable as more and more content is added? — More importantly, the content is not linkable or search-able. Using clever Ajaxy tricks means that the visibility of the content is dependent on application state.

It’s clear that the about page should be, in fact, a separate page. That leaves us with a glaring usability problem. Do you see it? It’s bad enough that I would be wary of clicking links while listing to songs if I ever got bitten by the problem.

Continue reading »


Wednesday
23 Jan 2008

Enso 2.0 on the Horizon

Our Products

We are fairly happy with Enso, but there are a couple nagging problems with our current implementation that need to be fixed. We know because you keep telling us (which we are grateful for). Fairly happy isn’t good enough, so we are working on fixing the following most common complaints and suggestions.

Continue reading »


Wednesday
16 Jan 2008

Joining Mozilla

Commentary Our Products

Software is too frustrating. There are a lot of choices in today’s computing world — what’s worse, most of them are too complicated. Hundreds of features, dozens of user preferences, unresponsive programs, inscrutable error messages, crowded toolbars, merciless disrespect for the safety of your data; all of these are problems that plague most of today’s software. We, as Humanized, are dedicated to tackling these problems and to making software effortless.

Mozilla is about making the web (which isn’t just the browser!) useful for, and usable by, everyone. Mozilla is in a unique position — not being beholden to any particular technology or the bottom-line — to push the web forward, past the boundaries of the browser, focusing foremost on people. Which is why I am excited and proud to say that we are joining forces with Mozilla to head up the user experience side of Mozilla Labs. We will be working inside the browser, on the browser, outside the browser, and mixing all three. Enso’s coming too.

Continue reading »


Tuesday
15 Jan 2008

If You Love Something, Set It Free

Our Products

As of today, Enso is free!

Some say that it’s the destiny of all software to eventually become free. For Enso, that eventuality is today. By making Enso free we make it able to reach a much wider audience, much faster.

Continue reading »


Monday
14 Jan 2008

Postcard From An Exotic Location

Our Products

Sorry that this weblog hasn’t been updated in so long. There’s a good reason for the lack of updates: Enso went on a vaction over the holidays. It went someplace it’s never been before. Here’s a postcard.


Monday
17 Dec 2007

The Case of the Mysterious Vanishing Amazon Kindle

Commentary Rant

I broke down and ordered a Amazon Kindle a couple days ago. It is definitely a first generation device: not only does it look state-of-the art 1980’s, but it’s main mode of interaction is through a marginally clever hack to get around eInks slow refresh rate. However, the idea of being able to have all five books I’m always invariable a third of the way through, plus an always-on calendar (via it’s browser function and mobile Google calendar), always-on email, always-on maps, always-on Wikipedia, makes it (possibly) worth the price.

So late the other night, when my rationality had been worn down by a days debugging, my “buy” impulse beat out my fiscally responsible genes. I took out my credit card and purchased. Because I’m a previous Amazon customer I entered my email (which I haven’t bothered to update to my new address) and my password, clicked the buy button. It was done.

The next day, I checked up on the order. When was my new toy going to arrive? I logged in and… the order wasn’t there! I frantically clicked on every button I could find to no avail. Had I only imagined ordering the Kindle? I hadn’t been that tired. I checked my bank account and indeed the money had been deducted from my account. So where had my order gone?

Continue reading »


Monday
3 Dec 2007

User Interface of the Day: Splashup.com

Design UI Design Fundamentals

The growth in popularity of digital cameras has brought along with it a heightened interest in image editing software. Everybody knows Photoshop, but noteverybody can afford it. Enter the free Web apps! Recently one of our readers directed our attention to the edit imaging site splashup.com.

Our thoughts are below.

Continue reading »


Tuesday
13 Nov 2007

Songza Launch

Fun Our Products

I am proud to announce the release of Songza, a music search engine and Internet jukebox. Songza solves the related problems of “I want to hear a song” and “I want to share a song with a friend.” Released on November 8, its popularity is growing rapidly: We’re poised to reach one million songs played within just a week of launching Songza.

Songza is also an interface showcase. I’ve used the interface principles discussed here on the Humanized blog to design Songza to be humane, slick, and viral. Play with the interface for a bit, and you’ll find habituatable pie-menus instead of slow linear menus; an inviting design that uses only two icons, both of which act as illustrations for words; an incredibly high density of content and a correspondingly low amount of interaction; undo instead of warnings; and transparent messages that don’t break your train of thought.

Ironically, there’s a lot that went into making Songza so simply. Achieving such a high level of simplification required a lot of code, in part because we couldn’t just use standard widgets. It was worth it, though.

You can’t be better without being different — I think Songza is both.


Thursday
1 Nov 2007

Enso: Quicksilver for Windows?

Design Our Products

Okay, so for all of the Quicksilver enthusiasts out there: Yes, we know about Quicksilver. And, no, we didn’t steal our ideas for Enso from Quicksilver. Enso is based on Jef Raskin’s command quasimode, an idea that has been around for years. As Quicksilver’s creators will tell you, Raskin’s ideas formed part of the inspirational basis of Quicksilver’s current design.

If you’re familiar with Quicksilver, you know roughly what Enso Launcher can do. And if you’re stuck using Windows, you may be surprised by the new things Enso offers.

Continue reading »


Friday
26 Oct 2007

User Interface of the Day #8: Twitter

Design UI Design Fundamentals

Social networking site twitter.com has created quite the splash this year. Millions of people worldwide have answered the question, “What are you doing right now?,” millions of times, all for the amusement of and desire to connect with friends, family members, and complete strangers. You can Twitter just on your computer, or you can take it mobile and use the service on your cell phone. Twitter pithy messages that tell your pals where you are, what you’re doing, or what you’re experiencing, or simply use it to find someone at a party. What do the Humanoids think about Twitter? Find out below.

Continue reading »


Thursday
25 Oct 2007

HandyFind: LEAP for Windows

Rave

For all of you who are waiting for Microsoft to get its act together and add incremental find to Internet Explorer, I have news about something even better — and it isn’t an IE plugin. It’s Edwin Evans’ HandyFind, which gives you incremental search in most Windows applications, including Internet Explorer, Notepad, Wordpad, Word, Excel, and all applications that use Microsoft’s main text editing controls. Even better: It gives you one interface that works with all of these programs! Humanized is proud to endorse Edwin’s work and HandyFind.

Continue reading »


Wednesday
24 Oct 2007

Enso Developer Prototype

Our Products Software Development

Ever since we launched Enso, we’ve been getting feedback like this:

— When are you going to come out with the Python API for commands?
— I’m looking for a way to extend Enso.
— Is it is possible to enrich Enso with custom commands?
— I heard there will be support to create your own commands. How far off is this?
— An SDK would be wonderful!
— Being a Python developer, I am very interested in the ability to expand Enso.
— Would you have any available API’s?

The entire Humanized team is extremely proud to announce that the answer to whether is “Yes“, and the answer to when is “Now“! Today marks the release of Enso Developer Prototype, which lets anyone develop commands for Enso. It’s free and it’s available for download.

Continue reading »


Tuesday
23 Oct 2007

User Interface of the Day #7: BeFunky.com

Design UI Design Fundamentals

BeFunky.com, another of this year’s TechCrunch40 winners, is a private beta site that enables you to create “funky ways to express yourself.” If you have some time to kill, create a personal avatar of yourself dressed in plainclothes, or get fanciful and use one of the the costume options to turn yourself into a beer maid (as Lauri has done), superhero or other fantasy character. You can even give yourself a Burmese or Persian cat, or add a celebrity such as Woody Allen. Because it’s still in beta phase, you have to request an invitation to use BeFunky. Don’t worry — the process is painless and quick. But is it worth the effort to register? Read on.

Continue reading »


Monday
22 Oct 2007

Undo Made Easy with Ajax (Part 2): Time-Sensitive Actions

Commentary Software Development

This is the second part of the Undo Made Easy with Ajax series. If you are jumping in late, make sure to check out part 1.

Last time we covered the event queue method, an entirely client-side way of implementing a light-weight, multi-level undo. I mentioned a couple of caveats, including that it does not work in multi-user collaborations, and that it doesn’t work for time-sensitive actions like sending emails. I missed a significant caveat that one of my readers, Alexander Botero-Lowry, pointed out: That two tabs, pointed to the same page, could get out of sync. I wrote about how to solve that issue with cookies.

This time, let’s take a look at solving Undo for time-sensitive actions. In the event queue method, we could wait until the “onunload” event to sync the user’s actions from client-side to server-side. For time-sensitive actions like sending emails, we don’t have that luxury. Worse, email is a push technology. Once an email has been released into the wild tubes of the Internet, it cannot be unsent.* For the unfortunate who hits “send” only to realize that they’ve CC’ed their boss on a steamy love letter, the only things left to hope for are power outages and spam filters. Given how often spam slips past my filters, the outlook is not so good.

Continue reading »


Friday
19 Oct 2007

User Interface of the Day #6: ThinkFree.com

Design UI Design Fundamentals

ThinkFree.com, an online office suite poised to rival Microsoft and other free options such as google docs, claims to be “the best online office on earth.” Its free version offers 1GB of storage, as well as a document viewer and online document collaboration, all within an interface that essentially duplicates that of Microsoft Office. ThinkFree applications Write, Calc and Show use the same formats as Word, Excel and PowerPoint. Some people like ThinkFree’s extreme similarity to the tried-and-true Microsoft suite; Computerworld raved about it in a recent review. But while imitation may be the most sincere form of flattery, does it result in better, more humane interfaces? Read below and find out.

Continue reading »


Thursday
18 Oct 2007

User Interface of the Day #5: Mint

Design UI Design Fundamentals

Ever wanted a quick, convenient way to monitor your spending habits? Mint.com, a free, online money management tool, allows you to do just that. Connected to over 3,500 US financial institutions, Mint updates your account information nightly, and automatically categorizes all of your purchases so that you can track how much your Starbucks habit is costing you. Last month, Mint was featured as one of the TechCrunch40 showcase of start-ups; reports say that new features will be added next week. So, is it awesome, or what? Read on.

Continue reading »


Thursday
18 Oct 2007

User Interface of the Day #4: Mango

Design UI Design Fundamentals

Today the Humanoids review Trymango.com — a Flash-powered language learning course currently available for free as a beta product. Mango offers nine courses for English speakers, as well as English courses for Spanish and for Polish speakers. After typing your email address and logging in, choose a language from the scroll-down menu and begin learning. Is Mango an effective learning tool? Read and find out.

Continue reading »


Wednesday
17 Oct 2007

User Interface of the Day #3: Flashearth

Design UI Design Fundamentals

Today the Humanoids review flashearth.com: a Web app that uses satellite and aerial imagery from Yahoo, Google and other Websites to enable you to view the world’s surface from the comfort of your easy chair or desk. If you’ve ever wondered what the Sahara, your childhood home, Chicago, or any other destination looks like from the skies, use flashearth.com and find out. Here’s what we have to say on this app’s UI:

Continue reading »


Monday
15 Oct 2007

User Interface of the Day #2: Favicon.cc

UI Design Fundamentals

Today the Humanoids review favicon.cc. This simple, straightforward Web app enables you to quickly create your own favicons: Little images used to personalize and add a splash of color to your address bar. Pick up your digital pencils, sketch your ideas in a liberating 32×32 pixel grid, save the results, and presto!

After trying out the favicon generator, we gathered around the office table and shared our thoughts, which you can (and should!) read below.

Continue reading »


Friday
12 Oct 2007

User Interface of the Day #1: Dontclick.it

Commentary Design


This is Humanized’s first “Interface of the Day” weblog posting. Every week, from Monday through Friday, the six of us will share our thoughts on a new example of interface design. For our first “victim,” we’ve chosen dontclick.it, an interface that attempts to completely eliminate the “click” from your usage of the mouse. Dontclick.it’s authors assert that their project improves “total control and quickness” while challenging existing norms and beliefs regarding user interfaces. Is it successful? Read below to find out!

Continue reading »


Thursday
11 Oct 2007

Play That Song, Without Looking

Our Products UI Design Fundamentals

Today is a good day to listen to music: Enso Media Remote Control now has six new commands in it. Remote Control has been the most popular beta product, so we chose to revisit it first. Like all of our other beta products, the new Remote Control is completely free. (Unlike our full products Enso Launcher and Enso Words, our beta products do not automatically update, so whether you already have Remote Control or not, you’ll need to download the new installer if you want to try it out.)

Play me a song, Enso

The whole point of Media Remote Control is to let you control your music without having to switch applications. With the old Media Remote Control, if you wanted to hear a specific song, you would still have to go back to your media player and then click around to find the song you wanted, breaking your train of thought. With the new commands, you can tell Enso to play a specific song without having to switch applications, or indeed, even take your hands off the keyboard.

How does it work? If you know the exact song you want, you can say play song heart of the sunrise (for instance). If you want to hear a certain artist but don’t care what song, you can say play artist zappa and let Enso pick a random song by Frank Zappa. You can do the same thing with albums and genres: use play jazz and let Enso surprise me with a random jazz song.

Before you get too excited, right now these commands only work with iTunes. That’s why Media Remote Control is still a beta product. (Why iTunes? It’s not kickbacks from Apple. It’s for purely technical reasons: it was easier to make this work with iTunes than with any other media players.)

Continue reading »


Friday
5 Oct 2007

Ten Ways to Make More Humane Open Source Software

Commentary Software Development

A lot of bandwidth has been wasted arguing over the lack of usability in open-source software/free software (henceforth “OSS”). The debate continues at this moment on blogs, forums, and Slashdot comment threads. Some people say that bad usability is endemic to the entire OSS world, while others say that OSS usability is great but that the real problem is the closed-minded users who expect every program to clone Microsoft. Some people contend that UI problems are temporary growing pains, while others say that the OSS development model systematically produces bad UI. Some people even argue that the GPL indirectly rewards software that’s difficult to use! (For the record, I disagree.)

Meanwhile, as these arguments swirl, I’ve been quietly relying on OSS to get my work done. As a professional developer, I spend my most of my time interacting with three programs, all of which are free and open source. I chose each out of dozens of alternatives precisely because I think each of them has the most humane interface in its category. Some OSS isn’t just usable, it’s more humane than the closed-source alternatives. One the other-hand, there’s plenty of OSS which is downright painful.

In an effort to understand usability in the OSS world, I’ve researched the stories behind my favorite — and least favorite — OSS programs. I’ve found a fascinating variety of personalities, design philosophies, and project organizations. Although I’ve only scratched the surface, there are already themes that come up again and again. Because everybody loves top-ten lists, I’ve distilled my observations into a top-ten list of OSS “do”s and “don’t”s.

Continue reading »


Tuesday
25 Sep 2007

Information Complexity and the Downfall of the Adventure Game

Commentary

The bedroom of Arthur Dent, one of the 35 rooms in Infocom’s Hitchhiker’s Guide to the Galaxy from 1984, is an elegantly simple construction. A few years ago, as I played this game along with a slew of other Infocom titles for the first time since my childhood, I quickly realized how much more fun they were than any adventure game I’d played since. They didn’t necessarily have a better story, perhaps, but they involved virtually none of the tedium and frustration I’d often experienced with the newer entries into the genre.

I started wondering why that was, and it occurred to me that the problem was one of usability.

Read more of my article in Issue 116 of The Escapist to learn more about the clash between user interface design and game design.


Monday
24 Sep 2007

Introducing Enso Map Anywhere

Fun Our Products

Imagine this. You are writing an email to a friend and you mention that you want to meet at your favorite breakfast place in Chicago: Tre Kronor. Wouldn’t it be nice to be able to send them Tre Kronor’s address along with a map? Currently, the only way to do this is to open your browser, load up a site that provides maps, do a search for the restaurant, wait for the map to appear, copy the URL of the map to your email, copy the address to your email (and reformat it), and finally close your browser. Gross—and you’re not even sending a map, just a link to one!

Enter Enso Map Anywhere.

Enso Map Anywhere lets you select an address or a business name and add a map in place. For instance, if you don’t know where a business is, you can just highlight its name and you’ll get a beautiful map from Google with the location marked, along with the business’s full address and phone number. Alternatively, you can use the map command on a partial address like “4611 N Ravenswood” to get a map and the full address. It’s a great way to look up a forgotten ZIP code.

So download it now, it’s free forever and works with (but doesn’t require) other Enso products. Go map happy. It maps in lots of places, from Word to Gmail. You can even use it while blogging in Word Press. Check it out:

Bongo Room, Chicago
Map
Bongo Room: 1470 N Milwaukee Ave, Chicago, IL - (773) 489-0690
Did you mean the Bongo Room at 1152 S Wabash Ave, Chicago, IL - (312) 291-0100?
Mapped by Enso Map Anywhere


Friday
21 Sep 2007

Undo Made Easy with Ajax (Part 1.5)

Software Development

This is the second half of the first part of the Undo Made Easy with Ajax series. If you are jumping in late, make sure to check out Part 1.

One of my readers, Alex Botero-Lowry, pointed out a big caveat to the entirely client-side event queue method of implementing Undo: If a user opens a second tab to a page they were viewing, those pages might be out of sync. In the to-do list example, if you delete three to-do items and then open a new tab/window to the same page, those to-do items would still be there. Why? Because the first page knows about the deletes (even though they are uncommitted) and the second does not.

Let’s take the client-side only approach and run with it. There is something nice about not having to mess with the back-end. We can fix the multiple-tab problem by syncing the event queue across all open pages with a cookie.

Continue reading »


Wednesday
19 Sep 2007

Avast ye Win-lubbers: Here be Pirate Translation

Fun Our Products

In honor of International Talk Like a Pirate Day we’ve added the pirate-talk ability to Enso Translate Anywhere! To chat like a sea dog, all you’ve got to do is to select your text and use the “translate to pirate” command. To make your Photoshop captions more swashbuckling, just select them and use the “translate to pirate” command. Even your file names can be made less land lubbin’. Seriously, what could be better?

Want the penultimate laugh? Select an email to your boss, translate, and shiver his timbers.

Arrrr you wanting to know more about this horn swogglin’ Enso and its commands? Sail o’er to this link. And, a round of rum to Jeffrey Souza for being the source of all our buccaneer-talk knowledge!

So take out your hornpipe and grog, and download Enso Translate Anywhere, the pirate edition. Where does it run? I’ll give ye a hint: XP marks the spot (Vista and 2K too, arr).

Now, t’ return t’ findin’ me some golden interface booty.


Monday
17 Sep 2007

More Enso Commands. For free.

Our Products

We are proud to announce four new Enso products. This time they’re all free.
Enso Media Remote Control
A remote-control for your music: play, pause, and skip tracks in you favorite music player without moving from your current application.

Enso Translate Anywhere
The power to translate English to and from eight other languages, in any application.

Enso Web Search Anywhere
Provides commands for performing web searches using a variety of web services, from Amazon to Youtube to your Gmail account.

Enso TeX Anywhere
Effortlessly render TeX markup into beautifully type-set equations (and convert them back again) anywhere from Powerpoint to your email.

Can’t decide which one you want to try first? Then download them all with the One Installer.

Continue reading »


Friday
14 Sep 2007

Undo Made Easy with Ajax (Part 1)

Design Software Development UI Design Fundamentals

As users, we make mistakes. As designers, we need to design with mistakes in mind, as I argued in my recent article, Never Use a Warning When You Mean Undo. Undo is the ultimate safety net, lending an incredible sense of solidity to an interface. That’s why every desktop application from Word to Photoshop provides multiple-level Undo.

So, then, why are Web apps that provide any sort of Undo so few and far between? The answer I often get is that Undo is hard to implement. I’m here to tell you that it is not.

In this series of blog posts, my goal is to explain just how easy it is to provide Undo functionality. Recently, I gave a preliminary version of this post in a workshop. After giving the front-facing demo of how Undo could work, the audience moved slightly towards the edge of their seats (it’s all you can hope for in the post-lunch session). When I opened the source code and started showing how I implemented undo, the universal response was, “Why are you bothering to explain this implementation? It’s barely anything at all. We’re software engineers. This is easy.”

That’s my point!

Adding Undo to your interfaces profoundly and positively affects the usability of your site. It reduces user frustration, and increases user trust. Both of those outcomes mean that more users continue coming back, which helps your bottom line. Remember: To the user, the interface is the product.

Continue reading »


Wednesday
5 Sep 2007

“Wikipedia” + “Expert” = “Wikspert”

Commentary Fun

I’d like to propose a new portmanteau for inclusion in the English language: “Wikspert“.

A wikspert is someone who is an expert on a topic purely on the basis of having read the Wikipedia article on that topic. In short, “Wikipedia” + “Expert” = “Wikspert”.

Once confined to an exclusive class of in-the-know computeristas, the last couple of years have seen proliferation of “wiksperts” in every level of our society. They’re everywhere. From business-school professors to burger-flippers, everyone now has a quasi-authoritative opinion on, for instance, how much corn is produced in Iowa. These trivia, once the sole purview of academic cocktail parties, have now been liberated for the masses. In fact, every one of us either knows a wikspert or is one ourselves. Personally, some of my best friends are wiksperts, and I know a suspicious amount about liopleurodons, pumas, and the ethnic make-up of Romania in the early 1800’s.

Continue reading »


Friday
31 Aug 2007

A Teaser

Our Products

Here’s the situation: After a lot of searching, I have found that piece of information I really need. But it’s on a website written in a language that I don’t speak. I don’t need a perfect translation; I just need to get the gist of it.

Of course, there are free translation web-apps like BabelFish or the beta Google Translate. But by the time I’ve found the translation service, gone back to the first web page, copied the paragraph from there, gone back to the second web page, and pasted it in, I’ve already forgotten what it was that I wanted to know.

I’m lazy. I’m impatient. I want it now! And when my friend is chatting to me online and trots out their French, I want to be able to impress them by immediately knowing what they said and how to respond.

Actually, it annoys me every time I have to take my mind off what I’m doing and have to go somewhere else in order to do something. I want to bring everything to me. So really, I want everything to be an Enso command.

Well, we don’t have “everything” yet, but we’ve been working on something big. How big? How does thirty-three new commands sound? How about thirty-three new commands for the cost of zero?

Check back soon to find out what they are.


Thursday
16 Aug 2007

MoonEdit: Redux

Commentary Software Development

Last year, Aza wrote an article about how MoonEdit enabled us Humanized folks to do some painless collaboration. Someone recently posed the question:

[A year] after that posting, do you still make a lot of use of collaborative editing for recording group talk and crystallizing it into more cohesive documents?

The simple answer is: No.

Continue reading »


Monday
30 Jul 2007

Redesigning the iPhone’s Buttons

Redesign

In my recent article about the first generation woes of the iPhone, I complained that the volume buttons are difficult to use in landscape mode; that the natural mapping that works so well in portrait mode (up means louder, down means softer) fails after the rotation (left means louder, right means softer). I suggested that the iPhone could detect its orientation and correct the mapping accordingly. In other words, the iPhone should swap the meaning of the buttons based on the phone’s orientation. The result? Widespread criticism. Even the venerable Apple pundit John Gruber weighed in with “I strongly disagree with [Aza’s] idea about the volume buttons.”

It’s clear I need to make my case stronger, or else banish the idea to the halls of interface shame (a fate normally reserved for Clippy and Adaptive Menus).

Continue reading »


Thursday
19 Jul 2007

We are pleased to announce…

Our Products

…the news that Enso now works on Windows Vista and Windows 2000!

We’ve just released a new Enso patch which has added compatibility with Vista and 2000. There is still only one version of Enso, though — instead of supporting a separate version of Enso for each of the three operating system versions (and making you worry about which version of the installer you need to download), we’ve just made one Enso version that’s compatible with all three.

If everything works as planned, your copy of Enso should be automatically updating itself to include the new patch.

If you’ve been wanting to try Enso but your operating system wasn’t supported, now’s your chance to try out our full-featured free demos.

If you’re using Enso on Windows XP, this patch still has something for you. As usual, we’ve fixed all the bugs we could, so the situations where Enso could crash — already pretty rare — have become even more rare.

Also, you can now get help on a particular command by typing (for instance) “help calc” or “help google”.

Speaking of help and rare situations, there’s a new pattern we’re starting to follow: If Enso runs into a weird situation — for instance, if it can’t complete your command for some reason — it will put up a short error message, and if you want to find out exactly what went wrong, you can use the “tell me more” command. At the moment, there’s only one place where we’re using this pattern, and you might never even encounter it. But our goal is to take care of every problem, not just most of them, in a humane way. So we’ll probably be adding more uses for “tell me more” as we expand on Enso.

The other big change is in the way Enso gets installed. If you’re upgrading an existing installation of Enso, this won’t affect you. But from now on, when you install Enso on a new computer, you’ll be installing it just for one user account (your own) and not for all user accounts on the computer.

If you’re the only one who uses your computer, there’s not much difference. But if you have a family computer with an account for each family member, how will this affect you?

First of all, let me be perfectly clear: We’re not going to start charging you for each user of your computer. (That would be silly.) You’re still welcome to buy a single license and use it to register Enso for multiple users on the computer.

So why are we making this change? There are a couple of advantages for you. The big one is the ability to install Enso from a regular user account now, not just an administrator account. For security reasons, it’s better to use the administrator account only for the things that absolutely need it — and Enso isn’t one of them.

Also, this change means that preferences are now per-user too, which we think is an improvement. Suppose I want to hold down Caps Lock to activate Enso, but I share a computer with someone who wants to tap the right Shift key to activate Enso. We don’t have to fight over it if we can each have our own settings.

Finally, trial periods are also per-user now: if somebody else on your computer has been using a trial for 30 days, this no longer prevents you from downloading a trial on your account and having 30 days of your own. (Can you tell we want as many people to use the trial as possible?)

We’re already at work on the next Enso patch, which will add a very exciting new feature. I can barely wait to show it to you, but I’ll restrain myself until the feature is ready.


Please note: Since January 15, 2008, all Enso products have been free. Any information in the above post about prices, trials, or demos is, therefoure, out-of-date. To get the latest version of Enso, free of charge, see the main Enso page.


Wednesday
18 Jul 2007

Never Use a Warning When you Mean Undo

UI Design Fundamentals

Have you ever had that sinking feeling when you realize — just a split second too late — that you shouldn’t have clicked “Okay” in the “Are you sure you want to quit?” dialog?

Yes? Well, you’re in good company — everybody has had a similar experience, so there’s no need to feel ashamed about it. It’s not your fault: it’s your software’s fault.

Why? Because software should “know” that we form habits. Software should know that after clicking “Okay” countless times in response to the question, we’ll probably click “Okay” this time too, even if we don’t mean to. Software should know that we won’t have a chance to think before accidentally throwing our work away.

Read more of Aza’s article on A List Apart to find out how to solve these warning woes.


Friday
13 Jul 2007

Forging The Seal: When beating the game is beating the interface

Commentary

Breaking the
drake’s will was the easy part.

The dragon “Emberstrife” faltered before her, his wings flailing in
the air, struggling to support his massive and broken frame. Ichor
fell from his wounds, sizzling into the water below him in a crimson
torrent.

“Use the orb! Control his mind!” yelled her comrade, the hunter.

It was time. She had to do as the mystic instructed: now that the
dragon’s will was broken, she must use the Orb of Draconic Energy to
claim dominion over his mental faculties, and force him to unleash his
breath on the Unforged Seal of Ascension, heating it in the Flames of
the Black Dragonflight and forging it into the seal that would open
the gates to Upper Blackrock Spire. Only then would she be able to
walk the dangerous path to her final enemy.

With a deep breath, she lay the unforged seal in the water and
activated the Orb.

Suddenly, she could see through the drake’s eyes. Before him was
the unforged seal, and at the bottom of his vision lay the key to all
his powers.

“Blast!” she cried. “It’s a toolbar.”

Continue reading »


Thursday
5 Jul 2007

iPhone and the First Generation Woes

Commentary

The iPhoneFor everybody who was hiding under a Godzilla-sized rock, Apple released the iPhone last weekend. It represents a big step forward in pure humane-ness of mobile devices. Despite the slow network, the poor customer service provided by AT&T, and the lack of an open development environment, I am still on the verge of getting one. Using its interface is a like drinking refreshingly cool water after a crawl over a barren desert made of discarded cell phones.

Instead of singing the praises of the iPhone (which it deserves), I want to describe some of the unpolished corners that escaped Apple’s quality assurance.

Continue reading »


Monday
25 Jun 2007

The End of an Icon

UI Design Fundamentals

Finding the right graphic for an icon is hard — and even if you do find a decently descriptive graphic, it might not be descriptive for long.

For the majority of cases, trying to represent an abstract idea like “bibliography” in a 32-by-32 pixel array is futile, even if you do have millions of colors and an alpha channel. Sure, you might choose a book with a magnifying glass as your icon, but that graphic could mean many things: “library”, “help”, “research”, “index”, “vision impaired”, etc. Any interface that uses the icon would still have to add a tooltip to explain what it means. There is a reason why we have words — it’s so that we can specify one thing in particular no matter how complex or abstract the thought.

Why make the user go spelunking for the information they need? Just give it to them.

It came to my attention recently just how fragile the connections are between the iconal representation of a concept and the actual concept. Here is the Microsoft Word icon for “to save”.

Word's icon for save, which is a floppy disk.
It’s a floppy disk. There is only a tenuous connection between saving and a floppy disk even for those of us who know what a floppy is (and at the moment most of us remember them), but floppy disks are on their way to becoming as unknown as Charles Yerkes. Don’t know who I’m talking about? That’s my point.

Continue reading »


Tuesday
19 Jun 2007

Humanized Puzzler #2: Firefox Tabs

Puzzler

Recently I wrote an article called Firefox 2.0: Tabs Gone Wrong. In it, I argue that Firefox introduced a new feature that represented a big step backwards in terms of tab usability:

In Firefox 2.0 a “feature” was introduced that dealt with the edge-case where there were many tabs in a new way. It takes a giant step backward by actively concealing information.

Previously, as the number of tabs grew, each one’s size would shrink. Eventually, there would be so many tabs that you couldn’t even read their titles. But, while this clearly wasn’t ideal and led to a certain amount of hunting for tabs, you at least always knew roughly where it was: “an inch or so from the right side of the window”. Now, however, the tabs remain mostly readable but can scroll off-screen.

Firefox 2.0 style tabsTo access off-screen tabs you need to click on the little arrows on the left or right of the tab bar. For allowing a only a subset of the tabs to be readable at a time, a lot has been sacrificed:

  1. Scanning your eyes across the tab-bar no longer guarantees you’ll see all of the tabs — this has tripped me up a number of times: I’ve ended up with 3 or 4 identical because I didn’t realize that I already had the tab open;
  2. You can no longer associate a tab-bar location with a certain tab because they shift around every time you scroll — the interface doesn’t feel stable anymore;
  3. Scrolling through tabs is quite slow — I find that it is often the case that opening a new tab is faster then finding the old one.

Well, here’s the thing. Mozilla is listening. They want a better solution and are willing to put it into Firefox if it’s good.

Continue reading »


Thursday
7 Jun 2007

Why Software Stinks: Introduction

Software Development

In my recent article Good Service—Bad Software, I made a stink about why open-source software is inhumane and unusable. To all those who read this and thought I was flaming, sorry, I really messed up there; my article sounded like a flame. As some commenters suggested, there are some excellent examples of humane interface design in the open source world. I know that there are forces for good in the open source world; among them, contributors who are unpaid and simply want usable software for their own use. I know that there are people, both in the companies I seemed to be accusing and outside of them, that try to make free and open source software usable.

So I asked myself: why on earth did I actually write this article, when I knew it was going to incite flames? What makes me so passionate that I feel the need to write articles like this? Because, well, software stinks.

Continue reading »


Tuesday
5 Jun 2007

Iterative Design: Towards the Perfect Paper Plane

Design

Paper Airplane (Beta)Iterative design isn’t design by trial and error. Iterative design is a process of continually improving not just the design, but also the problem your design is trying to solve.

Coming up with a solution is often the most straightforward part of the design process. That isn’t to say that creating the solution is easy, or doesn’t require a deep knowledge and honed skill set. It’s just to say that when you have a set of requirements and a well defined problem, you know where you stand and where you have to get to. It’s mostly straightforward. Much harder is the implicit problem of figuring out exactly what the problem is in the first place. If the problem is vague or ill-defined, the design solution will be too.

Continue reading »


Tuesday
29 May 2007

Good Service — Bad Software

Rant

Open source software is generally painful to setup and maintain. And it’s likely to stay that way because it’s open source.

Of course, I could hire someone to set it up for me. That’s what the service-oriented market is all about. I can get my software for free, try it out, and pay someone for support when I run into trouble. But there’s something nagging… setting up sendmail (or qmail, or any of the half-dozen email solutions I’ve tried) shouldn’t be as hard as it is. Why, over the numerous years–as it’s been worked on by a brilliant body of hackers–has it remained so obtuse?

There is a huge pool of open source software that is impossible to reliably obtain, install, set up, configure, operate, maintain, and upgrade unless you have years of experience. And there is a large pool of people and companies for hire who have the required years of experience to get something done. And we ask ourselves: who made the unusable software?

Continue reading »


Friday
18 May 2007

Death of the Desktop: The Movie

Commentary

Aza recently gave a talk first at CHI 2007 conference as well as a TechTalk at Google’s main campus. Google kindly videotaped this session so now everyone can see Aza talk about Enso, zooming user interfaces, the death of the desktop metaphor, and how he was carried around in the Mac classic bag instead of a stroller.


Continue reading »


Tuesday
1 May 2007

Mixed Thoughts on the Metaverse

Last week, I spent a few days in the much-acclaimed virtual world Second Life, having recently picked up and read the ten-dollar Unofficial Tourists’ Guide to Second Life.

I discovered that Second Life’s goals are actually quite ambitious: rather than being merely “a social MMO“, it aims to be an implementation of what Neal Stephenson calls The Metaverse—essentially an evolution