Very cool talk with Joe Belfiore this morning. I came a little late, but caught the cool work ms is doing with ease of integration with Office Addins. VSTO makes this especially easy. He demo’d a cool add in that eBay created for monitoring auctions. Although not an avid eBayer this is something I’ve wanted for a while. The extensibility of the Outlook service layer has improved so building these apps is going to be much easier with 2007. I’ve built a few Outlook addins and this is a much welcomed development.
Joe demo’d some Vista gadgets - the Xbox gamer tag and Rss feed gadgets are cool, but what I found most interesting is that ms is going to be providing a gadget discovery application that allows gadget developers to list and people to find and install for free. Find out more out the sidebar and gadgets here.
The Vista Windows Media player UI now includes album art in search results - something I’ve also wanted for a long time.
The Vista Media center was demo’d. The extensibility of it looks amazing - really geared towards 3rd party developer customization, even at the start menu level. MC is built on top o WPF so you get all the amazing benefits of the foundation with your apps. MC also ships with an SDK with sample code for building the components.
Atlas Lessons from the Trenches – Scott Isaacs
- Use JSON when marshaling data from client to server. SOAP works, but is more difficult to deserialize and much more verbose.
- Don’t assume client calls always succeed. Have callbacks and a plan for failures.
- Watch the browser history stack, clients navigate with Atlas and the address bar is not updated, users add to favorites and are right back where they started from. Local live uses permalink, but we need a better way – Live.com tags a hash onto the url and then discovers the page state from that.
- Cache whenever possible.
- Handle the OnBeforeUnload event to check for requests that have not been completed and prompt the user to verify that they really want to leave the page before the operation completes.
- Make use of subdomains for resources such as images, includes files, etc so that the browser connections are free to make AJAX calls.
My personal favorite…
- It’s your customer, not the technology you apply that matters.