Joe White’s Blog

Life, .NET, and Cats


Windows Vista Overview for Developers

Windows Vista Overview for Developers

Ernie Booth, Technical Evangelist

 

Not much code, but plenty of demos

 

Mostly base OS features, not WinFX

 

  • Experience
  • Platform
  • Opportunity
  • Clear
  • Confident
  • Connected (including Peer-to-Peer)

Demo: Experiences

  • Text box at bottom of Start menu – “word wheel”. Incremental search through the entire Start menu hierarchy.
  • Start menu no longer pops out – more of an auto-expand treeview, there in place.
  • “Glass”: semitransparent title bar.
    • Desktop Window Manager takes advantage of your graphics hardware, so it’s not all tying up the CPU.
    • Used to be that, when an app locked up, it wouldn’t paint. Not true anymore: the OS hangs onto an image of what your window looks like, so you no longer need to respond to a paint message to appear on the screen. Compositing is handled in the OS/hardware.
    • You can’t overwrite other apps’ part of the screen / video memory.
  • “Breadcrumb bar” at the top of the window (Administrator > Documents > Docs > Europe; click on one of the breadcrumbs to pop down a menu of its other children)
  • Treeviews now use Mac-style arrows instead of “+” and “-”
  • “Virtual Folders”: save a search query. Richer search than in the past. Rich property system – you can flag files with keywords. Devs can add as many properties as we want.
    • Q: How fast is the search, and does it use background indexing? A: Fast, and yes.
    • Outlook uses the same search.
    • Drop down the “Author” column header. Lists all the unique values. Check and uncheck them to filter. (If none checked, means “all”; otherwise just shows the ones you checked)
    • Can show a live preview in the Explorer window.
    • Q: When you do the search, are virtual folders being created automatically? A: No. You have to explicitly go to the “Organize” menu and Save a virtual folder. (Goes into “Virtual Folders” folder by default, but you can change that.)
  • Can zoom in on icons in Explorer. If you zoom far enough in on a folder, you can see the individual “sheets of paper” inside that folder, each with a live preview.
  • All files have a “Previous Versions” tab. Can restore previous versions, to the same location or a different location.
    • Q: How long do you keep previous versions? How much disk space does that take? Does it store diffs, or the entire file? Can you purge older versions? A: They’ll get back to us on that. Watch for a post on Ernie’s blog about it.
  • Transactional file system and registry. When you copy files, you can cancel it, and it will roll back. (Sweeeet.)
    • Q: It can be rolled back, but is it true transactions, i.e., will it survive a sudden power loss? A: Nobody here who knows that answer for sure.
  • File Save dialog now looks a lot like an Explorer window.
    • Treeview on the side and everything.
    • Also lets user enter property values when they save.
    • Application developer can specify which properties are visible in the Save As dialog.
    • Developer can also customize “Common Places” on the left-hand side.

Clear: Visualize, Search, Organize

  • Enable a simpler data management experience in your application:
  • Make your app’s files part of the experience
  • Most (all?) of the Explorer controls are hostable in your app
  • Search runs on ADO queries, so apps can use it
  • Windows Presentation Foundation (WPF)
    • Superior user experiences
    • Modern client platform
    • Windows SideBar
    • More productive, less intrusive
    • DirectX 10

Connected

  • Windows Communication Foundation (WCF), previously known as Indigo: Unified API for service-priented distributed apps
  • Windows Workflow Foundation (WF): Framework for building workflow into applications (whatever that means)
  • Peer to peer infrastructure for collaborative applications
    • PNRP: Peer Name Resolution Protocol – basically DNS for P2P. Can publish a “friendly name”, which is insecure and could be duplicated, or a “secure name” with a public/private key, which you can put in your vCard or whatever. No server required.
    • Q: Will P2P support Remote Desktop? A: Don’t know. Haven’t heard anything about that.
  • RSS
    • Can subscribe to feeds through your browser

Connected: Build for Mobility

  • Be a good mobile PC citizen
    • Handle transient network connectivity gracefully with the Network Awareness libraries
    • Support instant suspend and resume
    • Improve battery life with power management libraries and notifications
  • Target your app for corridor warriors
    • Enable a great TabletPC experience with the Pen and Ink API for shape recognition and gestures
    • Add robust synchronization and conflict resolution through Device Synch and Conflict Resolution
    • Build SideShow extensions to access important information without opening the laptop
      • (SideShow is a separate device you attach to the outside of the laptop)

Windows Workflow Foundation (WF)

  • Bridging human & system workflow
  • Human workflow: Participants (people, roles), flow style (flexible, dynamic), data (unstructured, documents)
  • System workflow: Participants (apps, services), flow style (prescriptive, protocols), data (structured, transactional)
  • Example: firing someone. There’s a lot of stuff you need to do, like having Legal review it, setting up the exit interview, disabling their access to the network…
  • Available now – separate download
  • Okay, but I still have no idea what this WF thing is!

Rubik’s Cube demo

  • GUI client that shows a Rubik’s cube and can scramble it
  • Service that knows how to solves it, and sends messages back saying how to solve it
  • Simulate packet droppage. It doesn’t end up solved.
  • Turn on reliability and ordering.
  • Q: Aren’t the ideas of “reliable” and “in order” redundant when you use TCP? A: Apparently they open a separate TCP connection for each separate SOAP request, so TCP reliability doesn’t even come into the picture. (Seems kinda silly.)

Confident (= security)

  • LUA aka UPA (Least User-privileged Accounts, or another acronym)
  • When Vista launches an application, it’s launched under medium privilege. (IE runs under lowest privilege by default.)
  • Can explicitly run an app under elevated privilege.
  • Built-in administrator does not use UPA at all. It’s assumed that the administrator knows what they’re doing. When you install, you’re forced to create another user, and the default Administrator is hidden. Even if you add another user to the Administrators group, UPA is turned on.
  • View the system clock. (Which you can do now, even if you’re a non-admin!) You have to click “Unlock” to switch into edit mode. A highly magic window pops up saying “<app> needs your permission to complete this action. (Yes/No)”. You can’t send messages to this window, so it should be hard to spoof.
  • If you try to do something that you don’t have login permissions for, you’re prompted for login credentials.
  • Can mark an app to run as Administrator only.
  • Q: What if you want to install for All Users? A: The OS does a lot of sniffing to detect that you’re starting a Setup app, and requests privilege elevation right there.
  • Q: Does the confirmation prompt happen automatically, or does a program have to explicitly call some new APIs? A: Not answered.

Running as non-admin

  • Some apps don’t work as non-admin because you can’t write to Programs, can’t write to HKEY_LOCAL_MACHINE, etc.
  • Vista adds “virtualization”. Can lie to the user, and lie to the application, to make it work. If the app writes to Program Files, it gets redirected somewhere else. Same with the Registry.

There are no responses to “Windows Vista Overview for Developers” yet.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Joe White's Blog copyright © 2004-2008. Portions of the site layout use Yahoo! YUI Reset, Fonts, and Grids.
Proudly powered by WordPress. Entries (RSS) and Comments (RSS).