Instant email: how we made Hotmail 10x faster
    50

    We announced last week a new version of SkyDrive, in which SkyDrive was redesigned from the ground up to have great performance on modern browsers. Like the SkyDrive team, we’ve also been hard at work on ways to speed up Hotmail.

    We measured how fast our Hotmail pages loaded all over the world and how we compared to our competitors in a standardized environment, and then we dug deep into the numbers. In some ways, we were pretty good, but a number of very common actions were just too slow.

    Making Hotmail fast

    We trimmed content on our pages to speed up download time, and we eliminated a network round trip on login for further gains. But our goal was to make Hotmail feel instant, and we knew that speeding up downloads would only get us so far towards that goal. Even with today’s broadband speeds, the network is the bottleneck, and we needed to keep our customers from experiencing that latency.

    The approach we decided to take was to get user data closer to the browser, and when the data is not available on the browser, get it there more efficiently, without the user noticing. We also decided to take advantage of modern browsers like Internet Explorer 9 to be more app-like, by doing more work in the browser and less on the server.

    We identified three specific techniques to follow: caching, preloading, and asynchronous operations.

    Caching

    The old Hotmail requested fresh data from the server every time it was needed. For instance, when you signed in to the inbox, Hotmail would ask the server for the latest message list. When you opened and then closed a message, we would make you wait while we asked the server for the message list again. Similarly, if you opened that same message again, we would make you wait while we retrieved the message.

    The new Hotmail is more app-like, because we now cache information after it’s downloaded. The message list is stored in the browser’s DOM (Document Object Model), so when we need it, we don’t have to download it. We also cache the email that you’ve read, so we can re-open the message nearly instantly.

    When caching data, the trick is in knowing when to update it. In the new Hotmail, our server detects when your account changes – for instance, when a new message is delivered – and it sends a notification to the browser. The browser then retrieves the updated data, so your inbox is never out of sync.

    Finally, when you close your browser or sign out of Hotmail, the cache is cleared so that data is never left behind to compromise your privacy.

    Pre-loading

    Our analysis of usage patterns of Hotmail showed that when customers sign in to their inbox, the first thing they’re likely to do is read the subject lines of new mail to decide which messages to open. In the new Hotmail, we use that time to download and cache the first few messages so they’re ready when you need them. That way, when you choose a message to open, you don’t have to wait for the download.

    Our analysis also showed that when customers open an email message, they’re very likely also to view the one that follows it. So, in the new Hotmail, while you’re reading one message, we automatically download and cache the next one in the list.

    We’re continuing to fine-tune our design to make this as efficient as possible, so not all users have this feature turned on by default yet.  If you don’t see this feature and you’d like to turn it on for your account, you can do so from an options page.

    In addition to pre-loading messages, we also  preload code and data in the browser. For instance, we know that most Hotmail sessions involve sending email. So while you’re reading and deleting email, we download and cache the JavaScript and HTML code and address book data that you need for composing a new email message. When you click New or Reply, we just swap in the cached Compose code and data, and it’s ready instantly.

    An interesting design problem we faced was to figure out how to download content without interfering with bandwidth or browser threading utilization. If done poorly, the app can feel non-responsive. We’ve separated and ordered the downloads to make the browser responsive, and to make the most important user tasks fast and available as early as possible. This is an area that we will continue to work on for even more gains in the future.

    Considering the large number of Hotmail users, other challenges we faced were keeping our servers from being overloaded, and keeping the service cost efficient. We’ve had to invest in squeezing out more throughput from our storage system—we’ll describe how we did this in a future post.

    Asynchronous operations

    The old Hotmail used to wait for server responses before updating the UI. For example, when you deleted an email message, Hotmail would call the server and tell it to delete the message, and then wait for a response from the server before updating the message list. This made Hotmail feel slow, because you felt you had to wait for the operation to complete before you could continue working.

    The new Hotmail no longer waits for server responses for most operations before updating the UI. In the new Hotmail, when you delete a message, Hotmail updates the message list instantly, and you can resume working right away. In the background, client code queues up actions and calls the server to delete the email. So email still gets deleted, but without the wait.

    This approach also makes the client code more resilient to spikes in server activity and improves performance for users who have low bandwidth/high latency connections.

    Finally, we also looked at the great improvements made by the IE9 team and invested in ways to make Hotmail run even faster on IE, such as using IE9 Standards Mode.

    Results

    We wrapped up these changes a few weeks ago, and just finished releasing the code to all our users (with the exception of the pre-loading feature, which, as mentioned above, is not yet turned on by default in some markets). So, what did we accomplish? The data speaks for itself:

     

    Hotmail
    Dec ‘10

    Hotmail
    June ‘11

    Open message

    3.3 seconds

    0.18 seconds

    Delete message

    3.1 seconds

    0.14 seconds

    Compose new message

    4.3 seconds

    0.20 seconds

    Data represents 75th percentile measurements from hundreds of runs of an automated test against a production server. Bandwidth is 300kb down/75 kb up/150ms latency, and browser is IE9. Your results may vary.

    Here’s a video that shows it more clearly:

    But, we’re not done. We believe performance is a feature, and we’re committed to making Hotmail as fast as possible. We will continue to find more ways to make Hotmail load faster, and we’re also working on ways to improve the efficiency of even more of the most common actions.

    Enjoy the improvements, and watch this space for more to come.

    Dick Craddock
    Group Program Manager, Hotmail

    Developers: just a few lines of JavaScript connects your site to Hotmail, Messenger, and SkyDrive
    1

    Today, developers almost always integrate multiple web platforms into their sites – Facebook, Twitter, Google, Hotmail, and more. With this in mind, we’ve tried to make it as easy as possible for developers to use our platform alongside others to connect their websites to Messenger, SkyDrive, and Hotmail. We’re achieving this goal by focusing on the following principles:

    1. All it takes is a few lines of JavaScript to unlock powerful integration. Utilize as few lines of script as is feasible to enable single sign-on and (with the user’s consent) to allow the app access to specific data from their Hotmail, Messenger, or SkyDrive account, all without requiring a single line of server-side code for the common scenarios.
    2. The Messenger Connect JavaScript API feels familiar to developers who use other popular web platforms. Ensure the API is familiar to web developers who are already using popular web platforms that perform similar tasks.
    3. Combining our APIs with other integrated services on a page shouldn’t cause clutter. Ensure it is straightforward and cost effective to use Messenger Connect in tandem with other web platform offerings without a negative impact on developers or end users.

    These principles have informed the design of our new JavaScript library that developers can include in their websites to add single sign-on and integration with services like Hotmail, Messenger, and SkyDrive.

    Let’s see some of these principles in action.

    All it takes is a few lines of JavaScript to unlock powerful integration

    The following self-contained code sample can be hosted on any website, and will render a Connect button as shown below, which a user can click to connect to the website and be greeted by their first name.

    Connect button

    In the following code sample, the client_id and redirect_uri should be replaced with the developer client ID you can obtain from our application settings site, and the URL of the HTML page, respectively.

    <html><head>
    <title>Greeting the User Test page</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
    <script src="//js.live.net/v5.0/wl.js" type="text/javascript"></script>
    <script type="text/javascript">
    var APPLICATION_CLIENT_ID = "YOUR CLIENT ID",
    REDIRECT_URL = "YOUR REDIRECT URL";
    WL.Event.subscribe("auth.login", onLogin);
    WL.init({
    client_id: APPLICATION_CLIENT_ID,
    redirect_uri: REDIRECT_URL,
    response_type: "token"
    });

    WL.ui({
    name: "signin",
    element: "signInButton",
    brand: "hotmail",
    type: "connect"
    });

    function greetUser(session) {
    var strGreeting = "";
    WL.api(
    {
    path: "me",
    method: "GET"
    },
    function (response) {
    if (!response.error) {
    strGreeting = "Hi, " + response.first_name + "!"
    document.getElementById("greeting").innerHTML = strGreeting;
    }
    });
    }

    function onLogin() {
    var session = WL.getSession();
    if (session) {
    greetUser(session);
    }
    }
    </script>
    </head>
    <body>
    <p>Connect to display a welcome greeting.</p>
    <div id="greeting"></div>
    <div id="signInButton"></div>
    </body>
    </html>

    There are a number of key concepts in the above example that I’ll briefly go over. The first step to using the JavaScript SDK is to include the wl.js script file on your webpage.

    <script src="//js.live.net/v5.0/wl.js" type="text/javascript"></script>
    If your target audience doesn’t speak English, it is fairly straightforward to load versions of the JavaScript library that contain localized strings for dozens of languages.

    After including the Messenger Connect JavaScript API, there are a few setup steps to link up components of the page with the JavaScript API, as shown below:

    WL.Event.subscribe("auth.login", onLogin);
    WL.init({
    client_id: APPLICATION_CLIENT_ID,
    redirect_uri: REDIRECT_URL,
    response_type: "token"
    });

    The WL.Event.subscribe call above indicates that the onLogin() function should be invoked after the user has been successfully signed in. The WL.init call above is used to specify the application’s client ID, and the URL that the user should be redirected to after signing in which, for this example, is the current page:

    WL.ui({
    name: "signin",
    element: "signInButton",
    brand: "hotmail",
    type: "connect"
    });

    The call to WL.ui is used to draw the Hotmail connect button. The code above attaches it to the DIV named “signInButton”. Once the user has signed in and granted consent to allow the page to access their data, the onLogin() function is invoked:

    function onLogin() {
    var session = WL.getSession();
    if (session) {
    greetUser(session);
    }
    }

    This function checks to see if a valid login session has been created and if so, invokes the greetUser() function shown below:

    function greetUser(session) {
    var strGreeting = "";
    WL.api(
    {
    path: "me",
    method: "GET"
    },
    function (response) {
    if (!response.error) {
    strGreeting = "Hi, " + response.first_name + "!"
    document.getElementById("greeting").innerHTML = strGreeting;
    }
    });
    }

    This method employs the work horse of the JavaScript SDK: WL.api. This function is used for making REST API requests. In this specific example, the request is made to fetch the user object for the current user using the “me” query. Once the user object is obtained, the webpage displays the user’s first name.

    The Messenger Connect JavaScript API feels familiar to developers who use other popular web platforms

    We want to ensure that we don’t add to the learning curve for developers, so we made sure that our JavaScript API would work in familiar ways for developers who integrate with multiple popular web platforms via JavaScript. For example, you may want to include social sharing for Facebook and Twitter alongside the ability to access SkyDrive photo albums and the ability to add events to your Hotmail calendar.

    Common tasks in our JavaScript API such as signing in the user, accessing data from their contact list, viewing their photos, and showing the permission dialog all look and work very similarly to comparable scenarios in other common platforms like Facebook, Twitter, etc. This makes it very easy for any developer who is familiar with programming against these APIs to pick up and start integrating SkyDrive, Hotmail, and Messenger into their websites.

    Combining Hotmail, Messenger, and SkyDrive with other integrated services on a page shouldn’t cause clutter

    Websites typically don’t just offer integration with one service provider. It is common for a website to want to enable sharing to multiple sites like Facebook and Twitter, or allow users to upload their photos from Flickr, Facebook, and SkyDrive.

    One of the challenges with supporting services that identity multiple providers on a website is what many have dubbed “the NASCAR effect,” which is when a site has so many logos from so many different providers that it looks a little like a race car with too many corporate sponsors. This practice often ends up confusing users due to the paradox of choice.

    To help with this, we make it easy for your app or site to check if a customer uses one of our services before even offering the option to connect. Again, with just a few lines of JavaScript, you can tailor your connection and offer the right features to the right users – just use the WL.getLoginStatus function as follows:

    WL.getLoginStatus(function (response) {
    if (response.status && response.status!= ‘Unknown’) {
    WL.ui({
    name: "signin",
    brand: "hotmail",
    type: "connect",
    element: "signInButton"
    });
    }else{
    /* draw sign-in button for other identity providers */
    }
    });

    The code above checks to see if the customer uses one of our services, and if the status comes back as “Unknown,” it can then call some fallback code that draws the sign-in control of another identity provider such as Facebook, Twitter, or Google.

    These are just a few examples of the ways we’ve improved our JavaScript API to simplify the developer experience. Keep the feedback coming, and we look forward to seeing more of your apps and sites connected to Hotmail, Messenger, and SkyDrive.

    Dare Obasanjo
    Lead Program Manager, Messenger Connect Platform


    New, app-like Outlook features added to Hotmail
    54

    As we think about features to add to Hotmail, one of the things we look at is how customers are using other mail apps like Outlook, and if some of the things they love about those apps would also be valuable in Hotmail. Today, we’re excited to tell you about some of the latest Outlook features that we’ve added to Hotmail – giving it even more of the power of your apps.

    Mouse & keyboard shortcuts

    After an update to Hotmail this past week, now when you right-click a message in your inbox, you’ll see a new menu that allows you to Reply, Reply all, or Forward the message. This expands on other right-click actions that Hotmail already supported like Mark as unread, Delete, Junk, Move, and View message source. So now, just like in Outlook, it’s even quicker to take care some of your most common tasks using that second button on your mouse.

    Hotmail also supports many of the keyboard shortcuts that you’re used to in Outlook, such as Ctrl+N for a new message, and Ctrl+Enter to send a message. And if you’re one of the millions of people who’ve recently switched from Yahoo! Mail or Gmail to Hotmail, we’ve also made popular shortcuts from those email services work in Hotmail. So # (from Gmail) can be used to delete a message and N (from Yahoo! Mail) will create a new message. You can see a full list of Hotmail keyboard shortcuts here. To switch your inbox from using standard Hotmail shortcuts to Gmail or Yahoo! shortcuts, go to the keyboard shortcuts options page from your inbox.

    Personalization

    For a long time, Hotmail has had the ability to customize an individual email message by doing things like changing your font and signature. But now, you can go into your Hotmail options and set a default font and personal signature for all your email messages, much like you would in Outlook.

    And lots more …

    We’ve also recently fixed some common complaints including improving how the Back button works, and how attachments get saved with your email drafts.

    If you happen to accidentally delete a message, it is now possible to recover some lost messages through a new link in the Deleted folder.

    And as some of you may have noticed, we’ve started rolling out speed improvements that combine smart programming with the best of HTML5 to make your inbox super fast. We’ll tell you more about this in the coming days.

    So check out the changes, and let us know what you think. We hope you enjoy the new features – and there’s a lot more on the way.

    Dick Craddock
    Group Program Manager, Hotmail

    Introducing SkyDrive for the modern web, built using HTML5
    132

    We’re committed to making SkyDrive the best place to get access to your content from anywhere, collaborate on Office docs, and share photos. Mike recently talked about how we’re delivering access to your information seamlessly across devices – starting with Windows Phone.

    But a key part to delivering on our goals is having a great web experience that works across platforms. While over 100 million people have tried SkyDrive on the web, we know that there’s a lot more we can do to improve the experience. So starting today, we are launching a new version of the SkyDrive website. We took advantage of modern browsers and HTML5 to make SkyDrive faster, easier to navigate, and more beautiful for viewing photos. The new SkyDrive will be rolling out soon, so check back if you don’t see it right away.

    Here is a short video I’ve put together to give you an overview of the new SkyDrive.

    An overview of the new SkyDrive.

    Faster

    Browser modernization has really opened up the window for us to rethink and re-architect how we build our websites. Whether it’s Hotmail or SkyDrive, taking advantage of the advancements in the browser space is critical to ensuring a fast and fluid experience. While we have always focused on improving the performance of our websites, it was clear that we had reached a point where the kinds of performance gains we were hoping for would not come without an assessment of our entire experience from the ground up. SkyDrive has been around since 2007 and was simply not built for the modern web.

    We focused our performance investments in the following areas:

    • We improved many core tasks and scenarios. For example, clicking folders and navigating photo albums will go from 6-9 seconds down to 100-300 milliseconds, and we took advantage of hardware accelerated graphics to make it fast to click through photo slideshows. We’ll address additional core tasks in the future.
    • We focused on building a site powered by HTML5 so that we could include advancements like HTML5 Video, CSS3, and client rendered experiences, as well as making sure our slide show experience was great in all browsers without any special software.
    • We evaluated and removed anything that slowed the experience down or got in the way of a fast, clean site.
    • With Internet Explorer 9 on Windows 7, you can pin SkyDrive to your taskbar for faster access to your files. You can create Word, Excel, or PowerPoint docs stored in the cloud in just one click.

    Easier to navigate

    SkyDrive has always provided access to your files on many desktop and mobile browsers. However, we’ve received a lot of feedback that it was hard to navigate with several entry points to your files (skydrive.live.com, office.live.com and photos.live.com) and with views that did not make it clear as to what was your stuff and what was shared with you. We’ve taken a fresh approach to solving this problem by providing a single place to see your photos, docs, files shared with you, and files in SkyDrive groups.

    One principle in designing the new site is that SkyDrive should be focused on putting your content front and center. The old SkyDrive had a summary of your recent stuff, things shared with you, and activity in your social feed. We heard from many of you that this was confusing and it required too many clicks to get to a document or album. We also looked at the current advertising placement on SkyDrive and decided that this didn’t make sense in this experience. We removed ads to create room for a pane of info about your files, so you can do things like open a doc in Word or Excel on the desktop, directly from SkyDrive.

    The new SkyDrive cuts the clutter and presents a clean, simple view of all your documents and photos

    For many of you, this view will seem familiar because we decided to make the navigational elements and layout consistent with Windows. This has a couple of benefits: 1) Our 1 billion Windows customers will find the site to be familiar and easy to use, and 2) SkyDrive now fills the page, which really showcases your content using as much of the screen as you allow. This means that getting to your stuff will be more predictable and consistent with how you already work.

    If you’re wondering what happened to things like your recent docs and your social feed, don’t worry; they’re still here. You can always get to your recent documents under the Quick views entry or by clicking SkyDrive in the header. You can get to your social updates by going to http://live.com and using the photos and documents filter to get the specific items you’re looking for.

    For those of you who are using Internet Explorer 9, we’ve also provided a fast way to get to SkyDrive from your Windows Taskbar using Pinned Sites and Jump Lists. In doing so, you have even faster access to your SkyDrive and quick access to common tasks like creating Office documents.

    Get to SkyDrive from your Windows Taskbar

    But we’re not done, and we’re continuing to make SkyDrive even better. Since we take an iterative approach to building software, not all of SkyDrive has been redesigned at this time. There are parts of the experience like creating a new album, uploading, renaming files, sharing, and editing permissions that are also scheduled to get a makeover soon.

    More beautiful and fluid for photos

    One important area of focus for SkyDrive was on making your photos shine. For many of us, our photos represent our most cherished memories, and they deserve an immersive, fast experience that gets the browser out of the way and lets the photos speak for themselves. When you view your photos in SkyDrive, you get a clean, rich view that fills the browser.

    Photos fill the browser

    When you select an album, the new mosaic layout displays your pictures in a way that lets you see all your photos in their original aspect ratio. We create thumbnails that reflect the way you took the picture, whether it be a portrait, a landscape, or a panorama shot.

    Our new bestfit grid beautifully displays pictures so that you can see everything

    Regardless of what screen you have, how big your browser window is, or how many photos you have, SkyDrive always arranges your photos in a clean layout that preserves the original aspect ratio. To do this, we use CSS3 Transitions, a new standard that lets us use subtle animations to rearrange the thumbnails when you resize the browser window. There are early levels of support already in Firefox 4+, Chrome X+, and in IE 10+.

    With infinite scrolling, we’ve eliminated pages in the photo viewing experience. Now, you can just scroll the page and see your photos quickly fill in. It looks and feels like a native application.

    To see the new photo album experience, just click a photo. The experience puts you in control of what you’re looking at and gets out of your way.

    The new Photo Album experience gives you more control of your pictures

    The album viewer is built using HTML5 and supports a variety of browsers. If your browser supports accelerated graphics, like Internet Explorer 9, you’ll notice things are fast and fluid. We also take advantage of the HTML5 video tag to support playback of H.264 videos (up to 100 MB), which is also new for this release.

    The HTML5 video tag supports playback of H.264 videos up to 100 MB

    Additionally, these features all work in your SkyDrive groups as well. So if you have created a group for your family, soccer league, or any other group, you have the same lightning fast, beautiful experience interacting with your shared photos and documents. And we’ve brought things like one click access to your group mailing list right in SkyDrive.

    Access your group mailing list with one click in SkyDrive

    More to come…

    The SkyDrive team hopes you enjoy these improvements. This release represents the beginning of a lot of things we’re excited to bring you, and we’re looking forward to shedding more light on those features as they take shape.

    Omar Shahine

    Group Program Manager, SkyDrive.com

    Windows Live developer platform adds OAuth 2.0 and more, continuing to let users connect the devices, apps, and sites they choose
    24

    We believe that people should be able to connect the devices, apps, and sites they choose, enabling richer integrated experiences in both. Nearly all Windows 7 PCs come pre-installed with Messenger, Photo Gallery, and the other Windows Live Essentials apps—just connect Facebook, LinkedIn, and other services to get a wide range of rich features like Facebook chat and social feeds in Messenger, photo publishing with people tagging in Photo Gallery, and all your contacts seamlessly available across Windows Live. And of course, you just have to do this once and your connected services roam with you to Windows Phone, Hotmail, and more.

    Likewise in reverse, we know people want to seamlessly access Hotmail, Messenger, and SkyDrive from the other devices, apps, and sites they choose. Messenger Connect is the platform that lets site and app developers integrate SkyDrive, Messenger, and Hotmail into their experiences. Today, we're excited to announce new enhancements that will make that integration easier.

    Since releasing Messenger Connect, we’ve gotten great feedback from our forums and from partners like WordPress, Sina Weibo, and Gigya about how developers want to use our APIs, and improvements we can make to the platform. Not surprisingly, developers want access to more integration scenarios via more modern standard protocols, in ways that are easier to program against, with a simpler experience for end users of their apps and sites.

    Starting today, Messenger Connect is now evolving to provide:

    OAuth 2.0, the modern web authorization standard

    • We now support OAuth 2.0, making it easier to integrate Hotmail, Messenger, and SkyDrive using a standard authentication protocol used by other web platforms like Facebook and Google across the web.

    Single sign-on and new Hotmail Calendar access

    • Single sign-on: When users have already signed in with their Windows Live ID from Hotmail, SkyDrive, MSN.com, or elsewhere, they won’t have to re-enter their credentials when they come to your site.
    • Hotmail Calendar: Applications can now programmatically insert appointments into the user’s calendar.

    Improved user experience on the desktop and mobile web

    • We’ve revamped the way users give access to applications by being more explicit about each permission the user is granting, which puts users in more control of their data. We also now provide multiple versions of this authentication dialog, including a touch-friendly version for smartphones.

    Easier to program against

    • We’ve simplified our REST-based API by focusing on JSON data formats.
    • At the same time, we’ve decreased the average size of the response you receive back from the service in order to speed up performance and decrease bandwidth requirements.
    • We’ve also redesigned our JavaScript library to require fewer lines of code to get common tasks accomplished.

    Friendlier documentation with more examples

    • Based on feedback from developers, we’ve revamped our documentation to be more scenario-focused.

    OAuth 2.0, the modern web authorization standard

    OAuth is an authorization protocol that allows users to give one service or application access to their data hosted by another service or application without sharing their username and password between the two. The previous version of Messenger Connect used OAuth WRAP, an earlier incarnation of OAuth 2.0. With the new release of Messenger Connect, we support draft 16 of the OAuth 2.0 specification which is an IETF standards track specification used by a growing number of platforms across the web, such as Facebook, Salesforce, and Google.

    Not only have we made Messenger Connect the most up-to-date implementation of OAuth 2.0, but we’ve also taken this opportunity to improve key aspects of the developer and end user experience when going through the user authorization process. On the developer side, integrating with Messenger Connect no longer requires server-side code to perform OAuth verification steps, and can all be done client-side with a few lines of JavaScript code.

    Single sign-on and new Hotmail Calendar access

    With single sign-on, users are now signed in to Messenger Connect partner sites when they’re signed in to Windows Live ID-based properties like Hotmail or the MSN homepage. This means users don’t have to re-enter their credentials. To use this, all a partner site or application has to do is to ask for the wl.signin scope when requesting user consent, and afterwards, if the user comes to that website when they’re signed in to a Windows Live ID-based site, they will also be signed in to the partner site or application. Signing out of the partner website will also sign the user out of other Windows Live websites.

    Another frequent request from developers is the ability for applications and websites to add events into a user’s Hotmail Calendar. This is especially useful for people like me who sync their calendar with their smartphone (Hotmail supports Exchange ActiveSync), so I can get a reminder about an event wherever I am.

    Improved user experience on the desktop and mobile web

    We’ve also made changes to the end user experience to make it clearer what information applications are accessing when the user attempts to connect an application to their Windows Live account. In previous versions of Messenger Connect, when a user attempted to sign in with their Windows Live ID, they saw the following dialog:

    Picture of Messenger Connect previous sign-in dialog

    This dialog was the same regardless of what information the application was trying to access, and you had to click on the “What will I share” link to see what information the application was actually trying to access. In the new version of Messenger Connect, we’ve separated the permission dialog from the sign-in dialog. Not only does this make it clearer what information the application is accessing, but it also prevents an extra sign-in requirement for users who are already signed in to a Windows Live ID-based site like Hotmail or the MSN homepage.

    Below is what the new experience looks like. If the user is already signed in, they go straight to the simple one-click consent page:

    Picture of Messenger Connect new sign-in dialog

    Picture of Messenger Connect allow access dialog

    We now also provide a version of this experience that looks great on mobile phones:

    Picture of mobile Messenger Connect sign-in dialog

    Picture of mobile Messenger Connect allow access dialog

    Easier to program against

    One of the other things we noticed is that our APIs were overly complex, supporting too many data formats, including AtomPub, JSON, RSS, and plain old XML, without adding a lot of value for them. This complicated our resource model and resulted in unnecessary data being returned by our APIs.
    We now have just one common format, JSON. And we’ve simplified our resource model as well. Here’s a code sample showing retrieval of a photo album, comparing the previous version of our API with the latest one.

    Before: In the previous v4.1 version, here is the result returned in the Atom format when retrieving my photo albums:

    Picture of Atom code sample

    After: In the simpler new v5 version, here is the same result returned in JSON:

    Picture of JSON code sample

    Friendlier documentation with more examples

    In the past, our documentation has left developers with the impression that our Messenger Connect APIs are more complicated than offerings from other online services. We realized that we could provide better information about how to get started using Messenger Connect, who’s using it, and how they’re using it, including sample code. If you go to the Messenger Connect website at http://dev.live.com today, you’ll notice that we’ve updated the documentation to provide:

    Again, we’re excited to be making it easier for developers to integrate Hotmail, Messenger, and SkyDrive into their apps and web services, which ultimately makes it easier for users to connect their Microsoft apps and services with the other stuff they already use and love.

    If you build apps or sites, please check out our developer center on MSDN to learn more about Messenger Connect, and keep the great feedback coming. If you're a user, tell your favorite sites and apps how you'd like to see them integrate with Windows Live.


    Dare Obasanjo
    Lead Program Manager, Messenger Connect Platform

Page 1 of 2 (6 items) 12...