All too often, when faced with a decision about how to implement certain functionality, engineers take the extreme position that:
- A feature must be exactly what 100% of users want.
- If the above isn’t true (and it almost never is), the feature must be configurable.
This binary approach is gravely wrong, and unjustly offloads decision-making onto the user of the software. We’ve all seen where this approach ends up: multi-row sets of tabs, scrolling panes of checkboxes, nested radio-buttons and a general overload of configuration.
Nearly everything about a real calculator is faithfully reproduced, but with the good comes the bad: nearly every limitation and frustration has also been reproduced. There’s very little reason to use the software facsimile over its real-world equivalent, and in some ways, the physical object is better.
Code Bubbles
I really like this concept for a spatial, zoomable IDE.
If you require a short url to link to this article, please use http://ignco.de/255
Patents
Apple’s lawsuit against HTC is not the first example of patents having a huge influence on how we are allowed to design user interfaces. If you’ve ever played a videogame and wondered why the game didn’t give you anything to do while a new level was loading, Namco’s patent is the answer. If you’ve ever bought something from an online store and wondered why you couldn’t just click on «Buy» and receive the item a few days later, Amazon’s patent is the answer (and yes, Apple has licensed that patent for the iTunes store). There are more examples on Wikipedia.
Marco Arment has an insightful take on the situation, and John Gruber has a pretty good lineup of the current patent situation, but I wanted to add two points that I think deserve more attention.
Small Companies
Gruber mentions large corporations and patent trolls in his essay. But small firms (with one to nineteen employees) make up the majority of all corporations.
While large corporations can afford to get defensive patent portfolios1, small corporations often can’t. It’s not that they couldn’t come up with ideas to patent. Most small companies could easily come up with dozens or hundreds of patentable ideas within days. But actually getting patents is expensive. Not just in terms of money (including paying lawyers), but also in terms of time. If employees are writing patents, they’re not improving the company’s products.
So most small to medium companies can’t afford to build up defensive patent portfolios. That means they can’t enter into cross-licensing agreements with larger companies. And since it is virtually impossible to not violate any of the patents held by large companies like IBM, Apple, or Microsoft, this makes small companies - and open source projects - vulnerable to patent litigation. As Marco Arment writes:
As a working software developer, the thought of accidentally and unknowingly stumbling into someone’s patent is terrifying.
And yet it is impossible to avoid doing exactly this.
Instead of protecting small companies and projects, the patent system is giving large companies a tool they can use to go after them. This is the reality of running a small software company: There is nothing you can do to defend yourself.
Patents Are Supposed to Be a Trade-Off
An inventor comes up with a new invention. The state then offers to protect this invention for a limited period of time. However, in exchange for this protection, the inventor writes up a detailed description explaining how the invention works, and agrees to publish this explanation. The goal is to get new inventions published, instead of kept secret.
In other words, the inventor «pays» for the protection by giving society (and his competition) access to the invention.
This trade-off does not apply to many software patents. I only need to spend five minutes on Amazon’s site to figure out how one-click shopping works. There is nothing useful I can learn from reading the patent. Likewise, I only need to turn on an iPhone once to figure out how to unlock it. This means that Amazon or Apple don’t give up anything when they patent these ideas. There is no trade-off involved; the state grants these patents «for free», because nobody gains anything from the publication of these ideas. They are already public.
Hence, most software patents are a rather one-sided affair. The companies get protection for their ideas, but they don’t have to give up anything in return.
-
Although if the number of patent lawsuits in the mobile phone industry is any indication, that whole «defensive patent portfolio» idea doesn’t seem to be working particularly well anymore, either. ↩
If you require a short url to link to this article, please use http://ignco.de/253
Jon Bell on Scrolling
Jon Bell has a good article on scrolling vs. «page flips». I have seen far too many «we don’t need pages anymore, since screens are windows to an infinite two-dimensional space» essays recently. Jon quotes Kottke:
The page flipping animation in the iBooks app though? Super cheesy. It’s like in the early days of cars where they built them to look like horse-drawn carriages. Can’t we just scroll?
I may be missing something, but I honestly don’t understand this. How is scrolling desirable to the person who is trying to read a book? If I’m reading a book, I want to fill the screen with text. Then, I want to read that text. Then, I want to fill the whole screen with new text, and read that.
What I don’t want do to is read text, then spend a second manually scrolling until new text fills the screen, while keeping track of where exactly I have to continue reading.
What does scrolling gain me, except more work?
Further Reading
Dragging through thousands of words of prose isn’t skimming, isn’t navigation… it’s laborious. You’re paginating by hand.
When I’m reading a book, I like to be absorbed into it. Any distraction which takes me away from the book, no matter how small, is unwelcome. Scrolling down the page with a flick of the finger is, frankly, too much effort.
If you require a short url to link to this article, please use http://ignco.de/254
Skinput
Technology allows devices to become smaller and smaller. Humans, on the other hand, remain roughly the same size, which can make interacting with such small devices cumbersome. Skinput uses the human body as an input surface for small electronic devices.
Via Warren Ellis.
If you require a short url to link to this article, please use http://ignco.de/251
Weekend Links
Boredom in Design
Jon Bell has an interesting article about designers who design for themselves instead of their users. It’s tempting to think of ourselves as artists. But that’s just not good enough. Wikipedia says:
Art is the process or product of deliberately arranging elements in a way that appeals to the senses or emotions.
People don’t just want to be have their senses and emotions appealed to by the things we design. They also (and perhaps mainly) want to get stuff done. It’s all to easy to let our own exuberance about our products get in the way of thinking about how people will actually use them.
Being boring is often the right thing to do.
Dashboards
Max Steenbergen has two neat articles about dashboard user interfaces: Dashboard UI’s: an introduction and Navigating around a dashboard UI.
Instapaper
The most recent version of Instapaper Pro supports reading using pagination. Marco Arment explains how he chose the «page change tap zones».
The ReadWriteWeb Facebook Login Incident
A lot of good articles have been written about this. Neven Mrgan has an explanation of what actually happened. He also has two follow-ups, Things people try to log into and I liked the old Facebook login better.
Dmitry Fadeyev tells us to focus on goals, not actions.
Jono DiCarlo writes that people don’t know how to read URLs. Keith Lang has some more about this. It’s not particularly surprising, really. Even explaining to people how to figure out what site they’re currently on is surprisingly difficult.

The takeaway here is that people don’t care about all of this technical stuff. Implementation details are meaningless. People just want to get things done. It’s our job to make sure that they actually can. If we can’t, we’re the stupid ones.
iPad
I’m not going to write much about the iPad until I have actually used one. In the meantime, here are some good articles about it:
- Steven Frank talks about the iPad as a «task-centric» device.
- Alex Payne on the iPad.
- Marco Arment on how Apple’s approval rules might impact the iPad.
- Matt from the Signal vs. Noise blog points out that computers shouldn’t make people feel like idiots.
- In the same vein, Mike Monteiro explains how computers have failed at giving people what they actually want.
Related to this, Macworld has an article on Apple’s shareholder meeting. Macworld reports that a shareholder asked Apple about «a simple programming language on the iPad». Strangely, Steve Jobs is quoted as saying «Something like HyperCard on the iPad? Yes, but someone would have to create it». I’m not sure where the misunderstanding is, but clearly, if somebody built something like HyperCard for the iPad, Apple would not approve it. Apple’s App Store rules do not allow apps which interpret code. One example for such a rejection is BasicMatrix, a BASIC interpreter for the iPhone1.
In my opinion, this restriction makes the iPad problematic for usage in schools. Basic programming courses are an important part of a proper education. Programming helps kids understand how computers work, it helps them to understand logic, and it’s also incredibly empowering. What’s more, being able to write Excel macros or simple AppleScripts is a useful skill2, regardless of what these kids eventually end up doing with their lives. Schools won’t be able to use iPads for such a course unless Apple changes this rule.
Finally, Apple’s rule also means that apps like Mathematica would probably not be allowed on the iPad.
How Gaming is Invading Reality
Interesting presentation by Jesse Schell, Carnegie Mellon assistant professor of entertainment and technology.
Swiss German
There’s a great article about Swiss German over at Thinking coral. Just in case you’re interested in that kind of thing.
And Finally
For some unfathomable reason, I have been interviewed by How To Get Focused, a productivity site. I want to make it clear that I did not write the byline above the interview. Which doesn’t mean that I don’t find it both flattering and hilarious.
-
Although there are exceptions. A reader points out that SpaceTime allows users to write applications. There’s also Frotz, a Z-Machine interpreter. So Apple will allow some applications which execute code into the app store, and disallow others. Without knowing whether an app will be allowed, however, it will make little sense to actually create it for most developers. ↩
-
Note that I’m not saying that schools should teach the Excel macro language or AppleScript, but that learning basic programming will help kids learn other languages like the Excel macro language or AppleScript on their own. ↩
If you require a short url to link to this article, please use http://ignco.de/248
Jamy Ian Swiss Talks About Empathy
Great presentation by magician Jamy Ian Swiss, who explains concepts like mental models and storytelling by equating software to magic.
Jamy Ian Swiss at Gel 2009 from Gel Conference on Vimeo.
Jamy Ian Swiss calls himself an «honest liar», because as a magician, he promises to deceive his audience, and then promptly does. User interface designers are somewhat similar, though probably a bit less honest. We constantly lie to our users about what they actually see. A button on a screen isn’t really a button, it’s a bunch of colored dots. The better we lie to users, to more easily we can convince them that it actually is a button.
So while we may not be as honest as magicians, our lies nevertheless are in the user’s best interest.
If you require a short url to link to this article, please use http://ignco.de/247
Windows Phone 7 Series
It’s hard to judge a user interface based on movies and pictures alone, but I think it’s pretty safe to say that Windows Phone 7 Series is a huge improvement upon earlier versions of Windows Mobile. If Microsoft won’t quite catch up to Apple and Palm, the release of Windows Phone 7 Series should put them at least a whole lot closer.
Microsoft’s official site shows off some of the new user interface, which is very reminiscent of the Zune HD. Engadget and Gizmodo have movies. Ars Technica has a nice overview of the new system.
If you require a short url to link to this article, please use http://ignco.de/246
Locus OS
Locus OS is a user interface concept for portable devices. It changes aspects of its UI based on the user’s location.
The idea of organizing files into projects seems interesting. The movie doesn’t show much of how this works - it seems users can either interact with their files in a spatial way, or using a timeline, but the timeline is never shown. Files do not seem to be associated with specific applications.
The system seems a bit disjointed, switching from a rich graphical user interface to a kind of text-based menu structure at one point. But it certainly contains some neat ideas.
Note that this is not actually a Microsoft project, despite of the logo in the movie.
Found via Sean Ren.
If you require a short url to link to this article, please use http://ignco.de/245



