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 of the World Wide Web.

Continue reading »


Thursday
5 Apr 2007

Firefox 2.0: Tabs Gone Wrong

Rant

Firefox introduced tabbed-browsing to the masses. And it was good. It took Microsoft years to catch-up.

Why are tabs good? Frankly, because the standard windowing model is bad. It’s much easier to scan through a horizontal list of tab names then it is to wade through alt-tab’s textless, iconic grid. One of the benefits of tabs is that they are always linearly arranged in a fixed order. To find your tab, you simply have to run your eyes from left to right; once you get to the end, you’re done. With windows, however, your eyes have to rove around the screen looking for the one you want and you might never find it because windows can hide behind other windows. And unlike tabs, unless you’re very careful, windows will not stay in a consistent place because they are constantly being shuffled to accommodate limited screen real-estate. The net result is that finding a particular window is like playing whack-a-mole blind-folded, whilst finding a particular tab is like fishing for fish in a barrel with dynamite.

In short, tabs are better than windows because they don’t conceal as much information.*

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.

Continue reading »


Friday
30 Mar 2007

What Makes a Good Autocomplete?

Redesign

We’ve been working on a problem for the past couple of weeks: an optimal autocomplete algorithm.

Many of our users have said that while Enso is great, it requires a bit too much typing. We’re inclined to agree. Yet, figuring out the best solution is tricky: there are more autocomplete algorithms than bones in a school of lionfish. There are straightforward algorithms, too-clever-for-their-own-good algorithms, standard command-line-style autocomplete algorithms, and the list goes on. A lot of the algorithms seem to go down fairly easily when you first start playing with them, but they end up getting stuck in your throat due to some unforeseen edge-case. This post explains our thought process in evaluating the algorithms given the (g)astronomical number of possibilities.

Continue reading »


Tuesday
20 Mar 2007

Enso Update: Performance and Internationalization

Our Products

Today we released another Enso update, our fourth since Enso was first released.

Although we’re raring to add some of the new features we have planned, we decided to focus on fixing bugs for this patch. Our thanks goes out to all those who took the time to submit detailed bug reports when Enso misbehaved.

Continue reading »


Monday
5 Mar 2007

Are Adaptive Interfaces the Answer?

UI Design Fundamentals

Once upon a time, Microsoft had an idea: Why not have the most-often used menu items rise to the top of the menu, and have seldom-used items hide below a fold. In one fell swoop, Microsoft provided a solution to the problem of a single interface needing to meet the needs of many different users, from many different walks of life.

Great idea, right?

Wrong!

The idea hasn’t worked out so well in practice. Many users turn off adaptive menus in Office because they find the feature extremely frustrating. Even Microsoft’s own designers have admitted that adaptive menus didn’t work out the way they hoped. The feature has been removed quietly from the latest versions of Microsoft Office.

Continue reading »


Saturday
24 Feb 2007

Command Line for the Common Man: The Command Line Comeback

Commentary

Web 2.0 Style Command Prompt
Command line interfaces are bell-bottom out-of-fashion in the current Web 2.0 boom: I have yet to see an Ajax-enabled glass-reflected command prompt. Let’s face it, command line interfaces are extinct to the masses. The GUI dealt the first blow, and now the Web has nailed to coffin on the old style text interface, and it seems to have been a boon for the user. I don’t know if I can set up a printer on the command line, but I do know that I don’t want to try.

But maybe that isn’t the fault of command line interfaces in general. Maybe it’s just the command lines we’re used to. The hard part of learning Unix is memorizing command names as unfathomable as Stonehenge’s origin. And even if I do remember the command name, remembering its options is like bobbing for apples in a cement mixer. I still have to ask my co-workers what flags are needed for untaring a gzipped file. “tar -xfvz”. How could I forget?

If commands were memorable and their syntax forgiving, perhaps the command line wouldn’t be going the way of the punch card. And perhaps they aren’t. Perhaps, command lines are staged for a comeback.

Continue reading »


Wednesday
21 Feb 2007

Enso Update: Lots of Bug Fixes

Hello again, Enso users! We’ve just released another Enso update.

This one consists entirely of bug fixes and doesn’t add any new features. While there are lots of features we want to add to Enso as soon as we can, we decided it was even more important to fix the bugs that several users had reported. We’ve figured out the most common remaining causes of crashing, and fixed them, so Enso is now more stable than ever.

For most of you, the Enso update should have been transparent and automatic; you won’t even have noticed it. However, one of the bugs that we fixed was a networking problem that was preventing some users from getting licenses and updates. If you are one of these users, then your copy of Enso would not have been able to update itself to get the fix (kind of a catch-22, isn’t it?). How can you tell if you are one of these users? Read on.

Continue reading »


Tuesday
20 Feb 2007

CHI2007 with Firefox Co-inventor, SxSW, and Phishing

Commentary

Firefox LogoEven while we were busy working on Enso, Aza has found time these last couple months to prepare talks for some upcoming shows, and to write a just-published chapter for a book.

Aza will be giving a talk with Blake Ross, the co-inventor of Firefox, at CHI2007, on Thursday, May 3rd. Both Aza and Blake are working towards the abolition of desktop applications, although from different directions: Aza with his work on Enso, and Blake with Parakey. Parakey is some sort of Firefox-based portmanteau that blurs the edges of desktop/internet and features/applications. Joe Hewitt, the creator of Firebug, co-founded Parakey with Blake, and those two minds on any project makes it worth watching.

Continue reading »


Tuesday
13 Feb 2007

Interface Puzzler #1 Answer

Puzzler

puzzler.gifThanks to everyone who wrote in and gave solutions to the first Humanized Puzzler. There have been many more responses that we anticipated! I loved the discussion of the problem. Although I had meant for people to email the solutions privately instead of discussing publicly, in retrospect, the discussion was more valuable than the secrecy. The next puzzler will all be discussion.

I’d also like to apologize for taking so long in posting the solution. With the release of