January 2015

Volume 30 Number 1

Don't Get Me Started - An Upstart Again

By David Platt | January 2015

David PlattIt’s interesting to watch Microsoft as an underdog.

Not that long ago that underdog bestrode the computing world like a colossus. You probably remember the joke, “How many Microsoft programmers does it take to change a light bulb?” The answer, of course, was: “None. Bill Gates just declares Microsoft Darkness to be the new standard.”

But while Microsoft concentrated on PCs (see msdn.microsoft.com/magazine/hh224515), new business sectors exploded across the IT industry, namely mobile devices and the cloud. The most recent figures show Microsoft doing well in the latter, which can be seen as the logical progression of the server side of its PC business.

Microsoft is having much more difficulty in the former. 

As I wrote in my November 2013 column (msdn.microsoft.com/magazine/dn463796), Microsoft’s key to greater market share is making more and better apps available in its ecosystem. This in turn means harnessing Microsoft’s “army of developers … [who] would love to use their current skills to develop apps for this brave new device-and-tablet world.” These developers need to support iOS and Android. They’d support Windows 8, too, if it didn’t take much extra effort. “Microsoft should develop a toolkit that covers all three from the same code base,” I wrote at the time. “Either do it yourself or buy Xamarin as a jump-start. Do it quickly, though, before the army gets hungry and switches sides.”

The purchase of Xamarin hasn’t happened, but the companies have moved closer. Last April’s Build 2014 conference showcased Xamarin front and center. And the recent Xamarin Evolve 2014 summit in Atlanta sold out in advance.

The integration of Xamarin with Visual Studio works exactly the way existing Visual Studio users would expect, and their skills transfer about as seamlessly as they could. It hasn’t yet reached the level of, “Click one button, and out come iOS, Android and Windows versions.” The three major mobile platforms are different enough that you can’t abstract them completely. But Xamarin helps you separate your mobile app’s business logic, which doesn’t vary from one platform to another, from the presentation, which does. And it lets you develop the whole package with your familiar languages, such as C#, and tools such as debuggers. Just at press time, the company announced a new program making Xamarin free for students. It’s moving in the right direction, and pretty quickly.

Xamarin asked me a few years ago if I was interested in starting up its developer training effort. I needed more cash than the company was willing to part with at the time, so the discussion never progressed, but I took its online training class as a student last spring and found it quite good. And if the instructors didn’t quite have my flair (and let’s face it, who does?), there were certainly more of them available live on multiple days in different time zones than just one of me. Now I sort of wish I’d held the price down to where Xamarin could swing it.

As if to trumpet its arrival in the big leagues, Xamarin has acquired former MSDN Magazine columnist Charles Petzold as an in-house guru, describing him in the press release announcing the hiring as a “Turing-complete engine” that “converts APIs into books” (see bit.ly/1o9tfi7). His forthcoming book, “Creating Mobile Apps with Xamarin.Forms,” is due in the spring of 2015. I learned Windows from his famous book (“Programming Windows”) back in 1990. I’m looking forward to this one.

In “Why Software Sucks” (see pp. 193-194), I wrote about the early 1990s, when Microsoft was seen as the brash upstart, upending the established order of stodgy mainframes. I miss those days, as I miss my now-teenage daughters’ first steps and first school and first sleepover parties. I’m looking forward to seeing some of that again as a grandparent. Is that what I’m seeing in the device world today, the now-grown child Microsoft, and the grandchild Xamarin?

David S. Platt teaches programming .NET at Harvard University Extension School and at companies all over the world. He’s the author of 11 programming books, including “Why Software Sucks” (Addison-Wesley Professional, 2006) and “Introducing Microsoft .NET” (Microsoft Press, 2002). Microsoft named him a Software Legend in 2002. He wonders whether he should tape down two of his daughter’s fingers so she learns how to count in octal. You can contact him at rollthunder.com.