Chances are you’ve heard the old saw before: You can have it good, you can have it fast, or you can have it cheap. If you’re really lucky and/or do your homework diligently, you might even be able to have two out of three – but you can’t have them all.
It actually applies to almost any type of deliverable, but it’s especially apt when it comes to the IT industry in general and software in particular.
Software vendors are under pressure to roll out new versions of their products on time, and in this fast-moving era and ever-evolving industry, “on time” often means within months after the previous release. In addition, in today’s mobile world where many users expect apps to be free, companies are increasingly expected to lower the prices or not charge at all for their products and services.
At the same time, today’s users seem to have higher expectations in terms of quality, security and reliability. It creates a catch-22 for the vendors that provide the code that makes all of our devices functional. In this article, I’ll take a deeper look at this dilemma and what it means both for the technology companies and their customers.
Software wants to be free. It’s a slogan that has been thrown around a lot, but to quote Inigo Montoya (if you’re not a Princess Bride fan, just move along), “I do not think it means what you think it means.”
The original version of the statement, traced back to the 1960s and accredited to Stewart Brand of Whole Earth Catalog fame, was “Information wants to be free.” And “free” in that context wasn’t referring only to monetary cost; it was referring to open access. But here’s the kicker; Brand’s full quote – which usually isn’t mentioned – as documented in Media Lab; Inventing the Future at MIT, is “Information wants to be free. Information also wants to be expensive.”
Of course, as consumers of a product, most of us find the first concept much more attractive than the latter. Everybody wants something for nothing; that’s human nature. In the computer world, information becomes data. The drive for freedom of information evolved into the idea that the products that generate and manipulate data – software programs – likewise “want to be free.”
Yet the free software movement is, again, less about monetary cost and more about a different kind of freedom: the ability of people to run, study, change and redistribute software. In fact, leaders within the free software community have tried to clarify the meaning of “free” in this context by using the analogy of “free” speech vs. “free” beer and the GNU open source project makes it clear that “free software is a matter of liberty, not price.”
Nonetheless, many users and developers alike have interpreted the word in its dollar-centric meaning. For some open source proponents, developing software is a labor of love rather than a way to make a living. There are intangible rewards that go along with creating a program that other people use and like. Thus for almost as long as the Internet has been widely accessible, there have been programs – some of them simple and some very complex and sophisticated – that are offered for download free of charge.
Even large for-profit software companies such as Microsoft, Adobe, Corel, etc. have long made available a myriad of free software programs in addition to those (such as Office) that they rely upon for their profits. Then along came the smartphone. We were used to paying $30, $50, even hundreds of dollars for desktop applications, but the pricing model for mobile apps turned those expectations on their heads. Many mobile apps were free, and those we had to pay for usually cost from 99 cents to $4.99. Smartphone users balk at paying a double-digit price even for their most useful and most frequently used apps. This is despite the fact that according to different estimates, the cost of developing a typical mobile app starts at around $3000 and can go as high as $150,000.
Thus the expectation that software should be free or at least very, very cheap has spread among computer users as tablets and smart phones have taken the forefront in the computing world. At the same time, users expect to get their software updated quickly, especially when it comes to keeping up with competitors. If Android devices can do split-screen multicasting, Apple fans want to know why theirs can’t do that, too. If Linux has virtual desktops, Windows users want them (without having to install something extra), and so forth.
The problem is that in order to develop software, developers need money (see above regarding the typical cost to create an app). That applies to updating their programs as well as the initial development. If they’re expected to sell their apps cheap, it’s going to take longer for them to make enough money to be able to spend the time revising the software, fixing the bugs, improving the interface and adding those all-important new features. So if you get it cheap, you’re less likely to get it fast.
As if that weren’t enough pressure on the poor software devs and vendors, customers also want software to be good – more so than in the past. In the early days of computing, most of the people who used computers were “nerds.” They not only didn’t mind tweaking their software (and hardware too, for that matter), troubleshooting it and reconfiguring it to get it to run right – they actually enjoyed doing it. Most of today’s computer users are consumers. They see their computing devices as akin to their toasters or TVs and they want them to just work, more or less flawlessly, from the get-go. They have no patience with finicky software and they don’t understand the need for patches to fix bugs and close security holes because they don’t understand the nature of software and believe it should be “done right” from the beginning.
What’s a software vendor (or app developer) to do? It’s almost certain that, in order to stay afloat, it will be necessary to disappoint customers and sacrifice one of the big three: cost, speed or quality. Which one will it be? Sadly, I think more and more of those who create the software are choosing to give priority to the first and second criteria and letting the last – and in my opinion, the most important – go by the wayside. I don’t like that trend, but I can’t blame them because it seems as if most people aren’t willing to pay or wait for quality these days. Fast and cheap might just have to be good enough.