The developer community is changing. There are far more people programming now than in the era of client server computing, says Microsoft general manager for platform strategy, Tim O'Brien.
Microsoft is a company in transition. With Satya Nadella’s appointment earlier this month, there is a new CEO and the company is actively working to dispel criticisms that it is only focused on Windows technologies.
Microsoft is trying to make it easier for developers to use Azure – which can be used to host the back-end systems required by mobile apps – run Hadoop or support Linux servers on the Microsoft cloud.
It is also addressing a shift away from the professional developer, to a far wider community of coders, who may not necessarily be using Microsoft tools, and who will almost certainly be looking to target applications an multiple platforms.
O’Brien, who leads the apps and platform group at Microsoft, says: "In the client server era the professional developer was fairly well understood – someone who either wrote .Net or Java and probably went to university and got a computer science degree and chose to make a living writing code."
But the situation is different today. "People under 30 have never known a world without software. Almost everything they have come in contact with has a microprocessor and can be programmed."
More articles on cross platform application development
- HTML5: The end of native apps?
- Cross-platform app development - is there one tool to rule them all?
- Apps and APIs -- how enterprise software development needs to change
- Adobe targets cross-platform mobile apps development for iPhone, Android and Playbook
Technological advancements and a demographic shift has meant there are now a lot more developers, according to O’Brien. "There is an argument that anyone with a baseline understanding of how computers work can write code and there is also easy access to free tools, runtimes and frameworks."
He says: "The intimidating barriers that kept people away from programming have melted away." So people are coding not just as a vocation but for all manner of reasons. He says many apps are developed by people in their spare time, using templates and visual development tools.
Unlike the era of client server computing when professional coders were Microsoft’s main focus, today, the company needs to address a wider range of people, using many different programming languages, frameworks and tools. And the idea of coding for Windows and the two or three main Unix platforms are effectively over. The smartphone era has changed the software landscape. "People used to self-identify with a supplier. There is a big shift from a monolithic stack. People would say, ‘I’m an Oracle DBA’, but today developers look for the right tool for the job."
To address this shift, Microsoft has needed to rethink its developer product strategy. “You can evangelise in PowerPoint all day long and do nothing with the product. The truth comes out with what you ship," says O'Brien.
He and the Microsoft developer team are now focused on continued investment in non-Microsoft technologies and ecosystems.
Along with IBM and Apple, Microsoft is a co-chair of the W3C HTML 5 working group.
“We want to cast a wider net to meet developers where they are. HTML 5 on Windows Phone is part of this strategy, by allowing developers to take the skills they have today and write native apps for Windows."
A lot of people don’t know that we contributed 20,000 lines of device driver code to the Linux Foundation
But Microsoft's open-source credentials go far further according to O'Brien. He claims Microsoft is one of the largest contributors to Linux. How? "A lot of people don’t know that we contributed 20,000 lines of device driver code to the Linux Foundation to ensure Linux distributions would run well on Hyper-V."
O'Brien says Microsoft has also contributed 25,000 lines of code to Project Stinger, the initiative to improve Hive queries on Hadoop. "We do a lot of work with HortonWorks to get Hadoop to run on Windows Azure," he explains.
Components of the Microsoft .net programming framework have also been contributed to the open-source community. In may 2013, the source code ASP.NET MVC, Web API, and Web Pages was released under the Apache 2.0 license
For developers not using Microsoft tools he says: "We provide tools for Mac and desktop Linux, allowing developers to get tools from the Azure portal to develop Azure applications."
In terms of cross-platform development, O'Brien says Windows Azure Mobile Services supports iOS, Android and HTML 5 clients as well as Windows Phone, allowing app developers to write cross-platform software. "If you are a mobile developer and have different mobile platforms to support, the cloud backed should support that. This area of investment will continue as we try to reach a broader community of developers."