Steve “Guggs” Guggenheimer is the Corporate Vice President of Developer Platform & Evangelism and Chief Evangelist for Microsoft.
Learn more about Steve.
@StevenGuggs and @JohnShew here…Last week we were on stage at Build sharing what we’ve learned over the last year through our conversations with developers.
If there is one message that has rung through loud and clear, it’s that when it comes to building applications and services – one size does not fit all – nor should it. The kind of app you are building – social, gaming, enterprise, etc. – and the tools and technologies you use – native, managed, or web – have a cascading impact on a developer’s approach to building software.
The Right Tools for the Right Job
Most developers are incredibly principled when they select among these approaches, as they build their software – talk to a .NET developer using WPF and they are clear on why this is right tool for their job, often the most sophisticated desktop LOB apps, which need to be deployed and remain stable for years. Similarly web developers are principled in that many choose close conformance to industry standards so their solutions maximize reach. And then there are developers who wring every ounce of capability of the hardware by handcrafting code around a particular networking stack or GPU. Each of these different approaches are constructs of a need being filled – and each approach has led to successful applications and outcomes.
To illustrate our commitment to these convictions, we constructed our entire keynote at Build around demos that showed off amazing work by developers, from across the industry. We selected the specific demos shown at Build we because each one distilled down to an expression of a simple point:
Microsoft is committed to supporting developers in ways that developers value – because what is best for a developer, any developer, is what’s best for Microsoft.
Developers building iOS apps on an Azure back end, like the team at Daring Fireball, exemplifies the commitment Microsoft is making to ensure that best in class tools and services are available across platforms. We think that this is great. And this often surprises people.
Simply put, we’re committed to enabling developers of all development approaches and are focusing our efforts around three key pillars designed to ensure developer success:
Last year, when we talked about our work on a common core for Windows and Windows Phone, we committed to ensuring that these principles applied to the work we are doing for all developers. We’ve made it our goal to achieve convergence across nearly 100% percent of our APIs – x86, x64, ARM, Windows, Embedded, Phone - with a vision of supporting Windows developers in writing their applications to run across all Windows devices, with minor UI accommodations. With the common core set to include Xbox One and IoT devices, as well as providing support for heterogeneous languages and programmatic modernization of old code, building for Windows is set to offer an impressive reach to line of code ratio.
What Developers Want = What We Want
But all of the above is just a minute portion of our work. With a huge group of developers out there who don’t know Microsoft, much less the value our technology can offer them, we know that we have work to do. When it comes to developers who target multiple platforms, whose success is measured by ability to get a job done as efficiently as possible, we’re here to keep pushing. We know that we have to embrace all developers, adding value on a developer’s terms, and come open and honest every day to be successful.
Relevance today is giving developers what they want, not just what we want. So our approach is simple:
To create value for developers through a combination devices, services, and tools that can benefit all developers - irrespective of their language, application model, or platform preference.
And keep an eye on Johnshew's blog where he will be posting more about what happened behind the scenes, as we pulled this all together.
We’re just getting started.
Speaking for a large number of game devs, can we have OpenGL ES support?
We have a large silverlight product. How do you support us?
1. A 'big bang' of shipping just the minimum to develop for each platform using the same API/BCL with minimal platform specific extensions is the goal.
2. Modern .NET, Modern Win32/api with each api/class/method listed as is modern or is depreciated is drastically needed.
3. Obsolete and deprecate technologies not used for building with the modern .NET, modern win32/api.
4. Pick one technology in each space to carry forward and deprecate the others. For example, remote procedure call-like mechanisms would have 2 levels; a low level traditional socket based and a higher level/WCF one carried forward and all other mechanisms would be depreciated.
5. Restart the developer tools/VS with a compiler, editor, project browser, debugger and a minimal set of tools. Add on only a limited subset of tools to VS. Split TFS/agile/architecture and other tools out of VS into their own application.
No doubt cloud and mobile are important, but don't forget there are millions more desktop developers. When you are trying to catch up tablet and mobile world with Apple and Google, don't forget your biggest strength is desktop.
When will we learn more about cloud computing for gaming?
Matt, here's a link to what we're saying today: http://news.xbox.com/2013/10/xbox-one-cloud ...E3 is just around the corner. :)
David, first make sure to check out the Windows 8.1 Update - there is a lot of love for the desktop coming through in this update. Regarding app development, the current push for API consistency across all Windows devices and form factors is something to keep your eyes on.
Agree totally with the 'big bang' restart and phasing out tools
It's a really nice article on Empowering Developers in a Cloud-First, Mobile-First World.
"One size does not fit all" - That's why we want a return of the VB6 programming language - Microsoft's highest rated in the May 2014 Tiobe index.