I know what you’re thinking, and you’re wrong.


Its day 2 of the Microsoft Build conference, and if you’ve been keeping up with the hype you are probably thinking that you need to throw away that WPF or Silverlight app you’re building and start fresh with HTML5 or this new XAML that is the future. If that is what you are thinking, you are wrong. Everything you are doing today you should keep doing. The world didn’t end for you, and your job is not at risk (at least not because of this!). As a .NET junkie going back to the first pre-beta release of the ,NET Framework at PDC 2000 (it was called NGWS back then), and as the former Director of Product Management for Visual Studio, I can tell you that I am comfortable with how useful my skills, and my existing code will be going forward. I am also confident in the value of Telerik’s controls and tools in the future – clearly I knew enough of what was going on with Windows 8 and Visual Studio before I accepted the position of Executive Vice President at Telerik. If I am confident enough to bet my the livelihood of my family on it, you should also be confident in your skills and your existing code and projects.

I’ve also been talking to a lot of attendees at Build, and hearing from a lot of Telerik customers via Twitter and email. There is a lot of concern about the future of the technology we are all using today – specifically WPF and Silverlight. How do these technologies work in the Windows 8 world, and how different is XAML in Windows 8.

First things first, let me help clarify a bit of what Windows 8 is all about. The way to think about it is as though there are two completely different runtime environments….because there kind of are. On one side there is the new Metro style app models that run on the new Windows Runtime (WinRT) and on the other is what is being referred to as Desktop Mode running on the CLR, Win32 and/or IE. Here is the diagram that Microsoft presented.

win8-platform-and-tools

In this diagram there is a green side (Metro style) and a blue side (Desktop Mode). While it is not depicted here, there is a big fat solid wall in between the two sides. That which runs in the green side, cannot run in, nor access anything in the blue side, and vice versa. Apps you build for Windows 8 are either Metro styled apps or Desktop Mode apps. There shall be no comingling. This is a great design. Some apps should never be Metro styled apps, and some apps should ONLY be Metro styled apps.

Metro style apps run in an Application Container that enforces some security constraints and limits access to some system resources. This enables them to be interesting and engaging apps, with access to some identity services and other appropriate resources, but still have limitations that protect the end users. Desktop Mode applications don’t run in the Application Container, and have all the system-level access available to you today depending on how you are building your applications (e.g. .NET and trust levels, or Win32 and system level APIs).

The greatest example of the right use of Desktop Mode not talked about this week is Visual Studio 11 (yes, VS11 was talked about but no one pointed out why it is not a Metro style app). Your dev environment is not a touch-centric, sensor aware app that you’ll run on a small form factor. It is a powerful app that will need access to many system resources and is best experienced with a mouse and keyboard (and preferably more than one high-resolution monitors). Metro style apps are intended to be touch centric, sensor aware, single screen apps that will likely run on smaller form factors more often than a desktop or laptop PC (in fact we were thinking about calling these apps ‘NISA apps’ – Natural Interface, Sensor Aware apps….we canned that idea).

Just like Visual Studio is a ‘Desktop Mode’ app, so will be many of the apps you write. This isn’t to say there isn’t an opportunity for you to write a killer Metro style app, it just means you need to think about the user experience you want to enable and choose the app model that is best for your goals.

As you build applications between now and whenever Windows 8 ships, and beyond, chances are that unless you’re building an immersive, sensor aware app (like a device centric app or a game), or a rich content experience (like a magazine) you will still be targeting Desktop Mode. All of those business apps will still be Desktop Mode apps, and if that is the case, your use of WPF or Silverlight (including Telerik controls) is safe. All of that code you have today will run in Windows 8 Desktop Mode.

To be sure, I spent some time today with some of the folks that build the .NET CLR. They confirmed this to be true, and we spent some time talking about their Pri-0 commitment to not impact existing .NET Framework applications so that they will run in Desktop Mode.

Metro style apps are different. There is no support for Silverlight nor WPF for Metro style apps. And frankly you don’t need it. What you do need is controls and components that are compatible with the new XAML model for Metro style apps…and Telerik will deliver. We will begin working immediately on making our controls work in the new Metro style app model (in fact today @worksonmypc showed one of the Telerik demos running on the Windows 8 devices handed out at Build). In the future you will have a toolkit that includes Telerik Desktop Mode controls and Telerik Metro style controls. in some cases these will be the same or similar experiences, but we will also deliver to you Metro style controls that take advantage of all that the new app models offer, such as smaller screen resolutions, touch, accelerometer and other sensor inputs.

The one thing I haven’t addressed is the roadmap for Silverlight, and that is because Microsoft hasn’t shared anything beyond SL5, which is currently in RC. It is unclear whether or not there will be an SL6, but this I know – there will be an SL5, and it will have a 10-year support lifecycle. You can safely invest in Silverlight now, knowing that that investment will be supported for longer than the app will be useful, and Telerik will continue to make compelling UI controls for Silverlight as long as enough people want to use that platform.

Technology changes like what we are facing now take a long time to get to ubiquity. People are still using Windows XP (over 40% of all Windows usage is still Windows XP) and people will be using Windows 7 for a very long time. Even as people move to Windows 8 they will still live in Desktop Mode most of the time, except when they are using a tablet form factor. My advice…keep doing what you are doing, and invest 20% of your time in learning about Windows 8 and the Metro style app models. We’ve got a while before Windows ships, and a while after that before it becomes the most used version of Windows.

D7

About these ads

Comments

  1. BUT there is alot of great magic in the WinRT bits that would be great to get access to thru WPF/SL..

    Also advances in DirectX may not make it’s way to the Classic “blue” side …

    The blue side is not dead BUT basically it will nolonger feel the innovations in some core key technologies and APIs’that the GREEN side gets!!!!

  2. GREENSIDE ALPHA STARTUP. BLUESIDE CUCKOLDED DEV. WHEN GREEN 250 MILLION DESKTOPS WAKE ME.

  3. Hi Doug,

    I think we’re going to be referring to the ‘Green Pill’ or the ‘Blue Pill’ for some time! A nice article on the framework technology decision tree.

    Cheers.

  4. As long as innovation doesn’t happen in the green side only, I’m happy with your interpretation.

  5. I thought the next version of Visual Studio was VS2012, http://www.vs2012.com ? j/k !!

  6. Kindly point out the useful resources to learn the new features of Windows 8 as you mentioned, “invest 20% of your time in learning about Windows 8 and the Metro style app models”.

    I am not clear yet in the presence of HTML5, is it need to learn WPF and Silverlight?

    Congratulations.

  7. what’s most refreshing to me about windows 8 is:

    * the coherent, coordinated, synchronized approach
    * addressing the key vulnerabilities (aka opportunities) for the windows ecosystem
    * leveraging the best assets of the legacy
    * brilliant transition ability with support for new and old
    * and incorporating the best of the great learnings/leadership from iPhone/iPad/iXXX and android

  8. Me too :-). Thanks for sharing.

  9. When you starve a child of food, what happens to the child?

  10. So given the uknowns, what is best for a LOB app at this point…SL or WPF? I know both will be supported for many more years, but what is the more strategic route for new apps right now? (that is, apps that can be built using either SL or WPF, apps that don’t need the features limited to WPF over SL).

  11. surely, this new WinRT is just a proof-of-concept or pilot project to test the new API model. If it will work and there would be no major drawbacks, the Windows could have similar API model in the future.
    Also note, that the code API model has been break up into smaller assembly-like .dll files (api-ms-win-core-1-1-0, api-ms-win-core-memory-1-1-1-1.dll) , and the immersiveshell (the UI stuff host dll) is referring those dll directly.
    So, apart from the WinRT thing, which can affect only small portion of the developers, the most interesting bit of Windows 8 is the refactor of Windows API. I think in the course of the time, we will see the dedicated sessions that will expand that topic.

  12. When I look at the WinRT API docs at http://msdn.microsoft.com/en-us/library/windows/apps/br211377(v=VS.85).aspx I see a lot of missing functionality that comes from .NET like System.Collections? Is that there or do Metro apps use .NET libs too?

  13. I’ll admit that I’m an outsider… I don’t get paid to code in .NET or any MSFT technology. I have thought about learning the MSFT stack, but I can’t make heads or tails of it. Especially now.

    I bought Victor G.’s Silverlight book and started to learn. Then, out of the blue, Bob M. says HTML/JS is the next frontier. Breaks come on, I go off and learn other stuff waiting to see what Build has in store.

    After build this much seems clear; Why would someone bother with learning or building expensive project in Silverlight or WPF when MSFT is clearly pushing the giant “green box”?

    C++ and HTML/JS are in the same green box. That is either pure genius or suicidal. SL / WPF are in a tiny little corner, relegated to “classic.” Wasn’t SL the future just 3 or 4 years ago?

    How many dev’s can afford to spend 3 or 4 years on a platform that has promised the world, only to be pushed to the back of the line in one fell swoop? Yes, the world of developing is always changing… but generally its incremental and over longer periods. MSFT needs some stability for the dev’s sake.

  14. >>In this diagram there is a green side (Metro style) and a blue side (Desktop Mode). While it is not depicted here, there is a big fat solid wall in between the two sides. That which runs in the green side, cannot run in, nor access anything in the blue side, and vice versa. Apps you build for Windows 8 are either Metro styled apps or Desktop Mode apps. There shall be no comingling. This is a great design. Some apps should never be Metro styled apps, and some apps should ONLY be Metro styled apps.

    The wall of seperation only seems to one way.

    It looks like Metro apps have full access to normal .NET libraries. I posted earlier wondering about missing classes in WinRT so I made a simple C# program with VS11 and used Dictionary. The compiler tells me that the class is implemented in .NETCore\v4.5\Systems.Collections.dll.

    So apparently Metro apps can use .NET. The wall prevents desktop apps from using WinRT (maybe).

  15. Nice post – thanks for clarifying some points about Desktop applications. What I want, though, is a better way forward for Desktop applications. I’ve got a MFC/C++/Win32 desktop app with a lot of functionality. I’d love to keep using C++ everywhere in the app, replace MFC UI with XAML layout, and use WinRT for fast Direct2D-based rendering. Except now I have to take the “green pill” and get the Metro “styling” too!

    Microsoft needs to show us how they plan to innovate on the Desktop side if they truly believe the Desktop is not “legacy” and we should all just write Metro apps.

  16. Art is exactly right. why would any new dev waste time learning SL when it has an expiration date (and already has limitations across other platforms)? of course microsoft has to continue support for it — they have to manage their decision to support html5 with as much diplomacy as possible. and silverlight will dwindle away…

  17. Still what about XNA? And is the Xaml support in Metro the Xaml from SL or WPF? Any ideas?

    • There is no XNA support in Metro style applications. DirectX is the solution for immersive games.

      • To reword my question (not trying to be dense or stir a scene), but XNA is an excellent platform for games. Why not include it? (I guess thats more rhetorical…) Still w/o having the chance to dive into the dev preview yet are we in a third version of XAML or are we using a preexisting base from SL or WPF? Obviously they are both still supported on the Desktop, that’s great. But what is Metro XAML? Can’t seem to find the answer to that yet.

  18. Nice article and it helps a lot. What is frustrating however, is that SL developers have been anxiously waiting for direction for months and we were under the impression that all would be revealed at Build. However, what we end up with is more “leaving us in the dark”. Sure we realize we can still build things for Windows 8 with SL, but the message is far from clear as can be seen by a whole new slew of blog posts about “Silverlight is dead” and other misinformation like posts by Mary Jo Foley. I appreciate posts like yours that help to clarify the situation, but clearly Microsoft is not listening to developers who have repeatedly asked for clarification about the future of Silverlight and WPF development.

  19. Francisco Rodriguez says:

    Hoy estoy en una encrucijada, ya que estoy migrando una aplicacion web .net 1.1 to Silverlight 4, EF 4.1 and RIA Services.¿Que debo hacer?. ¿Debo Replantear este proyecto de migración? e irme por MVC3. Me gustaría mucho su opinión colegas.
    Saludos de Ecuador

  20. Francisco Rodriguez says:

    Today I’m at a crossroads, as I’m migrating a web application. Net 1.1 to Silverlight 4, EF 4.1 and RIA Services. What should I do?. Should I rethink this migration project? and go for MVC3. I’d love your opinion colleagues.
    Greetings from Ecuador

  21. Well we are an example company we were just about to allocate 3 million in funds to develop a SAAS based application that was to use Silverlight and we were going to adopt Windows Phone and Windows pads on the basis we would have high levels of code reuse and we believed we could provide enough value for businesses to change out to the Microsoft products over Apple and Android. The reason we were doing this was because we wanted a unified development approach where we could use Silverlight for all platforms, Phone, Table and Desktop. We were told over a year ago at TechEd that this would happen.

    After Build I have now cancelled the use of Silverlight altogether as there is no value in it any longer as far as we are concerned. We will use WPF for our desktop application instead and we have abandoned all plans for Windows Phone and the Microsoft Tablet and no longer intend to support them in the future at all. We will support iPhone and Android instead if we have to write native apps we want it with companies that have market share.

    In all Microsoft will lose a huge amount of business from this decision as there are many other people that I am talking to that are just as shocked as I am by this. Certainly it is hard to do business with a company that is so short sighted. Microsofts core business is Companies i.e. The business community. Companies write Line of Business applications. What they have produced here is solely for the consumer market and created a huge amount of uncertainty for the business market and ignored what is a veritable pot of god that they could have had by providing a unified development environment for all platforms. When you have a business partner that refuses to explain their actions or provide a roadmap you simply stop dealing with them or you reduce your level of exposure to them.

    There was a time where Microsoft products provided the additional value that warranted the prices they asked. That time has now passed. What we are left with is a rudderless ship lurching from one disaster to another. Think Vista another stupid decision that only got reversed when people voted with their wallets and refused to buy it.

    Microsofts pitiful attempt to try and lock developers into the WIndows Platform through HTML5 will be seen through and anyone with any sense will use something like SproutCore instead to ensure their software works across all platforms.

    All I can say is what a waste and what a missed opportunity by Microsoft. Even if they changed their minds I would not go back as they are simply a fair weather friend and cannot be relied upon in the longer term.

    P.s. We were also going to buy the Telerik tools for Silverlight for 30 developers as well, so it affects Microsofts business partners as well.

  22. thanks for the info. This gives me some more confidence to push ahead with our current plans.

    It was good to hear from a solution provider (above). I still agree with Alan, and am dissapointed that the write once in Silverlight for several targets will not be realised. Perhaps Telerik would also consider doing some work with Xamarin?

    The Telerik commitment of starting WinRT work now is a welcome one. That would be awesome.

    If MS can deliver on their goal of getting momentum in the mobile & tablet market, then this will be a very good thing… and I *may* forgive them for appearing to back Silverlight strongly until MIX11. I actually delayed a HTML5 deployment because Firestarter was so compelling.

    I have writen and talked to several Microsoft people, and the best I’ve got so far is there’ll be an announcement at build… but I’m afraid that Build didn’t help. JavaScript got ten letters in the diagram above, and Silverlight got two (SL). Proportionally JavaScript got mentioned ten-to-one. All of the MS evangelists that I follow now *suddenly* start talking about JavaScript like it is their long lost friend. I know Javascript. I appreciate its functional roots… but it is not my first choice of a language.

    I can only assume that Microsoft are going to continue to look after their business clients given that to date this has been one of their strengths.

    btw: part of looking after business clients means providing clarity of vision and a little marketing muscle so that we don’t have an even harder job of attempting sell our work to organisations.

    Some tech guy in a big client meeting at the end of our pitch says, “but aren’t Microsoft dumping Silverlight?” What solid MS statement do we have? MS have shown that at least there’ll be adequate tooling and an easy migration path. There’s a 10 year commitment. Some tech guy No.2 speaks up, “I remember the migration path from COM. What’s different this time? Demos are just demos. They’re rehersed.”

    Personally, I think MS are a more professional outfit now… but what I think doesn’t weigh in very much here. It’s all about spin… and follow-through

  23. Hi Doug,

    where did you see a 10 year support life cycle for Silverlight?

    Looks a little less clear on the Microsoft site, where it has been classed as a “tool” and no mention of 10 years, just 12 months notice:

    http://support.microsoft.com/gp/lifean45

    Have I missed something?

    • Silverlight support is subject to 12-months notice from Microsoft. This is primarily to enable them to release new versions and discontinue support for older versions. Visual Studio 2010, however (which includes tools for building Silverlight and Silverlight project types), will be supported through September 2020.

      D7

  24. I heard an MS guy say “10 years” and quote that Winforms is still with us as an example just a few months ago… but your MS link contradicts this.

    “Microsoft will provide 12 months of notice prior to the end of support for Silverlight” (http://support.microsoft.com/gp/lifean45)

    Not good.

    • Silverlight support is subject to 12-months notice from Microsoft. This is primarily to enable them to release new versions and discontinue support for older versions. Visual Studio 2010, however (which includes tools for building Silverlight and Silverlight project types), will be supported through September 2020.

      D7

      • Hi Doug Seven,

        I still appreciate your article.

        However, there is no caveate like you suggest in this statement written in semi-legalese — and that’s important. Lawyers tend to put a lot of thought into these statements. They’re a fairly articulate bunch. Is it a mistake?

        “Microsoft will provide 12 months of notice prior to the end of support for Silverlight” http://support.microsoft.com/gp/lifean45)

        It doesn’t say, “so they can…” It says that it is an “out of band release” Presumably Windows 8 is “in band.”

        What they could of said is (as you suggest), “this is to ensure that our resources support the most current release of Silverlight. There will be a ten year commitment to support the last released version of Silverlight should active development stop.”

        Previously, I was very impressed by Scot Gutherie’s emphasis on look what they had achieved in a few short years. We wanted to align ourselves with that. It was like wow both on the engineering, and the commitment.

        At this time there is no public comment that I am aware of from Microsoft regarding Silverlight. They emphasise HTML5 and XAML. It’s been six months since the rumours began at MIX 11. They must have thought about it.

        I can imagine a statement like this after we’ve sucked up all the distraction, “we’re doing nothing different to the terms and conditions. The T&C were available publicly”

        Have there been forced marches from MS before?

        -Steven

Trackbacks

  1. [...] I know what you’re thinking, and you’re wrong. [Sept 14, 2011]:”… Just like Visual Studio [2011 shown at BUILD] is a ‘Desktop Mode’ app  [az én kiemelésem], so will be many of the apps you write. This isn’t to say there isn’t an opportunity for you to write a killer Metro style app, it just means you need to think about the user experience you want to enable and choose the app model that is best for your goals. [...]

  2. [...] continuación les comparto una traducción aproximada  de este artículo, como siempre que realizo una traducción, los invito a proporcionarme su retroalimentación por si [...]

  3. [...] my earlier post (I know what you’re thinking, and you’re wrong.) I talk about Visual Studio as a Desktop mode application – some applications just aren’t metro [...]

  4. [...] in Metro doesn’t support any form of plug-in by design. But, as Telerik’s executive clamp boss Doug Seven points out, that doesn’t meant that developers with Silverlight skills should worry, since Silverlight will [...]

  5. [...] không tồn tại “. Tôi nghĩ rằng nó vui nhộn để đọc bài viết như thếnày http://dougseven.com/2011/09/14/i-know-what-youre-thinking-and-youre-wrong/ (thx để jrboddie cho [...]

  6. [...] Doug Seven’s Blog Article Another post from a Telerik developer looking at WinRT and what it means for the current .NET platforms. [...]

  7. Hírcsatorna says:

    Silverlight sors tényszerűen…

    A Windows 8 fejlesztői bejelentés + első reakciók (FRISSEBB) rámutatott, minél…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: