Gunnar Peipman's ASP.NET blog

ASP.NET, C#, SharePoint, SQL Server and general software development topics.

Sponsors

News

 
 
 
DZone MVB

Links

Social

Windows 8 Metro development–are they serious?

When Windows 8 Consumer Preview came out I downloaded it same day and installed on virtual machine. Of course, I also installed new Visual Studio 11 beta on it. Then I started playing with metro applications and I am very confused and a little bit disappointed about how broken and limited everything will be on WinRT right now. Here are some of my thoughts.

Metro apps are extremely buggy

Over years I have seen no such a pile of bugs in Microsoft product that should be Release Candidate (RC). Windows 7 beta and RC were brilliant. They worked like charm and after couple of weeks with beta I started using it as my main operating system. Okay, there were some small crashed and BSOD-s but still it was extremely stable.

Now Windows 8 is different. Everything else seems to work almost normally but when we start with Metro then everything falls down. Some of my findings are here:

  1. Suddenly with reason I was not able to identify videos doesn’t play normally in Metro applications. Audio stream is played normally but picture is black. If I run Windows Media Player – this is usual Windows application – on same machine and try to watch videos then everything works fine.
  2. Problem with video playback exists also on IE10. It doesn’t matter if I run it from desktop or from new start screen. It worked before for some days and then problems started. By the way – Build application fails exactly same way.
  3. Couple of days more and IE10 doesn’t open from new start screen anymore. It opens for a moment and then shuts down. Best it can do is to stay open and show blue starting screen but nothing more.
  4. Other Metro apps almost like work. Sometimes they crash, sometimes they are extremely slow and doesn’t react to new mouse gestures. My virtual machine has enough resources to run Windows 8 normally.

I have no good idea what is going on behind curtains or why Microsoft released so buggy version of Windows 8 but considering that they have time about four months to develop + one month to test and debug Windows 8, I am not very sure how bright will be its launch. I mean third-parties need also time to build their apps and test them on stable versions. Thinking this way I am not very sure how competition with Apple iPads will look like or what will be the result.

WinRT API-s: Another bad surprise

Now, let’s go and try to build something useful for my business. Let’s build Metro application that communicates with web services. Is it possible to make something work that uses web services built on previous versions of ASP.NET? Is it possible to use NTLM? Is it possible to use SSL with basic authentication? No, guys, forget it for now. Here are some of my really bad findings:

  1. Support for ASP.NET web services is completely broken if you need some more advanced features like authentication.
  2. NTLM authentication doesn’t work. What is more annoying is one blog post I read where one of Microsoft dudes told about Windows authentication in Metro something like this: we don’t plan to support it but if people ask then there will be some support for Windows authentication. Okay, guys, you just made head shot to SharePoint, Office 365 and Dynamix CRM.
  3. I reconfigured my web services so they use basic authentication. And guess what – again same errors about how communication on socket level fails. When I enabled anonymous access to web services then suddenly I was able to communicate with them. And with me, of course, the whole world.
  4. There is no way to reference libraries built on working versions of .NET. If you have libraries that do something useful then you have to create special Metro version of them. So you end up with two parallel code-bases that do exactly the same thing. Yes, you are just human being and therefore the worst machine to handle duplications but this is the way how you must live with your Metro applications right now.

I’m not very sure why Windows 8 and Metro development is such a bad mess. I don’t know why it is impossible to build secure business applications on Metro. I really hope that Microsoft is in hurry with many developments on Windows 8 and Consumer Preview was just one unhappy nightly build that was pushed to market. If things are not going way better for a time when stable version is made public then first and most important battle for market is lost for Microsoft.

Posted: Mar 11 2012, 10:27 PM by DigiMortal | with 14 comment(s) |
Filed under: ,

Comments

Alexey Raga said:

>>If you have libraries that do something useful then you have to create special Metro version of them. So you end up with two parallel code-bases that do exactly the same thing

Or to create a portable one?

# March 11, 2012 6:33 PM

DigiMortal said:

Thanks for good overview, Tom. It still seems to me that Metro will not be any success in its current state considering all bad limitations I didn't covered here.

As one of my colleagues mentioned then by example IE10 Metro version is somekind of hybrid that with one foot stands on metro and with other foot stands on Win32. This kind of cross-technology monsters are always extremely hard to build, manage and support because inside these products are represented all platform integration problems and these are not easiest of kind.

Alexey - you hame minimal chances to create portable libraries.

# March 12, 2012 4:12 AM

Smart Aps said:

Stop the whining and get started developing for Windows 8 or you'll get left behind.

I mean seriously, there's a reason it's called consumer *preview*. It's got a few (probably deliberate) kinks at this point to keep the general public off from using it. This is for devs to start building the apps that will be there in the store from day 1, on the #1 spot and stay there.

Anyway, I've spent enough time just replying here. Now back to developing some amazing apps on the OS of the future!

# March 12, 2012 7:28 AM

Ian Smith said:

LOL at the idea that by being a Microsoft shill and crying "stop whinging" you won't get "left behind".

Microsoft got "left behind" years ago when they didn't deliver on their "Silverlight phone" promise (demonstrated how many years ago??!!) and have spent all their time since with one lame tactical rushed job knee-jerk solution after another.  Metro is just the latest except this time (just like with Silverlight version 4 - remember Ray Ozzie and his "strategic UI" speech at PDC?!) we're being told this rushed-to-market double-switch Metro vs Desktop hackery is "strategic".

If you like living in a world of pain then by all means "get started developing for Windows 8".

Or alternatively spot the pattern repeated time and time again and make better use of your time by looking elsewhere!

After all who's paying you for all that time you spend just helping Microsoft sell more crap that is too little too late and will undoubtedly be replaced by something else shortly after it's released.

# March 12, 2012 9:09 AM

Don said:

Gunnar, I appreciate the information thank you!

To Smart? Aps good luck with your rewrites of your code as MS gets this "OS of the future" right after a service pack or two.

# March 12, 2012 10:04 AM

Jeff said:

Say it with me...

BETA.

# March 12, 2012 10:20 AM

Andy Till said:

@Jeff A beta should be stabilisation of the product, not the interim period before you add enabling functionality for devs.

# March 12, 2012 12:26 PM

Jeff said:

So when Microsoft goes months/years without any public appearance of a product, it's bad. When Microsoft is iterative and gets stuff out for feedback frequently, it's bad. You can't have it both ways.

# March 12, 2012 3:22 PM

DigiMortal said:

Jeff, you didn't got the point. Metro is good and innovative if you look at it as UI solution.

The problem is technical side. I have no idea why we need new and castrated version of .NET called WinRT. We have strong platform called .NET, there are hell load of libraries and classes we can use. Don't forget also all other UI technologies. And don't forget the huge amount of third-party libraries available for normal .NET versions.

The question is - why not use something that already exists and extend it or use it? By example, WPF should be flexible enough. Microsoft has already experiences how to create more specialized subsets from it - Silverlight, by example. Okay, if they really need to build up something totally different then still why they need to start with separate version of framework?

# March 12, 2012 4:45 PM

Jeff said:

No one is saying that you can't use the same old .NET stuff that you're used to using, you just can't use it in the Metro side of the environment. WPF is better than Windows Forms, but it's not at all well-suited to touch UI paradigms. It's not even remotely suitable to the world of sandboxed apps that come from the sky instead of shrink-wrapped boxes.

I strongly suggest you look at how iPads and even Windows Phones are being used, and get used to it. That's where the puck is going, and Microsoft had to recognize that to remain competitive. I'm surprised they support the "old" Windows desktop at all.

# March 12, 2012 10:40 PM

DigiMortal said:

Why support old desktop? Because otherwise there will be no apps for new operating system. You get only those toys running on first version of Metro and that's it. You can forget all business applications and therefore also massive sales of new operating system.

As Metro comes out with heavy limitations but still people need advanced software on Windows platform then what will be their choice? Staying on Windows 7 for long years like it happened with Windows XP because Vista was practically beta of Win7?

# March 13, 2012 6:16 AM

Jeff said:

Windows 8 is beta. Didn't we cover that?

# March 13, 2012 10:52 AM

Tom said:

Jeff's comments have been amusing because it shows the reality distortion field surrounding Microsoft employees right now.  They're so obsessed with the iPad they can't seem to think straight (if modal/full screen windows are "where the puck is going" why hasn't Apple gone that way with the OS X?)

The truth is Microsoft's logic doesn't make sense at all.  They say "Metro/WinRT is the future".  Then users list all the problems with Metro and WinRT and Microsoft replies "you can still use .Net and The Desktop".  But that isn't the point.  If this stuff is the future then it needs to work.  

What kills me most of all is the attiitude.  Look at Jeff's first post and ask yourself if you'd ever be that rude to a customer at your job.  Microsoft employyes should be thanking people who take the time to give feedback not chastizing them

# March 13, 2012 7:55 PM

Terry said:

Great points Tom. Sadly, Steven Sinofsky is creating a horrific and childish environment where petty sniping is being allowed between the windows and developer divisions and the customers are suffering the most as a result in the form of rushed and confused products like Windows 8 and Metro/WinRT. JavaScript/HTML 5 and C++ to build everything and put .NET on the back burner????? Simply insane.

# March 13, 2012 10:02 PM

DigiMortal said:

nathan, version names (at least for Windows 8) are little bit different than they used to be. Developer Preview was beta, Consumer Preview is considered as CTP. Purpose of new naming is to communicate product market readiness and usage better (DP is techied playground - don't use it at work, CP is almost ready - you can play with it).

After each pre-release version there must be at least 100 days to gather and produce feedback + another N days to fix critical bugs. For new versions of products the amount of bugs found by public testers is usually big. Devs have many new tasks to work on and new features will not be added.

Same time CP is full family member of Windows Update and it gets updates automatically. We can expect at least 5 updates coming (Black Tuesday) and as update history of my W8 shows then W8 gets updates also between Black Tuesdays.

# March 17, 2012 6:00 AM