The Microsoft Build 2013 conference is now over, so it’s time for some summaries and impressions. All the following is my personal thoughts from my viewpoint, and may not reflect the way things actually are. Last caveat – some of the information is based on the sessions I attended. Naturally, I couldn’t attend most sessions, and I may not even remember all info given in the session I attended. Still…
The conference was 3 days in length. With about 14 sessions going on at the same time slot, this is too short a conference; 4 days would have been better. Sure, all the sessions are recorded and will be available for viewing – but that’s not the point. If I just wanted to view sessions, I wouldn’t need to go to Build at all. The point of Build (besides the “experience” in general), is to be able to talk to people, especially from Microsoft and perhaps get some answers to nagging questions.
So, what’s new?
Nothing earthshaking. The conference date was unusual – not the October/November timeframe, but late June. This was (to me) a hint that Microsoft had something new to show the world; alas, I was disappointed. There was nothing really new; I can’t shake the feeling that if the dates were in October/November, there would have been truly new things to show.
Windows 8.1 – this is the next version of Windows. Windows 8 was called “Windows Re-imagined”, and Windows 8.1 is called “Windows Refined”, which is pretty accurate. No earth-shaking changes, but refinements and improvements across the board. Is that really worthy of a Build conference? I don’t think so.
So, what’s new? Here are some things I found interesting:
The Start button – a lot have been said about the return of the Start button (not quite the Jedi, unfortunately). There is a Start button on the TaskBar now, but clicking it does not open a Windows 7 style menu, but instead shows the tiles, although it maintains the desktop background. A new Apps view is available when swiping up (or pressing a down arrow at the bottom of the Tile screen). So now there are things in the Home Tile screen, but not everything (as was in Windows 8). You can opt-in and select which apps (Modern or Desktop) to show in the home screen.
This is pretty much the way it works in Windows Phone. And while in the Phone this is a good experience, in Windows 8.1 it’s not quite there. The problem is that the Apps view is still a mess; in the Phone it’s a nice list with search capabilities. In Windows 8.1 it’s a mess of apps, although the Search helps. Since Windows 8.1 is running on various form factors, but always larger than the Phone, this seems a below par experience. The new Start button is mostly useless.
However, there is a new option to boot to desktop. Here’s the TaskBar properties Navigation tab:
Windows Azure is Microsoft’s cloud platform, and its capabilities are truly amazing. It’s not just the capabilities themselves, it’s much more than that. There are so many services exposed that rely on the Azure infrastructure, that developers are sure to find services that would make their lives easier when building all sorts of apps, from server based apps to mobile client apps. The number of services and the rapid pace of their inclusion is staggering. I remember not so long ago, when Azure was young (and it still is), where the basics where there, but not much more: web role, worker role, table and blob storage, queues and a basic service bus. Azure has come a long way since then with many services too long to list here. I recommend watching the second day keynote to get a sense of the new stuff.
Visual Studio 2013 and .NET 4.5.1
Microsoft unveiled Visual Studio 2013 preview, and at the same time released Update 3 for Visual Studio 2012. As was noted in Ballmer’s keynote, Microsoft has been moving to rapid release cycles for all (or at least most) products, including Visual Studio. many feature enhancements exist in the editor, the Edit and Continue feature is now supported for 64 bit .NET projects (as well as 32 bit), XAML intellisense can now help with standard Windows 8 / Windows Phone StaticResource values, and more. Debugging has been enhanced by a new hub for profiling and call stack information for async/await debugging. This means that when a breakpoint is placed after an await operation completes, the call stack shown includes call information before and after the await call.
To gain some of these features, .NET 4.5.1 is required and is installed automatically with the VS 2013 preview. There are some improvements in this release as well, but as you can guess from the version number, nothing earth-shaking.
C++ got a few new features. C++ 11 features that were part of a compiler CTP back in November 2012 were incorporated in release form. async/await is not there yet (yes, I mean roughly the same feature as in C# – implemented with the concurrency::task<> class), by the way. In Heb Sutter’s talk, he said async.await (in C++) should be available after VS 2013 ships, sometime later this year. If you’re a C++ developer, you should watch his talk.
In the VS 2013 IDE, C++ enjoys some new features. One of them is the ability to format source code with rules for formatting, such as indentation, spaces, etc., just like in C#. I think it’s about time, and is a great feature. Pressing Ctrl+K,D (just like in C#) corrects the source code to comply with these formatting rules. Here’s a snapshot from Tools / Options:
Windows Runtime and Store apps
Other improvements in the core WinRT exist as well. I suggest watching the relevant sessions to get all the details.
What about the desktop?
Windows Store apps are good and well, but what about desktop apps? It seems Microsoft has finally realized that although there are nearly 100,000 apps in the Windows 8 store, there are millions of desktop apps out there. These apps were neglected since the Windows 8 original release, and now some balance is being restored. There were sessions about desktop apps and new features they can use, such as DirectComposition (which is also the underlying composition engine in Store apps XAML engine), Direct2D (applicable to Store apps as well, of course) and some other features.
Still, this is not enough. Desktop apps are neglected. There was no mention of new features in WPF; this is really annoying, considering the many new UI controls added to WinRT. Some of these would be useful in the WPF space as well. However, WPF was mentioned twice in the second keynote! I though Microsoft may have forgot that WPF exists.
In the native C++ world, for desktop apps, XAML cannot currently be used. Microsoft seems to insist that C++ developers would have to continue using antiquated libraries, such as MFC, or some open source cross platform library, such as Qt. There is currently no decent native library from Microsoft for desktop apps. Since using WinRT types from desktop apps is possible, and in fact most can be used, I find this restriction artificial and unjust. There’s no reason to prevent XAML from working in desktop apps, and this seems to suggest Microsoft has not yet fully understands the importance of desktop apps, not just for existing apps, but for new apps as well. Not all apps benefit from a touch interface; some are only feasible with a mouse, menus and other common desktop app features.
Sorely lacking new features and announcements was Windows Phone. There was no mentioning of Windows Phone 8.1 or any other new version, for that matter. It seems Microsoft chose to focus on Windows 8.1 as far as client platforms go. I managed to speak to one member of the Windows Phone team, and he basically said that this time all focus went to Windows 8.1, and (of course) he can’t talk about Windows Phone future.
There were about 20 sessions on Windows Phone, but there was nothing new, so this is more suitable for a TechEd conference, where the present is discussed. Build is mostly about the future, and this opportunity to talk about the Phone has been missed entirely.
There were other interesting things to look at, such as the new Kinect (part of XBOX One, but will be available for the PC as well, sometime in 2014) and some interesting innovations, mostly shown in the keynotes. Overall, this is not one of the best Build conferences. Hopefully, next Builds will be better.