When you’re writing a rich Internet application (RIA) in HTML and JavaScript, sometimes you need to programatically place a DOM element relative to the right or bottom edge of the visible browser window. For example, if you want to popup a help balloon near an item of interest, you probably want to make sure that […]
If software programming logic and statements were viewed as literature, what form of literature would yours be? Novel: multiple independent story lines that you hope will eventually converge to make a point. Short story: a limited number of characters with only one point to make Essay: tell ’em what you’re going to say, say it, […]
Have you ever run into a situation where you need to bridge between code that uses the old custom EventHandler pattern for events and code that wants to use the new parameterized EventHandler<> code style? EventHandler style delegates are not assignment compatible with EventHandler<> delegates. You’ll run into this if you’re writing a new API […]
The Live Services team will be hosting a live webcast to discuss and demo Live Frameworks development topics next Monday December 8, 2008 from 8am to 10am PST (12am – 2am GMT). This will be a great opportunity to listen in on technical topics on developing applications with Live Frameworks, both standalone desktop apps as well […]
Stoyan Stefanov writes about Non-Blocking JavaScript Downloads on the Yahoo User Interface Blog. Good content all around, but I’d like to add a note on an item he somewhat casually skimmed over. In the “Dependencies” section of the article, Stefanov describes using the onLoad or onReadyStateChange events of the dynamically generated script tag to receive […]
I found a happy little email in my inbox this morning. It was a note from Handango informing me that my application to become a Handango Developer partner has been approved. Woohoo! Ya, you know, that application I submitted more than THREE YEARS AGO when I was at Borland experimenting with writing .NET CF apps for my […]
Although Google’s recently announced OpenSocial APIs are described as presenting a unified API for developers to tap into a variety of disparate social networks, the truth is the only unification is that the different vendors use a similar set of function verbs and response schemas. OpenSocial is a pattern that a social network vendor can […]
Here are a few observations from my first 10 minutes of surfing around in the Google OpenSocial API docs. Google OpenSocial has two sets of APIs: JavaScript for web pages, and ATOM / REST style APIs for server apps or “installed client” (non-browser, presumably native code) apps. The ATOM/REST APIs are collectively called the OpenSocial […]
TechCrunch reports that Google is set to announce and reveal a new web API called OpenSocial today, Nov 1. This API is supposed to enable developers to build applications that can leverage an end user’s social network, but without requiring the developer to choose which of the many silo’d social networks to support. The OpenSocial […]
Dan Farber writes that LinkedIn‘s Chairman, Reid Hoffman, has commented that he plans to roll out developer APIs to access the LinkedIn contacts database. Great news! The downside: It won’t be ready until 2008. Bummer. How much further will the other social networks have outpaced LinkedIn by then? Originally published on my MSDN blog.
The June issue (Journal 12) of The Architecture Journal focuses on web architecture. I was delighted to be invited to contribute, and wrote “Secure Cross-Domain Communication in the Browser” for this issue. In the article I describe a somewhat bizarre technique we use in the Windows Live Contacts web control and Windows Live Spaces web control to move data from […]
Our little web controls are growing up so fast! We’ve migrated the Windows Live Contacts web control and Windows Live Spaces web control to new servers in the Microsoft datacenters and a new domain name: controls.services.live.com. The web controls will continue to work on the old domain name (dev.live.com) during the beta period for existing apps, but […]

Last week Kevin Ledley, keeper of the dev.live.com content, asked me for a bit of help to get a Silverlight video player working. He wanted to “borrow” the cool scrolling video list and video player from our sister site, msdn2.microsoft.com and set it up on our dev.live.com homepage to show Windows Live related videos from […]
Torontonian “wavesmash” has been tinkering with getting a Silverlight app up and running on his Blogger blog. Silverlight Streaming got him most of the way there, but he found the recommended pattern of placing the Silverlight control construction in a separate createSilverlight.js file became a show stopper because Blogger won’t let you serve .js files from […]
A few posts ago I promised to elaborate on a little gotcha that bit us in the butt while prepping the “blocks” to enable Popfly apps to use the Windows Live Contacts web control and Windows Live Spaces web control . Here it is: IE has a handy document.namespaces object that reflects the namespaces defined […]
Delay started out poking around in the XPS document format. Before he could stop himself, he had an XPS document reader implemented in Silverlight! This post was originally published on my MSDN blog while I was at Microsoft.
Scott Isaacs shares some additional “best practices” points on dealing with popup windows and popup blockers: Always program window.open() very defensively… Always try catch any calls to window.open() and if you are retaining a reference to the window (e.g., var w = window.open(…)), always make sure the “w” is a valid object (and again try […]
The Visual Studio team has just launched the Beginner Developer Learning Center, an instructional resource to help budding developers get started in programming. The curriculum is divided into two tracks – web development and Windows development, and three tiers of experience. Cool. Now maybe I can figure out what this web development thing is really […]