Today, Microsoft announced the Windows Phone 7 development platform, and WOW!!!!!!!! What a splash MS made today! I was glued to my machine listening to the whole thing! Uh..oh...uh, ya, boss, I was uh, doing doing my project work while listening, really I was!!!! (Well, to be honest, he was listening too LOL)
If you want to check out the running dialog, check out the live tweets (at the begining). There's a BOAT load of cool info discussed today. Among the highlights:
- ALL DEV TOOLS AVAILABLE NOW AND FOR FREE!!!!!!!!!!!!!!!!!!!!!!!!!
- Marketplace is changing for the better, the Try button is AWESOME!
- Emulator is sweet and stable
- SL 4 for the phone = Visual Studio/.NET/C#/VB.NET you already know!
- Did I mention THE TOOLS ARE FREE AND AVAILABLE NOW!!!!!!!!!!! (Links to come as well as install review)
So what's the big deal about all this? Well, if you're an iPhone/Android developer, you might be scratching your head going "What's the fuss all about?" And ya, you'd be fair in that assessment, BUT from us MS .NET devs who've been CRAVING mobile development, THIS......IS........AWESOME!!!!!!!!!!!!!!!!!!!! Quite simply incredible! Me! A C# developer who lives'n'breathes Visual Studio can now make a Silverlight application and deploy it to a smart/cell phone! Uh, ya, that's the one small hiccup, there's no HW yet that we can play with. Ouch. BUT, to be completely fair, the emulator is nearly bullet proof and works like a CHAMP!!!!
Ok, so what? Enough with the marketing shpeel geek, get us to the development! Ok, fair enough! Check out this link and "Download the Developer Tools" on the next page. Warning, before you get too excited, I have to warn you, there's ONE download! Ya, one! Well, there are more, MANY more downloads, BUT to get started there's only one you need, and here it is!

That download will be the opportunity and glorious awakening of all dishardened souls from microsoft developers who've been starving for mobile development since the iPhone was released! Can you hear the choir singing in the background? Oh, sorry, were you expecting a "fair and complete competetive analysis" of the iPhone vs the WP7 devices and development environments? HAHAHAHAHAHA LOL LOL Good one! ahahahahahah You obviously don't know me very well, ya, this is a slightly slanted blog towards MS, but I come by it honestly! LOL
Anyways, back to business. Once it's downloaded, you can run it. Here's a blow by blow screen caps of what you can expect. The first screen is the typical "Are you sure you want to do this?"

Next, I found this interesting how BIG the Install Now button is. Is Microsoft proud of what they've just accomplished or what? LOL

I usually do a custom install, and this time's no different. Interesting there's nothing to select. HAHA Maybe they put that button in there for people like me? Probably. HAHA

The next four screen caps are of the downloading of the actual WP7 CTP. OH, you thought you were downloading everything with that 3.2MB file? I don't think so!

Good, getting the emulator, awesome!
XNA Game Studio, interesting!
Silverlight 4 download, awesome! COOL!
Now we're done downloading the BIG pieces, now we just do the actual installation.

After a good 20-30 minutes (at least you don't have to babysit it, unless you want to watch? LOL) it should/will finish without incident.

AHA THERE WE GO! Done! You think Microsoft is proud of what they've done? There's that BIG BUTTON AGAIN! LOL

After you click that bit shiny button (the only thing MS could have done worse was make it RED and said DON'T PRESS HERE LOL) you'll see a brief dialog...

And then Visual Studio 2010 will open and you'll see something new! This is your first clue you're not in Kansas anymore Toto!

If you click on the Create Windows Phone 7 Applications link, you'll see this (after all that's why we're here right?).

Next, I decided to try out a simple and typical Hello World sample. I saw it today, and I figured I could do it too! Let's try it out. Cool! Goto setup a New Project.

This is where things started to fall of the rails. hhhhmmmm what is going on here guys? This is supposed to be easy I thought? How much simpler can a Hello World project template be man? What was I expecting? Well, no Uncaught Exceptions on the Phone UI rendering for starters!

Hhhhhmmmmmm ok, small hiccup, let's keep plugging forward! We'll use brute force to figure this one out eh?! YA!
F5 the project and let VS do it's stuff. The emulator runs, that's gotta be a good sign, right?

VS is connecting to the emulator, another good sign.

In the infamous words of Homer Simpson.........DOH!

HHHHMMMMMM Keep plugging through this, we can do it right? Try editing some XAML and try again! hhhmm nope, DOH DOH!

At this point, I start to wonder what COULD be doing wrong? Microsoft COULDN'T have gotten this screwed up? Tell me it just ain't so guys?! Well, what do we usually do when things like this happen, yup, three finger salute and reboot! LOL And you know what?
BINGO!!!!!!!!!!! THAT DID IT! SO? What's the moral of the story here? After installing the CTP, reboot! Yup, REBOOT and you'll be GOLD! The phone UI renderingn works like a charm, the intellisense works, F5 works, everything is good again!
At runtime, the emulator works like a champ!

At this point, I'm learning some new things about WP7 development. You COULD hit the X button on the Emulator.

But doing that would stop the emulator COMPLETELY.

The alternative is to hit the SHIFT+F5 in Visual Studio to stop debugging. This does two things, stops your mobile app from running (cool) and second doesn't kill the emulator so the next time you hit F5 to run/test your app again, you don't have to go throgh all the reinitialization again.
At this point, I started to poke around and realized, you know, this version of Visual Studio don't look normal. What's different? Playing the "what's not the same with these two pictures?" game, I came up with this. The top VS is a WinForms project I blogged about yesterday. The VS below it, is the WP7 CTP version I just installed.

And that's not your first clue, oh no. Check out your Start Menu. The last one is the WinForms project you're used to seeing, while the first one is the WP7 CTP and the second one is the emulator running. Interesting.

Next I checked out the Tools, Options, and they are severely scaled back too.

At this point, I just wanted to get back to coding, so I checked out my old friend Intellisense. AAAAHHHHHH THERE you are my good old friend.

Next, I wanted to tweak the Hello World juuuuuust a bit more. THERE! PERFECT for my first night's WP7 work! LOL

There you have it! A simple Hello World Windows Phone 7 application in Silverlight! That is cool! And ONLY ONE DOWNLOAD!!!!! The only secret is to reboot AFTER you install the CTP! I do hope to continue with doing WP7 development, I hope you come back to my blog to check it out. And with that, it's time to go grab a coffee and get coding!
PS There are other downloads for Blend but I've chosen to focus just on Visual Studio tonight and getting the simple Hello World demo running. I'll blog another night about the Blend experience. I hope you come back.
Resources:
Source Code: http://www.pchenry.com:8080/svn/blog/trunk/2010/HelloWorld
Microsoft: Windows Phone Developer Tools CTP
MIX 2010
Joey DeVilla's technical blog (Canadian MS evangelist present at MIX)
Colin Melia blog (XAML/SL/BLEND GURU who's also present)
Laurent Duveau blog (another Canadian present, SL MVP)