I know. This is all very sudden. Here you are, a newly minted software developer, and you know nothing at all about developing software. What a predicament!
Good news: you don’t have to learn to code. You just need a crash course in basic software developer business strategy. So here goes:
That’s it. Ok, that’s not entirely it. There’s a little more to it than that. But that’s basically it.
The “more to it” is a pretty simple logical chain. You want money because you would like to pay rent and have food to eat, or you want a pet panda, or maybe you want to start a charitable foundation, or maybe just because it will afford you the opportunity to make your next project.
Money comes from customers (or advertisers, but the rate you can charge for an ad is directly proportional to the number of customers you have, so really money always comes from customers).
The tricky bit with software is, it’s not a standalone product. Software only runs in conjunction with hardware and the operating system that lets the hardware, well, operate. So you can’t just go get customers from anywhere: your customers must also be customers of an operating system.
Presuming money is scarce (why else would you want it so badly?), you can’t afford to write your software for every OS under the sun. You need to write it for one OS: the one where you can make the most money. The one with the most customers.
Why a platform has more customers is complicated. For factors, we have the number and quality of customers already on the platform: if my friends have it, I want to have it too. We have hardware coolness: the device has to look and feel great. We have software coolness: people want to be able to use their devices for anything. And we have any number of x-factors, from whether I like the aesthetics of the operating system to the speed and fluidity of the way the operating system works: people want to use things they just like.
Enter Microsoft. The company’s luster has faded of late, though its Windows operating system still holds more than 80 percent of market share in the PC world. So why has Microsoft seemed to dwindle as Apple has been ascendant?
Mobile, dear software developer, mobile. If you care about what’s new and different, it’s all phones and ultrabooks and tablets from here on out. And you do care, because you want the app you’re developing to be new and different.
For all its dominance in traditional computing, Microsoft has done little in the mobile space, and what it has done it’s done poorly. Their phone OS, Windows Mobile, wound up being such a joke Microsoft rebranded it Windows Phone and gave it beautiful design along with an entirely new interface.
But that wasn’t enough. Customers want other customers, but too many had fled from the disaster that was Windows Mobile. Customers want hardware coolness, but Microsoft didn’t have a marquee phone to launch their new platform on. Customers want software coolness, but Microsoft had such paltry software selection they started paying developers to bring them apps. Just about all Windows Phone had were x-factors: name recognition and the aforementioned pretty face.
Then, with a snort and a jolt, Microsoft began to wake. The rumblings began with the development of Windows 8, the somewhat strange upcoming iteration of Microsoft’s desktop OS. In addition to the traditional desktop Windows users are used to, Windows 8 uses big blocks, borrowed from the design language at use in Windows Phone, to display information and launch apps, in part to utilize more prevalent touchscreen technology. It’s nice to look at, and seemingly a pleasant experience, but it didn’t seem to have a unified reason to be; it looks like the new and the old have been shoehorned together in an apparently bifurcated experience.
While that’s been brewing for desktops, Microsoft landed itself an exclusive partnership with Nokia, which brought them a critical piece of mobile hardware: the flagship Lumia 900. It’s a beautiful device, rivaling (and maybe, depending on your preference, surpassing) Apple in terms of industrial design. It brings the cool to Windows Phone in a big way.
And Monday, Microsoft made a huge, dramatic move into the tablet hardware business. Surface, as their tablet is called, brings much-needed innovation to the tablet sector–a feat which has thus far eluded makers of tablets running Android, who cannot seem to do much but imitate Apple. Surface has an integrated kickstand, a sleek, businesslike build, and two flavors of eye-popping covers that double as keyboards. It runs Windows 8 and makes that software project pop into focus: the form factor justifies the oddities of the OS and gives it a narrative as the new platform for the bold new vision of a tech firm hitting middle age in style. Microsoft managed to wow the tech world, and for the first time in a long time.
They did it by borrowing from Apple in terms of presentation style and in the strategy of integrating their software and (previously non-existent) hardware. But crucially, they did it with invention–the keyboard covers alone show remarkable creativity of design–and at great risk: by entering the hardware game, they may alienate the hardware manufacturers that are currently their biggest customers. This wasn’t copying, it was learning from ruthless competitors and trying to best them.
Microsoft continued its brilliant week by showing off the latest version of Windows Phone, which amps usability in all the right, practical ways, bringing that OS to much-needed maturity. As Joshua Topolsky points out in his column on Surface, Microsoft has had whisperings of this kind of creativity all around, but had never brought it to bear on the mainstream until Monday.
Their platforms still face many, many challenges. The field of mobile tech is one of the most competitive economies on the planet, and Apple and Google are the beasts at the top of the food chain. But after Microsoft’s killer week, oh software developer, you may finally have reason to consider writing your mobile app for Windows.