Showing posts with label stability. Show all posts
Showing posts with label stability. Show all posts

Thursday, April 9, 2015

UI stability

The years from 1990 to 2010 were the years of Windows dominance, with a stable platform for computing. Yet this platform was not immune to changes.

Microsoft made several changes to the interface of Windows. The change from Windows 3 to Windows 95 (or Windows NT) was significant. Microsoft introduced better fonts, "3-D" controls, and the "start" menu. Microsoft made more changes in Windows XP, especially in the "home" edition. Windows Vista saw more changes (to compete with Apple) and Windows 8 expanded the "start" menu to full screen with active tiles.

These changes in Windows required users to re-learn the user interface.

Microsoft is not alone. Apple, too, has made changes to the user interfaces for Mac OS and iOS. Ask a long-time user of Mac OS about scrolling, and you may get an earful about a change that reversed the direction for scroll operations.

Contrast these changes to the command line. For Windows, the command line is provided by the "Command Window" or the CMD shell. It is based heavily on the MS-DOS command line, which in turn was based on the CP/M command line, which was based on DEC operating systems. While Microsoft has added a few features over time, the basic command line remains constant. Anyone familiar with MS-DOS 2.0 would be comfortable in the latest Windows command prompt. (Not the Powershell; that is a different beast.)

For Unix or Linux, the command line depends on the shell program in use. There are several shell programs: The C Shell (csh), The Bourne Shell, and the Bourne Again Shell (bash), to name a few. They all do the same thing, each with their own habits, yet each have been consistent over the years.

System administrators and developers often favor the command line. Perhaps because it is powerful. Perhaps because it is terse. Perhaps because it requires little network bandwidth and allows for effective use over low-speed connections. But also perhaps because it has been consistent and stable over the years, and requires little or no ongoing learning.

This may be a lesson for application developers (and mobile designers).

Saturday, March 23, 2013

Microsoft was nicer than Google

Google recently announced that they will be terminating their "Google Reader" service. The announcement drew a fair amount of attention.

The termination of Google Reader shows us that Microsoft was much better than Google. The reaction from "the rest of us" shows us that we have certain expectations of software vendors.

Really.

Let's start with Microsoft.

Microsoft has, over the years, offered many products. The list includes operating systems (MS-DOS and Windows), languages (BASIC, Visual Basic, FORTRAN, COBOL, C, C++, C#, F#, and even Pascal), office tools (Word, Multiplan, Excel, Powerpoint, Access, Project), games, databases, and more.

It's an impressive list. What's more impressive is the lifetime of most of those offerings.

Microsoft offered MS-DOS from 1981 until, um, some time in the 1990s when Windows 95 was released. It offered Windows (in one form or another from the mid 1980s until today (and it keeps offering it). Microsoft's BASIC has a longer history than MS-DOS, starting in the late 1970s and continuing to today. These products have been continuously offered to customers.

Now, I recognize that the products changed over time. MS-DOS grew over time, adding features and capabilities. Windows also grew. BASIC had significant changes, especially in its "Visual Basic" stages.

Microsoft may have changed its products, but it (usually) provided a path forward. MS-DOS 2.0 was replaced by MS-DOS 3.1, which in turn was replaced by MS-DOS 3.3. Windows 3.1 was replaced by Windows 95. BASIC was replaced by Visual Basic (and there were several of those), and Visual Basic 6 was replaced by VB.NET.

Some replacements were easy, and some were difficult. But they were there.

Yes, I know that some products were withdrawn with no replacement. The IronPython and IronRuby projects were terminated. The Visual J# compiler has faded into oblivion. There was no successor for Microsoft "Bob". You can add your favorite discontinued product to this list.

All in all, Microsoft has been very good at providing successor products. Perhaps this is because of the revenue that licenses provide. When Microsoft discontinues a product, it wants people to pay for a new product. What better way to keep customers than to offer a new version?

Now let's look at Google.

Google's advertising-driven revenue provides different incentives. Revenue is not generated by users (for most products). Instead, revenue comes from advertising. That advertising revenue powers the development and support of products.

Some Google products are experiments, explorations of markets and possibly technology. (Google's App Engine comes to mind as an exploration of cloud computing.)

If a product is not performing (insufficient advertising revenue), then the logical decision is to replace it with a new platform for advertising. But that new platform does not have to offer anything close to the features of the prior product.

I suspect that the outrage at Google's decision to terminate Reader was caused in part by surprise. We, the users of software, expected Google to act like Microsoft. When they did not, when Google acted in a way that varied from our expectations, we became angry.

Which is ironic, as a lot of us always cheered Google for *not* acting like Microsoft.