Many news from the Microsoft world at
TechEd Europe 2012, concerning the products to come:
Windows Server 2012 and Windows 8.
There were interesting sessions about the vision of the future by Microsoft,
regarding server products and in particular about clouding by Windows
Azure.
My main interests were on another subject, that is Windows 8, the new
Metro user interface and the business opportunities on the client side.
I arrived in Amsterdam with many doubts, many misunderstandings about these new
technologies; now, 4 days later, I have a more clear vision.
The most important slide
I want to share with you the next slide showing the Windows 8 application
platform, because for me it is the most important slide of all the congress: it
has dispelled all my doubts.
Metro is the new user interface, it will be available on Windows 8,
Windows RT (Windows on ARM) and Windows 8 Phone.
- Windows 8 is the new desktop operating system,
- Windows RT (not to be confused
with WinRT) is the new operating system for tablet devices and
- Windows 8 Phone
is the new operating system for the mobile world.
Microsoft has announced that Microsoft Surface, its tablet to come, will be available in two
configurations: x86 fully Windows 8 compatible and Windows RT. Which is the
difference? This is the key, only Windows 8 will be capable to run classical
desktop applications (see previous slide), all the others will run only Metro
style applications.
The new UI
Starting
from late 1995, when Windows 95 was released, the Windows user interface has
basically never changed, that is a Start button on the bottom left to access all
the programs. This year a big change is going to happen, Windows has been
reinvented. A lot of studies have been made on usability, ways of holding the
devices, semantic gestures and more to go.
All the Metro applications will stay on the desktop and accessed by a horizontal
scroll, by mouse o by fingers. Applications will be represented by
tiles, that is big rectangular icons with a living soul, in
fact every application will communicate with the user also if it is not
launched: for example the tile of an e-mail application can communicate to the
user the number of unread messages, a finance application can use the tile to
communicate some news, etc.
What about all my existing desktop programs?
They will be launched in the classic desktop, very similar to the Windows 7 one
(with the exception that there's no Start button).
What about Metro applications on previous Windows OSs?
Sorry, metro applications are not backward compatible.
The good news is that practically a Metro application has good chances to run
on all the platforms, desktop, tablet and phone.
Applications development
Again, the most important slide explains everything.
You can still develop desktop application in the usual way (remember these
applications will run only on PCs and notepads):
- C or C++ to develop native Win32 or Win64 applications.
- .NET languages (C#, VB, F#, etc.) to develop .NET applications.
- HTML and JavaScript to develop applications to be hosted inside a web
browser.
The Metro application model relies on WinRT (not to be
confused with Windows RT that's the ARM operating system), the Windows
Runtime APIs.
Here's the first choice you, as a developer, have to do: XAML
or HTML5?
The new development tools, Visual Studio 2012 and
Microsoft Expression Blend 5 give great support to use both
technologies, to design user interfaces and to write code easily. Your choice
does not depend on which one has the best support, but on many other
considerations. Don't ask to me, I'm still thinking about it.
If you choose to use XAML, you have all the power of a well formatted .NET
language, but some far doubts about the longevity of this choice (it's only a
sensation not supported by any evidence).
If you choose HTML5 and JavaScript, you have a standard and widely diffused
paradigm, but you have the nightmare of JavaScript too.
Sometime they come back
I have assisted at many Microsoft conferences in the last 15 years and every
time I went to attend at a C++ session, just because C++ was my
first love. As the years passed, less attendees came to this type of session: in
the last few years you could count people using two hands.
This year there was a big surprise: the C++ session was held in a auditorium and
was sold out already 5 minutes before the start. Why this C++ renaissance?
That's because (see always the most important slide) C++ has become now the most
powerful tool to build high performance Metro/DirectX applications. If you think
that the most diffused apps for the mobile world are games, you have also the
explanation about this new C++ success.
Business opportunities
Microsoft decided to adopt the Apple style applications deployment, that is
all Metro apps should be sold using the Windows Store.
All developers that want to sell or give for free their applications, should
submit their work to Microsoft, wait 1 week and finally if the app is
certified, it will be published on the store.
If the application is not for free, 30% of the income has to be given to
Microsoft. If you're a good seller, after 25,000$ you'll correspond only 20% to
Microsoft. You choose the price, you can advertise yourself but you'll also
benefit the Microsoft marketplace diffusion and their strong advertising
campaigns.
What about companies that develop enterprise applications for themselves or
software developers that build niche applications that have no reason to stay in
a marketplace?
For them there's the solution to have a private store, that will be totally
separated from the Microsoft one.
If I have to choose, why Windows and not Android or Apple?
That's a really interesting question.
I won't answer you verbally, rather I'll salute you with the last slide, that
shows how many OS installations are made
around the globe.