Musings on Business and Tech

Category — user experience

Just Say No to Feature Creep: Xcode Edition

One of the hardest things for any software designer to do is to decide not to implement a feature. Many software projects have been delayed or even derailed by feature creep, or the tendency to widen the scope of a project during development. But in many cases, features that seem like “must-haves” during development can be deferred to later phases of development, or cut completely.

Perhaps the paradigmatic example of this is the original iPhone OS’s lack of cut, copy and paste. How could Apple have omitted such vital features? It didn’t seem to hurt sales of the iPhone though.

Today I just ran into another example, also from Apple. In Xcode, you can switch from a header file to its corresponding implementation file (and back) using the keyboard shortcut Command-Control-Arrow (any arrow). This is a really nice way of navigating back and forth while you’re creating new instance variables and methods for your classes. However, when you navigate in this way, the project browser at the left doesn’t update its highlight to indicate that you’re viewing a different file. Is this a bug? Probably not. It’s probably just the designers of Xcode deciding to rein in feature creep so that they can actually ship the product.

XCode and avoiding feature creep

It’s so damn tempting to want to make sure every little bug is fixed and every little corner case is accounted for before you release your software. But, as they say, perfect is the enemy of the good. It’s crucial to know when something is good enough so you can ship it as soon as possible. With cut, copy, and paste, Apple finally introduced the feature into its third version of the iPhone’s operating system. By then they had already sold millions of phones to customers who decided they could live without that crucial feature.


March 14, 2012   No Comments

No, Graphic Designers Aren’t Ruining The Web

I woke up today to this provocative article in The Guardian about how graphic designers are ruining the web. Naughton’s main argument seems to be that graphic design adds unnecessary bulk to websites, wasting bandwidth. Naughton is absolutely right that page sizes have increased over the last two decades of the web’s existence. He is also right that this is a problem.

However, he describes the problem as a “waste of bandwidth.” Last I checked, “bandwidth” is an infinite resource (unless maybe you extrapolate bandwidth to barrels of oil). The bigger problem is that more elements on a page (and bigger individual elements) will slow down page load times and potentially be frustrating for the user. If Naughton is saying that people who make websites should work to reduce the number and size of the elements on their pages, I completely agree.

But it does not then follow that websites also need to be ugly (he uses as an example of an underdesigned site that is compelling for its content if not its look and feel). Highly-designed websites need not be bulky. Just because the BBC News page sends 165 resources on every request to its homepage, doesn’t mean all designed sites do. is a lean and  mean website, requiring roughly 50% fewer requests than the BBC News. Yet I would say it offers a bit more of a user-friendly way to access information than Norvig’s site.

And we could improve things even more than that. We can combine and minify JavaScript and CSS files. We can reduce the number and sizes of images on each page. Many requests on big sites like these are to 3rd party tracking pixels and JavaScripts. How about we agree to pay for the services and content we use on the web so we don’t have to deal with all this bullshit marketing crap? Graphic Design is not the cause of all this bulk. Increased user access to bandwidth and marketers are more to blame.

I’ll agree that some underdesigned sites are excellent because they are underdesigned: and (the original) But if Apple has taught us anything over the past decade, it is that things can be designed without being complicated and bulky. And that is the direction I’d like to see the web going in. That way we get to have our cake and eat it too.

Enhanced by Zemanta

February 19, 2012   8 Comments

The 5 Worst Practices of the Mobile Web

My friend Michael McWatters tweeted his frustration today that there is no way change your Twitter password on their mobile site. I’ve butted up against this issue in the past, and the fact that you can’t even switch between the mobile and full site on their is immensely annoying (in fact, there isn’t even a footer on the site!).

With smartphone penetration growing ever higher, it’s increasingly important for companies not just to build mobile sites, but to build them well. Mobile sites can no longer play second fiddle to their desktop brethren. Over the past few months I’ve become increasingly sensitive to, and bugged by, the degree to which so many mobile sites are so badly implemented. With that in mind, here are my 5 “worst” practices of the mobile web.

  1. Don’t give users the choice of using the full site – not letting users choose to use the full site on their mobile device is presumptuous at best, and crippling at worst. Just because the screen is small doesn’t mean you don’t want to be able to access all of a site’s features in a pinch. On the iPhone anyway, browsing a full website is often very tolerable and should at least be an option for users. This is related to #2, which is…
  2. Don’t cripple your mobile site – while it may be true than on a dumb phone you likely do not need or want to access all of a site’s features on the go, on a smartphone you often do. A mobile site no longer needs to be a list of the 10 most visited pages on a site. Let’s start building mobile sites that allow access to some more advanced features like changing your password.
  3. Show an interstitial ad for your mobile app – have you ever clicked on a link on your phone only to be brought to an interstitial ad for a site’s mobile app, instead of the article you were trying to read? And of those times, how many times have you gone immediately to download the app instead of just closing out the ad and trying to read the article you were interested in?
  4. Don’t redirect from your mobile domain to the full site on a desktop browser – many sites with mobile domains will redirect you to it using browser detection. But many of those do not do the reverse redirect (i.e., visiting the mobile site on a desktop browser doesn’t redirect back to the full version). Being forced to view a mobile site on a desktop browser is torture.
  5. Redirect to your mobile domain, but not the specific page – all this redirecting has its place, but it’s so easy to get it wrong. On many occasions I have clicked on a link on my phone, gotten redirected to a mobile domain, and instead of it going to the article I was trying to read, I get placed on the homepage of the mobile site. So frustrating!

The mobile web is certainly in its infancy, but that’s no excuse for giving users such broken experiences. It’s 2011 and it’s imperative now that mobile sites are just as beautiful, simple, and elegant as the devices used to navigate them. If you have to choose between offering a mobile site that suffers from any of the worst practices listed above, and having no mobile site at all, choose the latter.


August 29, 2011   No Comments

The Difference Design Makes

HTC Mozart Windows Phone 7With the recent release of Windows Phone 7, Microsoft has finally figured out what Apple has known for many years: design sells. The interface is austere in a way few Microsoft products are. In some ways it’s almost too sparse–users navigate from screen to screen by means of two-dimensional “tiles” rather than 3D buttons. Ultimately, though, underdone beats over-wrought.

Granted, “design” is a huge umbrella term, covering everything from ergonomics to user interaction to typography to color palette, but all those things contribute greatly to people’s emotional response to a product. Good design makes a product trustworthy. It indicates the level of care that went into creating the product. It has the user’s best interest’s at heart.

The key differentiator in software used to be features. We thought that more features and more customizability meant happier customers. We were wrong–more features meant customers who were more confused and frustrated. Turns out, in an age of abundance, clarity is a scarce resource. Good design is the conduit of clarity.

Compare the Windows Phone 7 home screen above with the way Windows Mobile used to look:

Mom, have fun figuring out what exactly a “Comm Manager” or “SIM Manager” is. was able to take on a huge company like Intuit (and eventually get acquired by them for $170 million) by competing solely on design and user experience. I never got any direct mail from Mint like I do from Intuit. I never saw on the shelf at Staples like I did Quicken. Mint has probably 1/10th the number of features that Quicken has. And yet, in the end. their beautiful design and simple interface added up to $170 million in value.

November 11, 2010   No Comments

Why Did Google Wave Die?

Email is broken. In many ways. So are instant messaging and document collaboration. Google Wave was supposed to fix a number of these problems by making threaded and multi-user conversations easier to manage, and by introducing realtime chatting and collaboration into the mix. But Wave’s failure is also a fantastic illustration of a great idea and brilliant technical implementation totally overpowered by some absolutely awful product design.

Google’s famously spartan approach to search was the fuel for their explosive growth in the early 2000s. While sites like MSN and Yahoo were getting more complex and portal-like, Google offered an absurdly simple alternative: enter your query and click the search button.

Somehow over the years Google has lost this simplicity in many of its products, with Google Wave as the paradigmatic example. Wave was an engineering marvel, and I’m quite certain its mix of syncrhonous and asyncrhonous functionality will be used to good result in a number of other products, but the user interface was just dreadful. It made no sense and I couldn’t really ever figure out how to use it–and I work in software for a living. Imagine my mom using it.

Ultimately, I think Google Wave suffered from three fatal product design flaws:

  1. Complicated user interface – it’s kind of like an instant message client, except that you have to click something every time you want to add a new message. It’s kind of like email, but if I archive a thread and someone else adds a new message to it, the thread appears back inbox. It’s kind of like document collaboration, but doesn’t have all the features of Google Docs, let alone MS Word.
  2. No integration with email / docs / chat – Wave promised to solve the problems inherent in email, instant messaging and document collaboration, but if Google wanted it to supersede these things (did they even want to?) they should’ve integrated it into GMail, GChat or Google Docs. I don’t need yet another place to check messages, what I need is a better way to manage my existing communications. I often had to remind people over email or IM to check Google Wave for a message I sent them.
  3. Meatball Sundae – I’ve never read Seth Godin’s book Meatball Sundae but I love the metaphor. A meatball sundae is “the unfortunate result of mixing two good ideas.” Google Wave was a deep-fried meatball sundae. Was it email, instant messaging, document collaboration? It was all three, and yet it was none. The best products solve one problem brilliantly well. Google Wave tackled three problems and solved none of them.
Enhanced by Zemanta

August 4, 2010   3 Comments

Notifications, Unread Items and Information Overload

Last week I wrote about the strategies employs to engage its users and keep them coming back to the site. A big component of their strategy is the idea of notifications–the email and on-screen alerts the application uses to let you know that your attention is needed. Their notifications are tactful and largely welcome.

Unfortunately, however, like many other tools in the software architect’s chest, notifications can quickly cause insane levels of information overload when they’re used without careful thought.

Take for instance the Facebook iPhone app. Every time I open it and navigate to the main menu screen, I have some notifications waiting for me (usually people commenting on one of my wall posts or something similar). I’m alerted to this fact by a little bar on the bottom of the screen highlighted in a different color. This much I’m okay with.

However, if I then choose to close the app at this point without explicitly viewing the notifications, the app icon now has a little red number superimposed on it, telling me how many notifications I didn’t check. If you’re anal like me, this is torture. I now have to go back into the app and view the notifications in order to get rid of that annoying little red number.

“Unread” counts in email and news readers like Google Reader are another good example. Again, because of my mild OCD, I never let my inbox contain any unread messages. I even click on messages I know to be spam just so that they don’t keep notifying me of their unread status. Same goes for Google Reader. If I’m too busy to read everything and I have to skip some articles, I still have to mark them as unread so I don’t have to see that notification anymore. I’ve often thought that these applications should archive (or mark as read) any unread messages automatically after a certain amount of time goes by. If I haven’t read an email in a few days, I’m probably not ever going to read it.

All of this information desperately begging for our attention leads to apathy at best and resentment at worst. It’s like the boy who cried wolf. Eventually we’re just going to tune it out.

I think the trick here is to think like the user before implementing things like this. Do I really want to receive more than one or two emails per day from a given application? Should notifications be persistent, or should they fade away over time? Should they be mandatory, requiring the user to take a certain action so that they go away? Or should they merely be indicative of an action that is optional? Should the notifications be opt-in or opt-out?

These are crucial decisions to make when creating software, decisions that could lead either to delight or disgust.

Related articles by Zemanta

Enhanced by Zemanta

July 1, 2010   No Comments

Quora Does What Every Website Wants To Do: Engage Users

I’ve been reading about for some time now, but a few weeks ago I finally got an invite to participate in their closed beta.

For those who don’t know, Quora is a Q&A site with some social networking functionality built in to make it like Facebook or Twitter, but with much richer content. You can post and answer questions, vote responses up and down and comment on them, and follow a range of different topics, questions and people.

But the one thing Quora does exceedingly well is engage its users. I find myself wanting to visit the site every day. There are very few sites I do in fact visit every day, so when a new one comes up on my radar, it’s worth thinking about a little more deeply. How does Quora keep me coming back?

First, they give me things to do when I get to the site. The first page I see when I log in is my “feed,” essentially a list of questions and recent answers from the people and topics I’m following. The first thing I always do then is scan my feed and see if any interesting questions or answers have come up recently. If so, I click on them, read and vote on the responses, and consider whether I want to answer the question.

Another activity they ask of me is to classify unanswered questions. If someone enters a question without any topics, it shows up on my home page as an “Unorganized Question.” If I click on it I can then easily add topics to the question, which benefits the community as a whole without being too bothersome for me to do.

Lastly, Quora has perfected the art of email notifications. Whereas Facebook sends me an email for every dumb little thing that needs my attention, Quora, as far as I can tell, only sends me emails in a two specific circumstances:

  • Someone posts an answer to a question I am following (you can follow any question you see on the site by clicking the “Follow” link, unless you asked the question, in which case you follow it by default)
  • Someone sends you a private message

This means that the email load coming from Quora is low enough to keep it unobtrusive, but the emails themselves are of high enough value that I welcome them and will likely click on the links in them to come back to the site.

User engagement is the “holy grail” of making websites profitable, and Quora has found it. It’s all about giving the users activities to accomplish when they come to the site, as well as encouraging them to come back via infrequent but high value email notifications. If you’d like an invite so you can check this out for your self, let me know by tweeting me @jamieforrest.

Related articles by Zemanta

June 21, 2010   2 Comments

How Can We Dampen the Web’s Echo Chamber?

I read a lot of blogs, mostly tech. I have 70 RSS feeds in Google Reader, and I try to at least scan all the articles regularly (roughly 200-300 per day).

I enjoy staying on top of the tech world, which is why I put myself through this torture, but I’m getting increasingly frustrated by what many have referred to as the “echo chamber” effect of the web.

The tech blogs especially are filled every day with all the same stories, with roughly the same analysis in each. For example, yesterday Apple bought the chip manufacturer Intrinsity. First there was the original report from the New York Times:

Apple Buys Intrinsity, a Maker of Fast Chips – Apple wants the fastest chip for its mobile devices and has bought another chip maker to gain an edge over its competitors. Apple has acquired a small Austin, Tex., company called Intrinsity, known for making zippy versions of a computer chip often found in mobile devices.

The Times, or another similar “big media” outlet, is often the initial source in the echo chamber, since they actually have the money to spend on finding real stories. Then the reverb starts to kick in:

  • Apple Acquries Chip Maker Intrinsity (Mashable) – “Apple has confirmed that it has acquired Intrinsity, a Texas-based semiconductor maker that was likely the brains behind the chip that powers the iPad.”
  • Apple Continues To Morph Into The Chocolate Factory. Expect Fewer Gobstopper Leaks (TechCrunch) – “A report today in the New York Times confirms earlier rumors that Apple has purchased Austin, Texas-based chip company Intrinsity. And yes, it appears that company is the one largely behind the new A4 chip found inside the iPad.”
  • Apple gobbles up chip maker Intrinsity for $121 million (TUAW) – “Apple’s buying spree for chip technology companies continues, with The New York Times reporting that the company has acquired Intrinsity. The Texas-based fabless semiconductor company was widely thought to be the engineering brains behind the iPad’s A4 system-on-a-chip. Intrinsity’s 1 GHz hummingbird processor was developed in partnership with Samsung last year, and the A4 is believed to be based on that technology.”

What good are all these articles? I saw it in the Times this morning; do I really need to see it again and again and again in my feed reader?

All this has gotten me thinking about how to reduce this echo chamber effect. One way is of course to only read the Times, or something similar. But I’ll definitely miss some big stories that way.

Or I could just read Techmeme, but while Techmeme is good at aggregating related reports from across the web and highlighting their picks of the top versions of those stories, I find the UI of the site to be ugly and cluttered. Google News is another option, but again I think the interface could be better.

However, what neither of these sites does, and what I’d really like, is a way to aggregate related stories from feeds of my own choosing. I would like a service that parses all of my feeds in Google Reader, semantically relates them, and lets me vote the different versions up and down so that it can prioritize different feeds for different topics.

For instance, I might think that Mashable has the best coverage of Facebook-related stories, but ReadWriteWeb does location-based services better. So this parser would be able to learn my preferences over time and present me with an automatically curated aggregation of the feeds I follow.

Does this exist? If not, I should make it.

Reblog this post [with Zemanta]

April 28, 2010   No Comments

Too Many Apps?

Interesting article in the New York Times about the glut of iPhone apps and the consequences of having too many choices. Did you know that

The average iPhone or iPod Touch owner uses 5 to 10 apps regularly, according to Flurry, a research firm that studies mobile trends. This despite the surfeit of available apps: some 140,000 and counting.

I have 96 apps on my phone and a lot more that are deactivated in iTunes. But I’m not the average user. And although I think there’s something to be said for keeping things simple and limiting the number of apps on your phone, I also think that the fact that average users own only 5-10 apps is a clear failure of the App Store.

With 140,000 apps, the store needs to do a better job of organizing them and recommending new ones to you. According to the Times article “people tend to gravitate to the most popular” apps. This may be because popularity is a good correlate for quality, but I think it’s simply the only yardstick the App Store provides.

As innovative as the App Store is, it needs to get smarter and better organized–and quickly too. (I could say the same about the iTunes Music Store.)

via Skirting the Glut of iPhone Apps –

February 1, 2010   No Comments

How About a Customer Innovation Center for Software?

The New York Times on Saturday ran an interesting story about “customer innovation centers,” facilities that companies like 3M, Hershey and Pitney Bowes are using to work directly with customers to innovate on new products.

While they certainly sound a bit like so much MBA-type posturing, these innovation centers actually seem like they work. The companies show customers their latest research and in-progress products, and, often, the customers come up with novel ways of applying these new ideas to their industries.

Which got me thinking–this would be an interesting approach for a software company, especially one whose products span a wide range of uses (like Apple, Microsoft, or Google). They would invite users out to one of their big research centers, present some of their upcoming products, and elicit feedback on what they’re doing right, and in what other ways they could be applying their work. This isn’t about usability studies; this is about customer-focused innovation.

It’s so easy for software companies to work furiously in their little bubbles without enough contact with and insight on what it is that their customers are really trying to accomplish. I’d like to see some of these companies create customer innovation centers. I think they’d discover some interesting things.

Read Prototype – Seeing Customers as Partners in Innovation –

December 28, 2009   No Comments