When preparing for my master developer boot camp class I’m teaching next week for a client, my Visual Studio 2013 installation started crashing on startup. This had happened to me before, and I reinstalled VS to get it working again. After some googling here and here, I uninstalled GitExtensions. Now my VS is working again. There is some commentary on the offending configuration, but at this point in my career I have a very low tolerance for buggy software – especially bugs that render the computer unusable – and for programmers, the IDE _is_ the computer.
I am attending the Microsoft //Build/ Tour in Austin. I have the pleasure of participating in the afternoon Q&A panel. Thanks to Ryan Joy for that. Jerry Nixon, Neil Hutson, Daniel Buchner and crew are doing a great job distilling the Build conference content down to a single day. The big news, of course, is Windows 10. What is not explicitly shared is the 5 and 10-year vision for the industry and the world. Clearly, the Windows 10 roadmap was built on the basis of some critical assumptions and bets. Google is betting that the web and browsers will continue to grow. They are doing pretty well penetrating education with Chrome Book computers. Microsoft is better that people want to interact with information and other people through many ways. It appears that Microsoft is also betting that if they can make computers of all shapes and sizes that are easy to develop for, that developers will create another 16 million applications for the new Windows. 16 million is the number shared of current native Win32 applications – starting from the early 1990s.
There are some key market changes. Some great, some unfortunate. First, Apple was on a role bringing the true table and mobile form factor for computing. Who knew that doctors would be dictating patient visits by pressing a button on their iPhones. So Apple really shared a vision that the whole world latched onto regarding the smartphone. Not a new idea, but the execution and selection of a touch-sensitive screen instead of physical buttons was the game-changing idea. Google and Microsoft and others have followed, and now we have a phone/computer that resides in the pockets of millions of people. But sadly, with the death of Steve Jobs, Apple hasn’t moved with the same momentum or visionary direction that Steve Jobs brought to the table. In observing that, Apple has a great computing base, but it is unclear if Apple will share a next generation vision or will continue just refining existing product categories. In addition, Google’s success with Android has led to the market coming to expect some basic things from a smartphone. What once was a premium feature is now just expected, and cellular carriers are offering these smartphones as the free phone for a new data plan. This now makes smartphones a commodity item and available to every cellular customer. This space is no longer game-changing. It’s now normal. Computing on a phone is now normal.
Web applications are also changing – or the demand for them. At the turn of the century, and for the last 15 years, there has been a huge push to get native applications to have a broader and more convenient reach by making them into web applications. Few applications survived this transition. Most were completely rewritten in order to make them into web applications. The SPA movement and now mobile and tablet apps are already chipping away at what would have been a pure web application 5 years ago. Developers have realized that in some scenarios, we need the power of a native platform rather than the more generic capabilities of the browser, which was designed for reach and for runtime-deployment. Web applications are no longer highly desirous. Instead, many folks would rather use a native app on their mobile phone or tablet. And to the extend that installation is super easy, on the desktop as well – as we observe with the success of the Adobe AIR runtime for the desktop. With business applications delivered via a browser, we have found that users have the ability to easily introduce environment/runtime variances causing more support issues than necessary. In addition, the testing costs are multiplied unless you can really lock down a single browser to support.
New Industry Trend
In the business world that Clear Measure lives in, we have found that when the users of the application are employees of the client, we can establish a required client environment. This would indicate that a certain type of application does not need the reach strengths of browser apps because we have control of the computer that would be used to access the application.
There is an obvious trend toward using simple computing form factors to do computing. When we observe family members doing tons of computing on phones and tablets as well as the popularity of Ultra Book laptops, we know that the common computing world is changing. And what happens in the normal population quickly invades business regardless if it was part of I/T strategy or not.
How Windows 10 Can Create a Tidal Wave
First, Microsoft isn’t necessarily creating a tidal wave with Windows 10. They are just trying to meet the demand that they see in the market. Their bet is that the world is ready for a common Windows across all types of computers, large and small; some with UIs, some without. The bet is that people will continue to buy small and convenient computers and not just laptops. The bet is also that developers will see demand from their customers and employers to build more accessible applications. We have been in a business era where the human had to approach the computer and use the application. The consumer world has already shifted to a world where the application was standing ready with the human and a lot of times proactively interacted with the human via notifications. The bet is that the business world is ready for this. That the business world is ready to arm their employees with the applications wherever they go. That they are ready to break up the large systems so that functions needed on the go can be provided and exposed to smartphones and tables. And with wearable’s clearly taking off in the public as demonstrated by FitBit and other bands, Microsoft is betting that folks will appreciate doing business computing via more form factors. This is the bet with Hololens and Microsoft Band. Starting in the consumer product world, these new ideas can be made available in business, and Windows 10 is being positioned to allow and support that.
The Trend That I See Moving
In 2007, I was really early in the shift from ASP.NET WebForms to ASP.NET MVC. MVC is pretty common now, and it’s no longer the application platform of the future. It will be around for a long time to come, and I think the web is now the standard mechanism for publishing and accessing information. It will be around for as long as paper books. But this is different from business computing. Already, we see the limitation of the web for business computer. For a long time, I wondered why I wasn’t excited about Google’s Angular SPA framework. It clearly is successful, and lots of people are using it, including us, but I have never seen it as the future of business computing. With Windows 10 around the corner, I am much more excited about native computing now than browser-based computing. Google has made a bet on the web, and so Angular fits into their vision. But I think that era has played out and has hit a wall with business computing. I think this is demonstrated with the sheer number of native apps that even Google has developed and published just to achieve the goals of their own products.
With Windows 10, I see Microsoft recognizing and supporting the trend that I see, and that is a trend toward more longer-lived systems that support interaction from any number of computer types as well as new form factors that have not been invented yet.
What I mean is illustrated by what happened when applications where migrated from 1990s desktop applications to the web. Too many were rewritten completely from scratch in the business world. I know this because I and my team have been hired too frequently over the years to do this type of work. What is sad is that these web applications out in the business world were too often written using the same wrong assumptions that caused the 1990s applications to be unable to be migrated going forward. When an developer assumes that the UI technology is not going to change, he couples the business logic of the application with the UI frameworks. The huge wave coming is business wanting to take more advantage of mobile native computers, and web applications are always the best for that. So these applications will need to be extended, and many of them are written in a way where if the MVC UI is taken away from them, there is no application left!
This new world of computing will usher in a new standard architecture where the application is built in the absence of UI frameworks, which will continue to change. This new way of building applications will expose functions via APIs that any UI can call. And with this application architecture, we can make UI apps for all the different types of computers both now and in the future. And Windows 10 encourages this new way of developing applications.