It's a long time I don't blog because the twitter-mania moved my thoughts out there. Furthermore I am very happy about my last October renewal as a developer security MVP which continue to give me the chance to discuss a lot of cool stuff with the cool people (and friends) inside Microsoft.
While attending the conference I twitted a long series of comments but 140 characters are not enough to summarize the long series of lucubration invading my mind.
As I said a long time ago in 2010 (Italian blog: http://blogs.ugidotnet.org/raffaele/archive/2010/10/29/the-land-of-confusion.aspx) it was definitely possible to run full-Windows on small ARM devices. At that time ARM SoC were not even announced but the prediction was obvious IMO.
Anyway with WP8.1 now we have the same WinRT runtime running over the whole platform of devices, the Universal Project Template now available in Visual Studio 2013. Obviously the views are worth to be customized depending on the screen size and orientation, and the universal template offer a pretty straightforward way to reach this goal.
Cortana is the WP8.1 speech and soul who did the show during the keynote. It's not just text to speech but a real personal assistant which you can see in action in this hilarious video here. From an artificial intelligence point of view it's nothing revolutionary, at least according to Dr. James McCaffrey who presented an awesome session about neural networks where he revealed Cortina, his answer to Cortana (see 38:40 of the video).
WP is still missing a decent voice recognition in non-English languages but it's only a matter of time.
The operation 'desktop recovery' (my personal naming) is probably the most awaited news of the conference and it's finally here. Well, Windows 8.1 Update 1 does not still deploy all the changes most of the users are expecting for the desktop but Microsoft finally got the wishes from their customers.
First of all the modern apps running in a desktop environment now have a title bar allowing to minimize or close the applications. They still can't be windowed but they keynote clearly said that a upcoming update will add this so long sighted feature.
Another key point announced during the keynote is that WPF rules the desktop world. Unfortunately the announcement was not as complete of details as it deserved after years of waiting. There was a Desktop panel with a long discussion about the future of desktop development. They are still grabbing requirements for WPF vNext so most of the decision are not taken yet. I hope in an investment on bringing the WinRT library on the desktop.
The excellent Harry Pierson demo showed another key aspect of the desktop integration. There is now the ability for side-loaded applications to run a brokered process which is not sandboxed and can allow a Windows Store app to run code requiring full access to the local machine. The Modern app still runs inside the sandbox but can access this special full-access process. The communication is made by (please sit down and read well) … DCOM (yes, that old DCOM technology which screwed up devs in the nineties). Currently only .NET apps are supported but soon C++ developers who are probably more familiar with DCOM will get this feature.
The main point here is that DCOM communication is a quick&dirty solution but the communication (depending on the use-case) can certainly slow-down the app performance. The long term solution is certainly to open the sandbox for the side-loaded scenarios but, Harry Pierson said me, this requires more work. They are aware of the problem and this is the most important point.
After the renaming to Microsoft Azure, the stack gained a lot of enhancements on Virtual Machines, Web Sites, SQL Azure, Mobile Services and a brand new Azure portal (in preview). The portal is certainly something that every developer awaited for. But also the Visual Studio integration is very welcome as we could enjoy from the demos.
Nothing is better than an exhaustive list of the new features instead of trying to remember of the cool details.
This is probably the most important news of the build conference. Microsoft wants to fight this battle and the strong move consists in offering Windows Operating System for free for all devices below 9 inches…. wow, great move.
Currently Windows for IoT will run only on Intel devices like Galileo and the upcoming "Sharks Cove" board which was presented in a session showing how easy is developing device drivers. Now the driver kit is available for free inside the express edition of Visual Studio (double wow). We were said there is commitment also for MicroFramework but let me be skeptical about the success of this operation. The full Windows board like Galileo and Sharks Cove have comparable prices to the very low performance Micro-Framework cards. Unless a Micro-Framework board become even cheaper than a 35$ Raspberry-PI, there is no hope for MicroFramework IMO.
Yes, it's too late but now there is at least a roadmap for the new generation of industrial PDAs. Now that the market is totally lost there is at least an excellent technological proposal to restart from. I just hope the manufacturers of those devices will promptly understand the need for developers to have devices based on this new Windows.
The Roslyn compiler will be the next generation of .NET (VB and C#) compilers. Anders Hejlsberg published the sources on codeplex during the keynote and substantially opened a new era for the .NET Framework.
Beyond opening the sources of Roslyn, DotNetFoundation has been launched as the gateway to access the sources of an important number of projects, some of them managed from Microsoft Open Technologies.
In addition to that, a new version of the .NET Framework Library reference source website has been launched which allow powerful searches brought by Roslyn infrastructure.
Another announcement was about the WinJs library going open source too.
Xamarin has just reached its top popularity in this conference. The ability to create and run application cross-devices is THE business. Everyone expected the announcement of Microsoft acquiring Xamarin … but it was not the case. I believe this would be the best moment for Miguel De Icaza to sell its company, from a $$$ perspective.
The rumored Project N has been unveiled at build under the name of .NET Native, the ability of creating a set of native dll/exe using the C++ backend compiler.
After enabling this feature from Visual Studio, the "Any CPU" benefits are obviously lost and it is necessary to compile once for every platform. The old compilation model is and will be always available… nothing goes lost.
The main benefits are:
When the compilation ends the application exe become a small stub invoking via COM a separate DLL containing all the native compiled code coming both from the .NET Framework and the application code (both dll and exe).
This feature will be available at the moment only for Windows Store applications because, we were said at the .NET booth, it uses the smallest subset of .NET assemblies. The ARM devices, which are currently less powerful, will immediately benefit from this feature. Microsoft wants to compile in native code automatically every app in the store so that apps on phones and tables will be immediately faster.
For the future, I believe the main driver for the new .NET native stuff is the huge gain of CPU and memory on Azure. Think about for a second how many CPUs cycles are spent JIT-compiling code and how many times the JIT code is loaded in all the machines on Azure. This definitely justify the effort and money of this project.
In addition to .NET Native the new RyuJIT CTP3 was launched. This effort is totally separate from the .NET Native one. The code produced by the new 64bit jitter is more performant and takes less time at startup.
Privacy | Legal Copyright © Raffaele Rialdi 2009, Senior Software Developer, Consultant, p.iva IT01741850992, hosted by Vevy Europe Advanced Technologies Division. Site created by Raffaele Rialdi, 2009 - 2015 Hosted by: © 2008-2015 Vevy Europe S.p.A. - via Semeria, 16A - 16131 Genova - Italia - P.IVA 00269300109