Vista: Developer Resources

Sun, May 28, 2006, 05:30 PM under Windows | Vista
While many developers have been playing with various builds of Vista over the last 2 years, now that Vista Beta 2 is available, many more will start experiencing what is shaping up as the biggest release of Windows ever. I've captured below (in no particular order) some online resources to get you started.

If you have Vista site/blog which you think is of interest to developers, ping me with the URL and I may include it below.

1. Visit the 3 official sites that I link to from my Vista Beta 2 post. Then go download the Vista product guide.

2. Read the developer call to action: Top 10 things to do (TIP: on the left in the explorer view you can find 15+ additional articles to consume including the Application Compatibility Cookbook) and use the appcompat tools. Also keep an eye on the continuously updated developer story.

3. The Windows Software Development Kit (SDK) can be browsed online or downloaded locally.

4. With the next wave of technologies including Vista, you will hear the term User Experience (UX) being thrown about quite a bit. One element of that can be comprehended by reading the guidelines and understanding the aero aesthetics.

5. A controversial feature for some and essential for most, is the User Acount Control (UAC), which you should learn about immediately by reading here and here. In this context, some of you may need to understand COM Elevation Moniker.

6. Check out Gadgets that are a new type of task-specific "application" with a huge cool factor.

7. As you'd expect many presentations have been given about Vista. Download the presentations from the PDC 2005 and Mix06 conferences. Also sign up for the upcoming Vista webcasts.

8. Go view the Windows Vista channel9 videos.

9. For support, please visit the newsgroups and msdn forums. Other communities include DevReadiness.

10. There are a whole bunch of blogs dedicated to Vista (or at least with some strong content on it):
SDK Team , Network Access Protection , User Account Control , Vista Team , Tom Archer , Tim Sneath , Andre Da Costa , DWM

11. Here is a small selection of not-strictly-developer-focused Vista resources, as I reckon they will be of interest to some :-)
VistaBase , TweakVista , SuperSite , VistaMania

Roadhshow follow-up

Sun, May 28, 2006, 05:28 PM under Events
Last Tuesday, attendees of the MSDN Roadshow in Edinburgh, got to see me demo some Vista developer features and were probably the *first* large public audience worldwide to see Vista Beta 2 in action!

Those of you in the UK attending the other roadshow events (Manchester, London, Bristol and Reading) will also get to see the same session on "Windows Vista: a developer's glimpse". Registered attendees receive a link to the slides and demos via email.
If you were at the Birmingham show, note that the slides/demos have changed since then (but will remain the same going forward) so please revisit the post-event site if you wish to get additional material.

I promised I'd put on my blog some Vista URLs so enjoy these Vista developer resources!

Vista: Windows Mobile Device Center

Wed, May 24, 2006, 05:12 PM under MobileAndEmbedded
Click on the links in this post to unveil the screenshots

Plug your Windows Mobile device to your Vista machine, and you get greeted by Windows Mobile Device Center.

If you click on "Pictures, Music and Video" then you'll get Media Player with the option to sync media.

Clicking on "File Management" brings up Portable Devices in explorer, allowing you to transfer files between the device and computer. On my device I have a 2GB SD card, so explorer shows that too. Another way of arriving to a similar display is simply by browsing Computer (no longer called My Computer).

The 3rd and final option of Mobile Device Center is "Change PC and connection settings".

By the way, if you don't plug a device and you want to view the Mobile Device Center window (or if you close the window and want to get it back), finding it is not easy. First I opened the "Control Panel" and naively thought it would be under "Mobile PC". I tried the "Mobility Center" but no luck there either. Finally, I found it under "Additional Options".

So, to sum up, the great news is that Vista has the *base* functionality of ActiveSync built in. The bad news is that (in build 5384 at least) not all the features of ActiveSync are available (plus AS isn't supported on Vista).

To finish on a positive note, by Vista RTM the Windows Mobile Device Center base application (probably complemented by a supplement) *will* completely replace ActiveSync. At that point we'll be able to target a real device from VS2005 for NETCF development!

UPDATE WMDC is here!

Vista: Beta 2 Available

Wed, May 24, 2006, 12:12 PM under Windows | Vista
Windows Vista, the next Windows client Operating System is due to ship in the second half of 2006 (with wide availability straight after Christmas).
It was previously code named Longhorn and, in fact, the server edition will not be named Vista and it still carries the Longhorn code name until the new name is announced.

We've come a long way since the first taste at PDC and now you can get Beta 2 of Vista. This is the first *public* Beta (i.e. not just for MSDN subscribers) and millions of downloads are expected. If you haven't already, you better check Vista out because your customers/users/competitors certainly will!

I can personally vouch that Beta 2 is a great improvement over the February CTP (build 5308) as I've been "playing" with both recently...

Go get Build 5384.4

While waiting for the download to complete, browse the totally revamped official Vista sites:
Vista on MSDN
Vista Home Page
Vista on TechNet

Standalone Device Emulator with WM 5.0 images

Thu, May 18, 2006, 06:20 PM under MobileAndEmbedded
I hope those of you at MEDC caught Barry Bond's session on the emulator. Well, it is now RTM :-)

The Microsoft Device Emulator 1.0 is a standalone version of the same ARM based Device Emulator that ships as part of Visual Studio 2005. The standalone emulator is intended for situations when you want to demonstrate or test your application on a computer that does not have Visual Studio 2005 installed. In addition, we are offering the Windows Mobile 5.0 and Windows Mobile 2003 SE operating system images that you can use with the Device Emulator.

Device Emulator 1.0 has a number of features that make it significantly better than its predecessor (the x86 emulator). You will find that it:

* Runs code compiled for ARM processors rather than for x86 processors. In most cases, you can run the same binaries on the emulator as you do on the device.

* Supports synchronizing with ActiveSync. You can use the Device Emulator with a full ActiveSync partnership. This feature allows you to debug applications that are syncing, or be able to use real synchronized data from within the Device Emulator.

* Provides support for more development environments. The emulator has been tested for developing and debugging applications with Visual Studio 2005, Visual Studio .NET 2003, and with eMbedded Visual C++ 4.0 (eVC4) SP4, all using ActiveSync. No crossover serial cable is required.

* The Device Emulator supports GAPI. You can write and debug GAPI games on the Device Emulator and expect them to work.

Download it now

List of AKU build numbers

Wed, May 17, 2006, 05:10 PM under MobileAndEmbedded
FYI, John Kennedy (whom I had the chance to meet at MEDC and he is a fine example of a British character :-) updated the mobile wiki with a list of Windows Mobile 5.0 AKUs

...and for my non-mobility readers who are wondering what it is: AKU

MEDC wrap-up

Sun, May 14, 2006, 04:59 AM under Events
So it seems after registration I didn't get a chance to blog as much as I was hoping for! That is testament to how busy the conference kept us...

I attended a whole bunch of sessions but the most interesting ones where the private MVP events (with VSD/NETCF/SQL Everywhere/WinCE teams); this was my last chance to (pretend to) be an MVP since I had arranged my attendance/speaking at the conference wey way before joining Microsoft UK. Hanging out in the MVP Cabana and Speaker Cabana was an excellent way to network with other influencers on our most excellent platform(s).

Some of the public sessions that attracted me where not your traditional MEDC sessions and included: Developing for UMPC, SideShow and NETMF. I suspect I'll be blogging more about those areas in the future...

Oh, my talk was very well received which is always nice... If you are attending Tech Ed in Boston or Tech Ed India, you will have a chance to see my 30 slides and (40 minutes worth of) demos... It won't be delivered by me (due to logistics), and I take it as a compliment that the session I created has been chosen for replay at the largest Microsoft conference :-) If you were at MEDC and didn't get a chance to get the slides, ping me and I'll make them available to you.

.NET Micro Framework

Sat, May 13, 2006, 02:52 PM under MobileAndEmbedded
I hinted before that this would be one of the big announcements at MEDC 2006, and I wasn't far off.

At the high level, here is what I recall about it:

1. Evolution of the SPOT. Has tiny footprint (200-400 KB), about ~1MB of flash required and very low power consumption.

2. Ships with Watches, Microsoft TV, Vista SideShow and plans for many more internally and many partners already on board.

3. Targets platforms smaller than WinCE (and thus smaller than WinPX embedded, of course) such as Sensors, actuators, remote controls, wearable devices etc.

4. Bootable .NET runtime (i.e. this is not an application layer on top of the core platform... it *is* the platform) including managed drivers!

5. C# only, interpreted. Program via Visual Studio 2005, naturally :-)

6. ARM 7, ARM 9 only (no MMU).

7. 100-150 APIs is all an OEM/ODM needs to implement for supporting /porting/integrating the platform.

8. No Windows Forms, but if you include the UI/Shell, it is based on WPF - hope the NETCF team can take a leaf out of the NETMF book cause Avalon and XAML rock (I suspect I’ll be blogging about that more in the future)!

9. SumoBot competition at MEDC was based on this. I wrote some of our NETMF code for our bot (we lost in the first round... hmm...).

MEDC 2006 registration

Mon, May 8, 2006, 02:51 PM under MobileAndEmbedded
Today (Monday) I registered for the MEDC at the Venetian (remember to come to my session if you are here tomorrow Tuesday at 16:45) where I received my bag and badge.

Looking at the contents of the bag, gives away some of the themes of this year's conference (if they weren't obvious already).

* Windows CE 6 Beta DVDs
On the inside cover it reads: "Windows CE 6 features a redesigned kernel architecture that supports up to 32767 simultaneous processes and 2 GB virtual address space per process"

...then under Disc 2 it reads: "...with Platform Builder Plug-in for Visual Studio 2005" :-)

* The t-shirt
It is about the .NET Micro Framework pointing to

* Two pairs of Windows Mobile 5.0 DVDs
The "Windows Mobile 5.0 Developer Resource Kit" and the cool new "Windows Mobile Enterprise Resource Kit"

Also in the bag:
- 8 marketing brochures including one from OpenNETCF

- A notepad, conference guide and hard copy of "Smartphone and Pocket PC" mag

- A jelly cell mate

I don't like this year's bag so I will be going round with last year's bag, since my laptop fits in it this time!

Speaking at MEDC 2006

Tue, May 2, 2006, 04:09 PM under Events
The Mobile & Embedded Developers Conference (MEDC) takes place in Las Vegas next week, full details here. This is basically the TechEd of the mobile/embedded world.

No company remotely serious about mobility can afford to be absent so I hope your employer is sending you (or one of your colleagues ;-).

Those of you attending are invited to my session on reusing code between the Windows mobile and desktop platforms:

APP330: Sharing assets between the .NET Compact Framework and the .NET Framework

Whether you were first introduced to .NET via the Compact Framework / Windows Mobile _or_ via the full .NET Framework on the PC, it may make sense to share your code assets between the two platforms. In this session we will explore when you should be doing this and when not. We will then explore the options available (e.g. directly sharing binaries or conditional compilation) and drill into problems and workarounds. This will include framework differences, platform/OS differences, optimal usage of Visual Studio 2005 and how things have improved since NETCF v1.