Archive for the ‘tech & usability’ Category

8 phrases for what you do with RFID cards

Friday, February 2nd, 2007

One day, maybe we’ll settle on one or two.

locked into DRM

Thursday, January 18th, 2007

This article really gets at the center of the issues around digital music distribution and why “encrypted” music, at least as it is today, serves no one but the hardware manufacturer whose line of music players you’re now locked into using.
Apple’s employment of DRM drives me crazy. The iTunes store was the first big digital music store, and I think their DRM is a relic of early deals with fearful record labels. It may not be very (legally) easy for them to shut off at this point. Apple is a lifestyle, so I understand why it’s important for them to control the horizontal and vertical, the hardware and software. But in my opinion, proprietary standards like FairPlay do not last. Sure, it has seen a lot of use because of the iPod’s popularity, but I think MP3 will win in the end because it is open.
I also think services like Rhapsody, where you can subscribe and stream any music you want for a fixed monthly fee, ala NetFlix, could win out in the end. It’s a funny psychological difference—between purchasing music and having a subscription to listen to music. It really depends on people’s feelings about music: do they want to “own” it or do they just want to listen? You never really own music, though. You own a license to play it, and you own some packaging material. So the idea of music ownership is really about the sentimentality felt by a collector about the packaging, and so far there is no replacement for that sentimentality in any digital service. The extreme music collector hardly even has a CD collection, because they know the only real emotion—the only true sentiment—is cut out of vinyl, not plastic.

Technological Arms Races

Tuesday, November 7th, 2006

Last week I saw a very good lecture by Ray Kurzweil at Harvard, the subtitle of which was “In the 21st century, intelligence will underlie everything of value.” But the real meat of the talk was around two things: one, the exponential pace of technogical progress, where progress is advancement in the form of new technology and exponentially decreasing costs and size. Kurzweil has spent many years building models of future technology, and he was able to predict things like the growth of the Internet, back in the early 1980s. Expoential growth has a way of creeping up on you. When the size of the network goes from 128 nodes to 256 in a given year, no one notices. But when it goes from 64 million to 128 million in a year, that’s a big deal. His current prediction is that medicine is on a path where, in about 30 years, we will be increasing the average lifespan of humans by more than 1 year each year. In other words, in 30 years we will all live forever, or at least we will not die because of medical problems. Kurzweil does a good job of showing past data about technological growth that make his current predicitons seem within the realm of possibility.
Of course, on hearing something like “in 30 years we will all live forever,” a shiver runs down my spine as I think about the ugly battle for resources on a planet full of people who are living forever. It’s quite possible that we’re approaching a tipping point, where we either reverse the effects of technology on our planet and move forward into a virtuous cycle of prosperity and renewal, or we lose too much ground or develop something that destroys us for good. This will be a major milestone in human history, and it’s hard to say when it will happen. I think miniature versions of this ultimate deathmatch have been happening throughout human history, and I believe we won’t know exactly when we’ve passed the tipping point.
Which brings me to the second component of the talk. Technology is a tool which can be used for “good” or “evil.” Many technologies go through “arms race” phases as they grow—computer viruses are a great example. Virus technology and virus detection technology have always been neck-and-neck. Phishing and anti-phishing, encryption and cracking, missiles and anti-missiles—these battles are costly to fight and often result in a lot of collateral damage. But they are a maor driving force for technology. Damn, we say, someome figured out how to make a virus that dynamically reorganizes itself—now what? Technology takes a step forward.
But while these arms races literally shove technology forward, I think they are a very damaging way of doing it. One might say that the cold war was an arms race with a positive outcome, because we did not destroy ourselves. But on the other hand, what about all the military ditritus that was developed, manufactured, and deployed on both sides between 1947 and 1985? Who’s holding those guns now? They are still on this planet, somewhere, probably being pointed at someone by another. They have dissipated across the world and are still being used to exploit and oppress, to maim and kill. So, does that mean the whole of the cold war had a net negative outcome? I believe so, and this is the kind of thing that keeps me up at night. I think most arms races kick off a destruction pattern that haunts us into the long term.
So as technologists, we have to learn to be accountable to what we’re putting into the world. A better version of the cold war might have been fought on paper and with diplomacy. “Oh, it looks like we won’t have the resources to win this. So lets just settle it now.” Seems unlikely though, doesn’t it?
But do you see how it all boils down to a social and economic problem, not just a technological problem? With no conflict, there is no need for destructive technology. It’s not just renewable resources that will save us. It’s global diplomacy, education, and a global consciousness. But technology is a huge factor, and my biggest hope is that more future resources will be devoted to technology that sustains rather than destroys. We need to leverage the exponential growth toward a future that works.
And the trouble is, by no means does capitalism guarantee this. The planet is not going to wait around until we decide that the economic atmosphere is right for sustainability. It’s not going to wait around until we choose to quit our oil addiction. Mother Nature has so often appeased us in the past, so we assume she will in the future. “Oh, sure,” she’ll say, “I’ll just hang on a minute while you figure out how to keep my icebergs from melting.”
Kurzweil is unfazed by the urgency of climate change. He criticizes Al Gore for assuming linear technological growth in “An Inconvenient Truth.” Thirty years from now, Kurzweil said, we’ll have reversed all the effects of climate change and eliminated fossil fuel use. Such is the stunning impact of exponential technological growth; you can’t even imagine what will be possible. I sure hope he’s right.
POSTSCRIPT: A quote from an aging Thomas Edison, asked about his predictions for the future: “I’d put my money on the sun and solar energy. What a source of power! I hope we don’t have to wait ’til oil and coal run out before we tackle that.”
POSTSCRIPT 2: Robin just pointed me to Bill McKibbon’s recent review of books on climate change.

usability

Monday, July 19th, 2004

Open source usability is indeed a major problem—I think it’s the biggest thing that has kept the Linux desktop out of most hands. With so many coders switching to Mac OS X, we know that even people in the software industry avoid it. It’s a shame that the Linux desktop is not so easy to use, because the community has put so many hours into the development of projects like KDE (which describes itself first as easy to use, right on its front page). I often feel that the community has made a bed which it is now avoiding.

One problem is that open source is largely about cloning commercial software and then adding features. Many developers add one or two features they want for their own use, incorporate their changes back into the source without a thought to the utility of, or excise created by what they’ve done (Luis Buñuel: “Every object conceals another.”).

We don’t need more features. No one wants a system with 34 buttons in the administrative part of its file brower, or 28 options on its main menu, 16 of them being submenus that beg questions like, “What’s the difference between Office and OpenOffice.org?” or “To change my desktop background, do I go to Settings, System, or Utilities?”

People typically have a pretty small set of tasks they ever want to perform with a computer program, and the variety from person to person isn’t that great, so what we need is fewer options. You might propose that we just remove some features, sculpt the software into perfection, and we’ll be all set, right? This is what Frans Englich proposes in a recent article on NewsForge. I think this approach would help, but I don’t think it’s the answer. We can incorporate a lot of options if they’re presented in an organized, hierarchical (some options more strongly emphasized than others, many options hidden away for only the most advanced power-hungry users to find), and intuitively obvious way that is consistent and cuts across the entire system.

Usability starts broad and goes down to the core, within and between software; it is not just the fine patina at the surface. Though sculpting current software down to a simpler form that addresses 90% of the typical user’s goals may help, I think great usability is thoughtfully considered throughout the development cycle.

This is how Apple has been so successful when it comes to usability: they’ve chosen to design and control every level of the experience, not even stopping at the edge of your desk. Apple is practically designing a lifestyle. Their individual compontents are easy to use and consistent with each other, and the interaction between components is clear and consistent. Usability considerations aren’t constrained to one program. Apple’s approach doesn’t just go to the core of software, it goes to the core of all software and hardware in their system and to the global APIs that are available in all software. A thorough style guide means that keyboard shortcuts in one program that are consistent with keyboard shortcuts in another, and so on. So while you may look at a small change in source code and say “this makes my program more (or less) usable”, this is not a strategy for great usability in my opinion.

I do think we can have usability in the open source community. Making incremental changes to individual pieces of software won’t cut it, however. I believe that (yet again) a new Linux desktop/distribution should be formed, with usability as its purpose, and with the following goals:

  • Maintain interface consistency within and between all components. No software should be allowed in without meeting these criteria, and no more than one program of any kind is allowed (unlike today where there are five options for MP3 players, etc.). This kind of consistency is best achieved, in my opinion, by an auteur—someone who provides the central vision, and acts as gatekeeper and high-level decision maker, just as Linus Torvalds has done so successfully with the Linux kernel.
  • Severely limit or reëmphasize the options available to the user. We’ve already got way too many choices in this world. Lets reduce interface excise, hide or remove the least-used options, give greater emphasis to the most-used options.
  • Require all programs to use consistent keyboard shortcuts, preferences, operating system functions (like cut and paste), the same file browser, and so on. Make overarching OS-level decisions about the direct manipulation of data, so that this is consistent across all programs. This isn’t just about drag and drop, it’s also about spell checking, renaming things, etc.
  • Waste no pixels, leave as many as possible for content, use as few as are needed for interface.
  • Prevent crashes by allowing only mature, low-bug software (the Debian approach)
  • Make it comfortable for my grandmother or the hacker next door. Comfort requires the OS to become a part of the person using it, to take on the user’s personality. A new user should be able to quickly settle into the system and feel good using it. After all, the goal is to make the user feel productive doing whatever it is they’re doing, and productivity is just as much an emotion as it is an internal measurement.

There are more items on this list; I don’t know them all. A usable Linux desktop will need a lot of thought before it gets off the ground. I think it will need a clearer statement of the goals, a thorough style guide, and so on. This project could be greatly informed by other style guides and usability books, but it also needs to be tailored to the nature of open source development.

If executed properly, I think the final desktop environment will be far and away more usable than the mess we have today. Now, who wants to write up a vision statement? ;-)