UAC: Get your links here!

Mon, November 27, 2006, 06:05 AM under Windows | Vista | UAC
Unsurprisingly, after my UAC talk this morning (that I mentioned here), there was a lot of interest and I promised to publish helpful UAC links (in addition to previous mentions on this blog here, here and here). True to my promise, find them below!

1. Understanding the feature before jumping to questions is important. Don't take anything I say as gospel (always a dangerous tactic!) and instead read the official word:

- Short what is it by security MVP on technet.

- UAC for developers (written during Beta 1 but still valid)... and an updated one here.

- UAC for IT Professionals (surprisingly even though I am a developer, I found it quite interesting).

- UAC 91 page document for developers is available for download (a must read).

- The COM Elevation Moniker (all you want to know and more)

2. Now that you understand the feature, start testing your applications as standard user on Windows XP. If it works there, from a UAC point of view, it will work on Vista.

- Standard User Analyzer tool... requires the Application Verifier.

- Get the Application Compatibility Toolkit (ACT) 5.0

3. A lot of the compatibility issues are relevant to installations.

- UAC in MSI blog.

- MSI Patching Technology (tip: explore the other links from the tree on the left).

4. Related topics that I received questions on and promised I'd provide links to
- IE7 Protected Mode on Vista.
- Service changes in Vista.

5. Still got questions? Get them answered using the resources below:
- Even though it is now closed, there is good content on the UAC blog.

- Still active and open to questions is the Vista Security blog.

- When all else fails, first check the msdn forums where you can post any question you like:
* MSDN forum, security for applications.
* MSDN forum, app compat on Vista.

6. For your non-technical, non-developer friend:
For a non-technical plain English version of the UAC story (as plain English as the topic can get) this isn't bad and it also is not an official Microsoft explanation but it makes good reading!

I provided other generic Vista links a while back, and Karl just dropped me a line telling me about their community site that looks interesting: AeroXperience.

Vista: SideShow

Mon, November 20, 2006, 09:14 AM under Windows | Vista | SideShow
I've very briefly mentioned SideShow recently here. My first intro was at MEDC and you can watch that session (APP322) for free (note that Viji is no longer with the team).

"Side what?"
SideShow is a new Windows Vista platform. It enables a variety of auxiliary display devices to be connected to Vista so they can display information from applications running on Vista. In some cases from the display you may control applications running on Windows.

For the information to be exchanged between the display and Windows, developers must write a SideShow gadget (note that this actually runs on the OS, not the display!). The gadget can gather the data from anywhere it wishes and then using the SideShow APIs can send it to the display (more on this later).

"What display(s)?"
So what display are we talking about here? The example that has become synonymous with SideShow (to the extent where most people miss the point and think it is the only SideShow implementation!) is the in-lid attached laptop display. This implements SideShow fully, is connected to Windows via USB (even though it is embedded in the display) and the driver for it ships with Vista. For those that are curious, it is actually running the .NET MicroFramework.

Other display examples would be a phone, a remote control with built-in screen, a keyboard with built-in screen, wearable display devices, music players, digital picture frames, insert your own hardware/display here etc. Photos of examples of these you can see in various articles by searching the web. Remember, these can be connected to Vista with any protocol they want (e.g. bluetooth, IR, proprietary etc).

"Why?"
So, previously, to connect a display to Windows you would have to choose a transport, implement the display-side of things, implement some custom protocol for exchanging data between OS and display, and then finally, implement a custom Windows-side application/driver for gathering and sending the data. SideShow, standardises all of this. In particular, as developers, you just need to learn the SideShow API and call it from your gadget and then whatever other hardware becomes available that supports the SideShow infrastructure will automatically work with your gadget!

It’s a bit like those dual display phones. You don't have to flip the phone open to see what you want; you can just glance at the smaller outer display and get the information you quickly need. Your imagination is the only limit to writing great on-line gadgets. SideShow devices can also work when your computer is off (using cached data)! You can even schedule Windows to wake up periodically so the cached data gets refreshed if that is applicable in your scenario. You could control a powerpoint presentation from your mobile phone (and that can be any phone not just Windows Mobile, as long as there is a SideShow driver for it). You could have small displays on the PC towers in a server room, glance at data on the box there rather than having to remote connect. For other ideas, again just search.

Personally, I can see a lot of killer ideas manifesting themselves on the SideShow platform once more devices become widely available. Be one of the first to get there by extending what your application can do, with a companion SideShow gadget.

"Not quite sure I get it, tell me more"
- A short blurb for SideShow from a consumer perspective can be seen here.
- If you have the time, watch this channel9 video (featuring Dan Polivy) that explains all of the above much better.
- Subscribe to the SideShow blog for more info as it becomes available.

"OK, I am hooked. How do I write gadgets?"
First, you can browse the gadgets and SideShow devices you already have on your Vista machine. Simply go to the "Control Panel", select "Hardware and Sound" and then "Windows SideShow": it should look something like this. Then install the simulator which will make your panel looks something like this.

You can very easily write gadgets (essentially just an exe on your Vista machine). Remember, they are separated from the communication protocol and from the actual target display so you only have to do two things:
1. "Design" your screens (they will be represented in XML)
2. From your gadget, call the API that sends the XML to the device

All you need to know is in the SideShow SDK. Soon I'll show you how to build a simple gadget in C#. Stay tuned :-)

UK events: Vista Security

Mon, November 20, 2006, 12:08 AM under Events
Next Monday 27th, come hear me and my colleague Martin (security guru) talk about some of the new Vista security features (inc. UAC in depth and CardSpace). This free msdn event is in London and you must register here.

If you cannot make it this time, we are repeating the content in Reading (TVP) on 11th December. For that one, register here.

And if by any chance you are a student at Hertfordshire, make sure you come on the 28th to my "Introduction to Developing Windows Mobile Applications". Register here.

Brighton Geek Dinner

Sun, November 19, 2006, 04:19 AM under Events
Just realised (via Simon) that the next Sussex Geek Dinner is this Tuesday at 20:00 in Brighton (a stone’s throw from Hove, where I live!). Sign up here.

I’ll definitely be there doing what I do best (the clue is in the picture on my homepage) ;-)

Changes in Vista RTM

Thu, November 16, 2006, 02:55 PM under Windows | Vista
I’ve only been running the latest RTM version of Windows Version 6.0 (Build 6000) for 4 days and I’ve been trying hard to find new stuff that wasn’t there in RC1 so I could blog about it... Unfortunately, I am not having much luck... all my demos work fine and I can find no new features (unless you count increased speed and stability as features). Of course, I was expecting that, but I was hopeful there would be something new...

So when you install Vista (it is available right now on the msdn subscriptions page) expect almost no new features. I say "almost" because there are a few new desktop backgrounds to choose from, a whole bunch of new icons used for various built-in apps (e.g. mail, sidebar) and a complete new set of sounds (I like them, very subtle... very zen-like) :-)

Also, FYI, I went for an upgrade from RC1 and it worked fine (same is not true for RC2, which is why I did not install that on my main machine ;-)). The only thing the upgrade lost was my Quick Launch icons/apps and some other setting (which embarrassingly I don’t remember now!).

BTW, I also removed Office 2007 B2TR and installed the RTM (you cannot just upgrade that). Absolutely no issues there except I also had to remove some other apps that made the installer think office b2tr was still installed.

.NET Micro Framework Product Sheet

Wed, November 15, 2006, 01:21 PM under MobileAndEmbedded
Ignore if you are not into embedded stuff. If you are, you heard it here first :-).

In the past I've talked about NETMF, and now you can download the product sheet here.

Vista-only features for the managed developer

Mon, November 13, 2006, 08:10 AM under Windows | Vista
UPDATED on 23 June 2007 with some Plus links and new items 13-15.

Following my Vista session at Tech Ed, I was asked to create a blog entry that indexes all my other blog entries that provide supporting material for the topics I covered. I thought I'd also include topics from my UK version of the talk, which is longer. Enjoy!

1. Glass
Follow this link, to find at the end of the first paragraph a bunch of links to my other blog entries.

2. Task Dialog, CommandLink, CommonFileDialog, cue banner plus Vista TreeView and ProgressBar
Follow this link, for my screencast and 5 links to my blog entries plus this and that.

3. Power aware
Follow this link, for my demo code and a few supporting links.

4. Windows Error Reporting & winqual
Follow this link, for my screencast and for 5 links back to my blog entries.

5. Restart & Recovery APIs
Follow this link, for my screencast and for 3 links back to my blog entries.

6. Restart Manager
Follow this link, for my screencast and a link back to my blog entry.

7. Sidebar Gadgets
Follow this link, for my screencast and 3 links back to my blog entries.

8. User Account Control
Follow this link, for a link to another blog and 2 links to my other blog entries (one of which contains a link to a screencast), plus my UAC category.

9. RSS API
Follow this link, for some tips on using the RSS platform including 2 links to my other blog entries. NOTE: RSS API is also available on Windows XP if you have installed IE7.

10. Search
Follow this link, for my demo code and links to other relevant useful info.

11. Non-dev
In addition to the Visual Studio demos above, I also demo the new shell enhancements by going through some of the new aesthetic and usability improvements. Finally, I touch upon the new aero guidelines and also the SKUs.

12. Slides
You can download my powerpoints from the UK msdn page [part 1 & part 2], as presented in October 2006. Plus my slides from the UK Vista launch.

If the links above are not enough, here is a collection of Vista developer links I captured back in May (so I can't promise anything about their relevance now that Vista RTMd).

13. SideShow
Watch the video and follow the links form here, and read bottom-up my SideShow category.

14. Preview Handlers
Watch the video and follow links form here, and also see this.

15. Etc
A couple smaller things that are Vista-only accessible from managed code are WinSAT and Control Panel Items.

NDA info: Tech Ed leader board

Thu, November 9, 2006, 04:06 PM under Random
Finally, gave my last talk this morning so I can't wait for the speaker party tonight. I may update this post with some Tech Ed links when I catch up with blogs...

We have a speaker-leader board in the speakers lounge, and some people are taking it very seriously. It shows the top 10 speakers at any given time (it updates after every round of sessions), based on attendee feedback.

On Tuesday I was impressed when Mike Hall bragged that he was in the top 10 list but then realised that there were only 9 sessions delivered at that point (since his session was in the first timeslot on the first day)... I tried to find where exactly his session ranked today and I ended up breaking my PgDn key ;-)

I am here in Barcelona until Sunday so normal business will resume next week.

Tech Ed: Virtual Side

Mon, November 6, 2006, 10:02 AM under Random
As you may have guessed from my previous 4 posts, I am in Barcelona at Tech Ed Europe this week. If you are not here, stay tuned on The Virtual Side... and while you are there, check out my short video interview talking about nothing specific and everything at the same time :-)

Tech Ed session 4

Fri, November 3, 2006, 01:00 AM under Events
In exactly one week, I invite you to attend one of my 4 sessions at Tech Ed Europe in Barcelona.

When/where:
Fri, Nov 10, 09:00 - 10:15, Room 117

Title:
DEV338 Windows Vista for Managed Developers: Beyond .NET 3.0

Abstract:
Windows Vista brings with it a fantastic platform for managed development, namely .NET Framework v3.0 (formerly WinFX). However, there are many new native APIs (obviously not part of .NET 3.0) in Windows Vista. In this talk you will discover how you (a C# or Visual Basic developer using Visual Studio 2005) can take advantage of this new functionality. This demo-driven session, will teach you how to make your application feel like a real extension to the Windows Vista platform (and not like a ported application that just runs on it).

Features covered include extending glass into your own applications, the new TaskDialog, Windows Error Reporting enhancements, Restart API, Recovery APIs, building power-aware apps and the very popular Sidebar gadgets!

(See session DEV325 for additional coverage of Windows Vista native APIs, also from a managed code perspective.)