Simplification is innovation

Simplicity is a beautiful thing. Making things simpler and easier to understand or use can be one of the hardest things to do. It’s human nature to overcomplicate things, to embellish, to add on. Some of the most beautiful things such as sunsets, beaches and mountains are singular in the powerful emotion they invoke yet infinitely complex. And so it is with software that it may do one thing really well but we have always have to add more features, more functionality and shift the primary focus onto them rather than on core goals. My problem is many software vendors often lose sight of user interface simplicity and simplicity is what really sells most things in the commercial retail marketplace.

Simplicity sells in spite of the fact that every single customer demands enhancements for their own unique requirements. Apple followed this simplicity model through a combination of hardware and software and for a time recently became the largest company in the world by share value. Google is an advertising company that for now is sticking mostly to its roots and that focus has helped drive their share price to over $1000 dollars recently. To quote the Pareto principle, also known as the 80-20 rule, I believe they’ve focused well on the 20% of things that many of us want 80% of the time.

On the other hand, I can barely use the websites for my bank, for my cell phone provider, and for my satellite TV. These are sites that I have to use every month to pay bills and monitor my accounts. I literally cringe whenever I get an email from them about new features being rolled out. Some of these sites barely work as it is, and many of them have navigation menus that resemble NASA’s command and control systems for a space launch. I always have to wonder how many more customers they would have it they took a simplification approach rather than endlessly adding features upon features rather than consolidating and redesigning.

Take Firefox for example. In the latest iteration of their website home page they showcase eleven built-in features, then they mention becoming an expert in five easy steps and they also include at the bottom of the page a video about “Browsing Basics.” In comparison, the Chrome team simply introduces their browser without any embellishments whatsoever. I believe the Chrome teams internal motto is probably something like “focus 100% on what people do more than 80% of the time: surf the web as quickly and painlessly as possible!”

Firefox home page

Let’s back up briefly and consider the fact that some of the greatest technological innovations in the last ten years have come from simplification. Consider the mass distribution capabilities of eBooks today as compared to the mechanical printing press. Consider that an individual can now communicate instantly to millions using Facebook and Twitter as compared to creating and executing a mass emailing. How about the fact that you can use a search engine from your living room couch to search billions of pieces of information as compared to driving to the library and then spending an afternoon sifting thru microfiche.

So, in conclusion I want to encourage key stakeholders to consider that simplicity is very powerful. Every one of us can understand and appreciate simplicity with very little explanation. Simplicity sells itself. Simplicity makes our lives easier and we almost automatically feel gracious when a task can be completed with little fuss. This doesn’t mean that what something does in simple, it means that how we go about doing it is simple. And that is an important distinction.

Is Apple’s one-size-fits-all approach starting to fail?

My mother-in-law cracked me up when she asked “What’s the matter with Apple, how come they only make things in one or two sizes?” She’s as non-techie as they come and I think she nailed an important point. I’ve joked about this with friends and colleagues and even mocked about it in presentations. Yet, ever since the Apple September 10th announcement I’ve been wondering: can Apple innovate enough to stay a true technological leader, or are they starting to enter an era of simply copying others and wrapping ‘improvements’ under a luxury brand umbrella? I’m leaning towards to latter. After seeing Tim Cook’s presentation on September 10th, my opinion has started to solidify even more.

Factoid: Everyone will agree, for better or for worse, we are in an era of choice. Look at the variety of Androids. Think about the sheer number of cable and satellite TV channels, the variety of TV shows aimed at a dizzying variety of demographics, music has splintered from the days of major rock bands into hundreds of niche, self published indie groups.  Satellite radio. Most major car manufacturers now have dozens of car models and many of them you can significantly customize. And, even grocery stores now have a ridiculous number of choices for a lot of items that use to only have several manufacturers or producers.

So, what about Apple?

Apple has so far resisted playing to the status quo set by IBM, Microsoft and now Android of allowing endless variations of their products to fit a variety of needs and wants. It wasn’t that long ago, for example, that Dell Computer was a leader in selling desktop and laptop computers. That era has passed and I don’t believe Apple wants to follow in these giants footsteps. Perhaps there is some sort of evolutionary cycle that these leading public tech companies follow, like natural boom and bust cycles that we see in economics, neighborhoods, cities and world economies that Apple won’t be able to escape.

This leads me right back to the September 10th announcement.  Apple seems to have entered an era of incremental improvements in hardware and software: new colors (big whoop), finger print reader (Moto Atrix had that) and faster hardware.  But, the biggest pressure I think they’ll start facing is they are now behind the curve in allowing people to have choices. Real choices…not just new colors for custom cases made of soft silicon rubber. Choices are the way they world is headed right now. Case in point, how long have iPhones had 4-inch screens? How many tens of millions of larger Android screen phones have been sold? Can Apple simply ignore this and stick to their one-size-fits-all guns if the board of directors starts seeing missed opportunities and potentially lower sales?

Android, in comparison to iOS, has more varieties of sizes, manufacturers, shapes and colors than there are grapes for making wine. Buying an Android is like shopping for clothes at any mainstream department store. In addition to a bijillion patterns and colors, you have sizes like XS, SM, M, L, XL, XXL, etc. And then there is relaxed fit, straight fit and athletic fit along with different collar sizes.  This is brilliant from a consumer standpoint, and yes it’s a nightmare for application developers and IT shops that support them. But, developers and IT folks only represent a small fraction of an enormous world-wide porous marketplace full of more consumers, cultures and tastes than perhaps existed in history.

Buying a Mac is like walking into a top-notch art gallery. As you glide along into the next majestic room, shuffling your feet in hushed respect you can hear the mac genius say in an elegant foreign accent, “…and here on this masterfully carved solid white marble pedestal, fabulously embellished with an aluminum case and crystal clear retina view screen, and protected from theft by 12 visible and hidden security features is, ladies and gentlemen…the (audience gasps) Apple Macbook Pro.”

But, at some point even art galleries change up their exhibits as people’s tastes and interests change.  Even galleries have to innovate to stay ahead of the times. Can Apple change? Can Apple adapt to a new era of endless choices? Can Apple reinvent itself?

What do you read for technical news?

It was just a few years ago that I regularly scanned a list of mainstream developer and IT rags on a weekly basis: ComputerWorld, Visual Studio Magazine, SD Times, JDJ, and the list goes. Then one day early last year the thought hit me and I was a bit stunned to realize that I’d stopped reading online magazines. The vast majority of my technical info was now coming from blogs, online help docs and dizzying amount of internet searches. So, what happened? I have some theories that I’ve been thinking over the last year, but I can’t really nail down anything for certain. So, it’s most likely a combination of these five concepts below.

Rapid Change. My first thought is that technology has been changing so rapidly that simply digesting the changes and understanding them takes a huge chunk of time. Huge. I’ve blogged about this a number of times. This trend cuts across the entire tech industry. The upside is that innovation happens overnight and fixes as well as new features come out quickly. The downside is it’s harder for everyone to stay on top of all the changes across updates to features, libraries, SDKs, smartphone operating systems and browsers.

Super busy. My second thought is:  in addition to staying on top the über release cycle of web and mobile technologies, I’ve been so busy with project work that I simply had to narrow the scope of what I was reading. It’s a balancing act and there’s only so much time in the day. Superfluous information seemed to just slow me down, or worse it felt like a distraction from the day’s objectives. And in today’s online environment there is such a huge flow of information. So, there has to be a way or mechanism for focusing and filtering the fire hose of inbound data.

Irrelevant Info. My third thought is that every time I try to go back and read mainstream rags that I find myself sifting through a bunch of stuff that isn’t relevant to my immediate or near-term needs. Like I mentioned above, a good portion of it often seemed to be superfluous. Don’t get me wrong: online magazines offer well written and well thought out information. But, I felt the extra information, or perhaps even information overload in some cases, slowed me down. If it takes time to sift through article after article looking for a specific topic, my inclination is to go back out to a search engine and narrow down my search parameters.

Online Search Engines. Search engines have done an excellent job of (rapidly) indexing online technical content. I don’t need to mention them by name because you know all the players. At work we’ve often joked about a pattern we call “coding by search engine.” The pattern goes something like this:  copy a class name or error message, paste it into the search bar and then skim through the results. If you have to go more than one page deep in the search results then stop and redo the search. Mostly gone are the days of sifting through reams of paper documentation or digging around in some esoteric corner of a vendors website. I don’t think most customers will stand for that anymore. I think more information is instantaneously available at our fingertips now than any other time in history. It is astonishing, really.

Forums. My final thought is the voice of the developer community has never been more important. Online forums, such as Stack Overflow, have become to be perceived as definitive sources on technical questions of all kinds and about all different sorts of programming languages. I’ve been in many conversations where, right or wrong, someone interjected with a comment about something learned on Stack Overflow, or similar sites. These sites are well indexed by search engines, the community can vote answers up or down, and many brilliant and knowledgeable players contribute their knowledge. These are excellent, speed-of-light resources that are freely available.

So, there you have it. This is my two cents of what I’m reading these days and why I think I changed what I read. Leave a comment or email me about how you get your technical info injection. I’m really curious to hear your experience.

* Clip art courtesy of Microsoft Office 2007.

Major public web sites miss the mark on using advanced web technology

As a developer I notice things about web sites that the average person wouldn’t think twice about. I also know that the level of technology that’s available to build user interfaces is well beyond what we had in the early 2000’s. And, the ability to build amazing, user-centric interfaces is as easy as ever. But, I’m always perplexed that most major web sites today incorporate very little of this technology in their full functionality web pages.

So, I’ve been doing an informal survey for the past month and my list includes major news sites, airline web sites and retailers. The vast majority of them aren’t much easier to use than they were five years ago with a great a selection of hyperlinks, tabs and full page refreshes. For the fun of it I decided to travel back in time using an internet time machine call the Wayback Machine and compare some of these sites to their predecessors. I challenge you to do the same.

I have a few suspicions as to why this is happening, or not happening as the case may be. First, plug-in based technology such as Adobe Flex and Microsoft Silverlight typically require some amount of time to load the initial payload into the browser. Sometimes you can create highly optimized or lazy-load packages, but it challenging. It’s rare to find one of these apps that load in the sub-second timeframe required in today’s hyper-competitive environment. The general impression is that the longer your page takes to load, the fewer the visitors you will have. So most major websites code is mostly made up of HTML, JavaScript, jQuery and CSS which most browsers have gotten really, really good at parsing extremely fast.

Second, it’s challenging to build Flex and Silverlight websites so that web crawlers can read text-based content. This seems fairly academic. If you can’t effectively index the content of your site, then potential visitors can’t search it via external search engines such as Bing and Google. Period.

These two items alone may explain why visually spectacular interfaces are limited to small portions of most public websites such as video plug-ins, or just specific sections of a much larger website. Where these more advanced interfaces typically reside are in back office applications where functionality trumps the need for millisecond application load times. There are some very cool exceptions for consumer apps such as the end-user experiences shown Mini Cooper’s build your own car online website. Yet, unfortunately for us as consumers, these are few and far between as consumer companies cater to the vast hunger for ever faster page load times.

The good news for advanced web technology in consumer apps is I’m seeing a large opening with mobile deployments. The plug-in technologies now have the capability to allow you to deliver visually enticing experiences across a wide array of devices. And this can be done, for the most part, without the tedium of worrying about all the vast nuances of different browser types and versions. Plus there is a bonus: the application is manually loaded and ready to go on your device minus the on-device load time when you turn on the app. I’m seeing some really innovative uses of the technology in what I call focused solutions, or applications built for a very specific purpose. Unfortunately most are in commercial beta and I can’t link to them. But, you’ll see them soon in an online marketplace right at your fingertips.


Mobile Development with Adobe Flex 4.5

Silverlight for Windows Phone Showcase

Study: Consumers abandon slow loading websites (April 2010)

Let’s make the web faster (Google, May 2010)

Browser updates…too many too fast?

We’ve finally reached the point where the number of browser updates is out of control. There’s an all-out war between the various browser companies to see who can push out the most updates and improvements in the shortest period of time.

All these updates are causing a ripple effect on everything else that is dependent on the browser; for example, plug-in vendors, IT support staff, computer and smart phone vendors, application developers, any company that has a website, and your average consumer.  I’m guessing that on average the pace of updates is starting to outpacing business and consumer’s ability to keep up…and it seems to be accelerating.

Yes, I wholeheartedly agree we benefit from the advancements. No argument there. However that is balanced by reality. And, reality is architecting our products to support the latest and greatest. There is also the fact that most of us also have to maintain support for older versions of browsers and there is a cost associated with backward compatibility. And, there is a cost to upgrading. Not everyone is able to update all the time.

As a case in point, let’s take a look at Firefox since it’s fairly easy to find an archive of their older releases. We are only seven months into the year 2011 and Firefox has had two major releases: Firefox 4 and Firefox 5. However, if you include releases candidates, betas and updates to Firefox 3.x the total number climbs to around twenty-two releases so far this year. Yikes!

Sure, most consumers only saw the two major updates: Firefox 4 and Firefox 5. But, they also experience a plethora of plug-in updates. For example, Flash Player has had eight updates so far this year. Silverlight has had three general distribution releases this year and one beta release of Silverlight 5. And, I wasn’t counting but it seems like I’ve had a bunch of Adobe Reader updates in the last few months.

My concern is that the speed of browser innovation is starting to cause businesses and consumers to get fatigued. It begs the question: how long can the ecosystem of browser consumers maintain this pace? Or, at what point do people just start jumping off the bandwagon and simply starting skipping releases? Do most consumers really care if their browser is now 100ms faster in parsing JavaScript? How many new ways can we create tabs?

In summary, I think browser vendors should slow down and become better custodians of their systems. How about also focusing on innovation in security, memory leaks and best practices documentation and vendor-provided validation engines? Indeed, they have sparked tremendous innovation across the entire world wide web since Mosaic released in 1993. But, depending on how many websites you visit, you can still experience slow web pages, in-consistent cross-browser support and browser crashes. I know there are no easy answers because competition breeds creativity. Perhaps we’ll all go back to just looking at basic text, pictures and videos in the future. And, there will just be specific widgets with very focused functionality for other things.


Flash Player Archive

Firefox Archive

Silverlight Release History