April, 2013

  • Interoperability @ Microsoft

    Thanks for a great one year anniversary!


    Thanks to all our friends who sent us anniversary greetings and also those who joined us in the Valley last week to celebrate. It was great to reflect on the many open source and open standards projects with community and industry leaders in the house.

    The future looks bright as we look to collaborate on more openness projects with you!


    Anniversary patchwork

  • Interoperability @ Microsoft

    An Update on Professional-Quality Video Captioning


    I am really excited that Microsoft IE has taken another step forward enabling professional-quality closed captions for online video, to address evolving industry requirements for browsers and other software on Internet-connected devices. The IE team have just posted a blog that describes the latest milestone for Web-based accessibility -

    “In February 2013, Microsoft joined industry stakeholders in the W3C Timed Text Working Group (TTWG) to deliver the TTML Simple Delivery Profile for Closed Captions (SDP-US) profile specification.  SDP-US is based on Timed Text Markup Language (TTML) (a caption interchange specification that has been used in the professional video industry for years) and clearly defines key caption format features like layout, style, timing and content requirements. Internet Explorer was one of the first browsers to include early support for HTML5-based video captioning via the <track> element with TTML and WebVTT file formats.

    Professional-quality online video is a forthcoming reality, enabled by emerging Web specifications and powerful content delivery infrastructure. Captioning is an important building block for enabling professional-quality video, and Microsoft is actively working with industry partners to enable rich captioning experiences. If you are working on Internet video, we invite you to review the new SDP-US profile, join the industry discussion, start considering how your caption content can adapt to SDP-US, and let us have your feedback.”

    Now part of the MS Open Tech alumni, I have been proud to work with the IE team and industry experts in driving this important interoperability milestone.

    Monica Martin
    Senior Program Manager
    Microsoft Open Technologies, Inc.



  • Interoperability @ Microsoft

    Redis on Windows – stable and reliable


    The MS Open Tech team has been spending quite a bit of time testing the latest build of Redis for Windows (available for download from the MS Open Tech Github repo). As we approach completion of our test plan, we thought we’d share some very promising results.

    In phase I of our stress testing, we put Redis on Windows through various tests with execution times ranging from 1 to 16 days, and configurations ranging from a simple single-master setup to more complex configurations such as the one shown below, with one master and four replicas. You can find an overview of the testing strategy and configurations that we used on the wiki page here.


    The results are encouraging – we found only one bug, which we’ve already fixed.

    These tests have been done with the port of the Redis 2.6.8 version from Linux to Windows, and this version includes all of the work we announced in January, including 64-bit support. Our goal is to ensure developers that they can trust using Redis on Windows on scenarios where reliability is an important requirement, and we plan to keep testing the code on more ‘demanding’ scenarios to assure that we haven’t missed anything.

    If you have comments or recommendations on any scenario we should add to our test plan, or any other suggestions on how we can improve our testing strategy, please let us know. We’ll be happy to consider using any app or scenario that Redis developers feel would be a good test case for Redis.

    Claudio Caldato
    Principal Program Manager Lead
    Microsoft Open Technologies, Inc.

  • Interoperability @ Microsoft

    Microsoft Donates JavaScript Materials to Web Platform Docs


    We’d like to highlight a pleasant spring surprise from our Microsoft colleague Eliot Graff who this week has informed the tech community that Microsoft is proving additional content to the Webplatform.org project by donating over 400 pages of JavaScript reference materials.

    Microsoft Open Technologies, Inc., and the Microsoft Internet Explorer team represented by Eliot, have been involved from the very beginning of the W3C’s Web Platform Docs (WPD), a community site designed to be a comprehensive and authoritative resource for developers to help build modern web applications that will work across browsers and devices. We strongly believe this community site is key in the journey to an interoperable web platform and same markup.

    From Eliot’s Blog post:

    “To date, JavaScript remains one of the areas in Web Platform Docs where we are still in need of robust reference documentation. I am pleased to announce that Microsoft is donating over 400 pages worth of additional content to Web Platform Docs, in order to boost our library in this regard.”

    So what does this mean for you, the developer?

    You will save time and resources, knowing you can consult confidently with a community-curated site to learn about standards, innovations and best practices including:

    • What technologies really interoperate across platforms and devices;
    • The standardization status of each technology specification;
    • The stability and implementation status of specific features in actual browsers.

    Microsoft's involvement in the Web Platform Docs project dates back to its inception almost two years ago. Ten supporting steward organizations (the W3C, Adobe, Facebook, Google, HP, Intel, Microsoft, Mozilla, Nokia, and Opera) have pooled their resources in order to create a single, centralized, nonpartisan, accurate, complete, and comprehensive collection of educational and reference materials for web development.

    We trust this additional contribution from Microsoft will strengthen the existing foundation to the JavaScript reference materials.

    WPD is a community effort. Anyone can join or contribute. The infrastructure is set up using an instance of MediaWiki, the same as Wikipedia. You can visit the site at www.webplatform.org and watch an overview video. From there, check out the docs or the community content. You can also join the effort and start editing, writing, and contributing in other ways. You can add a little code sample, write a tutorial, or join in for some of the organized doc sprints or other activities.

    Begin simplifying your web development and check out W3C’s Web Platform Docs today. Better still, sign up for an account, find a topic of interest, and contribute your expertise!

  • Interoperability @ Microsoft

    You’re invited to help us celebrate an unlikely pairing in open source


    We are just days away from reaching a significant milestone for our team and the open source and open standards communities: the first anniversary of Microsoft Open Technologies, Inc. (MS Open Tech) -- a wholly owned subsidiary of Microsoft.

    We can’t think of anyone better to celebrate with than YOU, the members of the open source and open standards community and technology industry who have helped us along on our adventure over the past year.

    We’d like to extend an open (pun intended!) invitation to celebrate with us on April 25, and share your burning questions on the future of the subsidiary, open source at-large and how MS Open Tech can better connect with the developer community to present even more choice and freedom.

    I’ll be proud to share the stage with our amazing MS Open Tech leadership team: Jean Paoli, President; Kamaljit Bath, Engineering team leader; and Paul Cotton, Standards team leader and Co-Chair of the W3C HTML Working Group.

    We will share personal anecdotes about how an unlikely pairing -- Microsoft and open source / open standards – may go down in history as successful as Chocolate & Peanut Butter, Cats & the Internet, and Pirates & Ninjas.

    Come raise a toast to how far we have come as a community, and to the exciting places we’ll be headed in the next 12 months.

    Find your ticket below, and register here http://congratsmsopentech.eventbrite.com.


    Gianugo Rabellino
    Senior Director, Open Source Communities
    Microsoft Open Technologies, Inc.


  • Interoperability @ Microsoft

    MS Open Tech releases open source Jenkins plugin for using Windows Azure Blob service as a repository


    Continuous integration (CI), where software teams integrate their work continuously into frequent builds in an Agile environment, has been around for a relatively long time. Tools for managing the CI process have been around too, and have been gaining in popularity in the last few years, as the CI process becomes more complicated and the benefits of CI become more obvious. CI tools can be used in conjunction with existing SCM version control tools to manage today’s complex build, test and deployment processes that SCM tools and processes don’t cover completely on their own.

    Jenkins is a popular open source CI tool, with many installations and extensions, as well as strong community commitment. For this reason Microsoft Open Technologies, Inc. has released a Jenkins plugin for using Windows Azure’s Blob Storage service as a repository of build artifacts.

    Using our Jenkins plugin can improve your CI process by using the Windows Azure Storage plugin to manage artifact storage in a Windows Azure Blob. Choosing the Windows Azure Blob service to store your build artifacts ensures that you have all the resources you need each time a build is required, all in a safe and reliable yet centralized location, with configurable access permissions. This takes a load off on-premise network bandwidth and storage, and improves continuous build performance.

    We’ve also open-sourced our plugin to share with the community. Source code for the plugin is available on Github here.

    Setting up a Jenkins Continuous Integration Server on Windows Azure

    The plugin works with any Jenkins CI installation. VM Depot, MS Open Tech’s community-driven repository of Linux Virtual Machines, also has several preconfigured Linux and Jenkins Virtual Machines ready to quickly get Jenkins up and running in a Windows Azure Linux VM. For more information on setting up VM Depot Virtual Machines on Windows Azure, follow this link.

    It’s also easy to set up a custom instance of Jenkins on a customized Windows Azure Virtual Machine. Here are some great resources to get started.

    For source code versioning and repository management, Jenkins on Windows Azure can use the built-in CVS or Subversion instances that are downloaded with Jenkins, or you can connect to any code management repository source that a plugin exists for, including Team Foundation Server (via the Jenkins TFS plugin), or the GitHub plugin.

    Once you have a code repository and a Jenkins instance set up, you’re ready to configure Jenkins for build management and deployment. We’ve created a detailed tutorial here on how to set up and use the plugin.

    Configure Jenkins Projects to manage Build Artifacts

    To install the plugin, go to Manage Jenkins > Manage Plugins, select the Available Plugins tab and select the Windows Azure Storage Plugin from the Artifact Uploaders Category.


    After selecting Install without Restart, you should see a confirmation screen like this one when done:


    Set up your Windows Azure Storage Account Configuration

    After the plugin is installed, the first step you should take is to configure one or more Windows Azure storage accounts for Jenkins to use. You do that using Jenkins’ Configure System page, in the Windows Azure Storage Account Configuration section:


    Configure Projects to use Windows Azure Blob Storage

    After you have configured your storage account(s), you can start adding this new Post-Build action to your jobs: Upload artifacts to Windows Azure Blob Storage:



    Selecting and configuring this option will enable you to work with your artifacts using Azure Blob Storage services, which helps with management and speed of integration. For more information on the configuration options, please refer to our tutorial.

    Next Steps

    We’re excited to be participating in the Jenkins ecosystem to enable build artifacts to be stored in Windows Azure storage. As always, we’re looking for ways to make it easier for developers to interact with Windows Azure services in any way we can, so if you have suggestion on what we can do to improve interoperability between Jenkins and Windows Azure, let us know!

  • Interoperability @ Microsoft

    Using LucidWorks on Windows Azure (Part 3 of a multi-part MS Open Tech series)


    LucidWorks Search on Windows Azure delivers a high-performance search service based on Apache Lucene/Solr open source indexing and search technology. This service enables quick and easy provisioning of Lucene/Solr search functionality on Windows Azure without any need to manage and operate Lucene/Solr servers, and it supports pre-built connectors for various types of enterprise data, structured data, unstructured data and web sites.

    In June, we shared an overview of the LucidWorks Search service for Windows Azure, and in our first post in this series we provided more detail on features and benefits. In December we covered the main features of LucidWorks Search, but today Microsoft Open Technologies, Inc, is happy to share with you a few new data sources that are Available in LucidWorks Search on Windows Azure, and a new easier way to sign up for LucidWorks Search Service on Windows Azure.

    A new option for signing up

    LucidWorks Search is still listed under applications in the Windows Azure Marketplace, and from there you can create an account via the LucidWorks Account Signup Page. But getting started is now even easier as we’ve integrated LucidWorks’ service with the Windows Azure Store, so you can now set up an instance on Windows Azure By clicking 0n the Store option in the Windows Azure Dashboard:


    Next, you’ll be prompted to choose an Add-on from a list. Select LucidWorks Search. The next screen invites you Personalize your new Add-On:


    At this point, all you have to do is enter a new Name for your LucidWorks Search Add-on and the region you want your instance to be located in.

    Right now the only option for signup via the Windows Azure Store is the Micro level, which is great for getting started. Should you exceed the limits of the Micro level, you can also sign up for other enterprise-level accounts from the LucidWorks Dashboard using the LucidWorks account that is automatically created when you sign up via the Window Azure Store.

    LucidWorks support for Windows Azure SQL Databases, Windows Azure Tables and Windows Azure Blobs

    Along with the Windows Azure Store integration, we also released LucidWorks Search support for Windows Azure SQL Databases, Windows Azure Blobs, and windows Azure Table Storage. All are available via the LucidWorks Search Dashboard under Indexing > Data Sources:


    Windows Azure Blobs provide a way to store large amounts of unstructured, binary data, such as video, audio, and images, including streaming content such as video or audio. There are two types of blob storage available, block blobs and page blobs. Block blobs are optimized for streaming and referenced by a unique block ID. Page blobs are optimized for random access and composed of pages that are referenced by offsets from the beginning of the blob. More information on Windows Azure blobs can be found here.

    Windows Azure Table storage is a collection of non-relational structured data. Unlike tables in a database, there is no schema that enforces a certain set of values on all the rows within a table. Windows Azure Storage tables are more like rows within a spreadsheet application such as Excel than rows within a database such as SQL Server. Each row can contain a different number of columns, and of different data types, than the other rows in the same table. You can find more information on Windows Azure Table storage here.

    Windows Azure SQL Databases are similar to an on-premise instance of SQL Server, but not the same.  Windows Azure SQL Databases expose a tabular data stream (TDS) interface for Transact-SQL-based database access, so they can be used the same way you use on-premise SQL Server.

    However, there are some very important differences for administration. Windows Azure SQL Database abstracts the logical administration from the physical administration. That means that you continue to administer databases, logins, users, and roles, but Windows Azure manages the physical hardware and networking to ensure enterprise-class availability, scalability, security, and self-healing. More information on Windows Azure SQL Databases is available here.

    To set up a new Azure SQL Database as a Data source, select Database as your data source option under Indexing > Data Sources.


    There are a few tips for setting up a Windows Azure SQL Database as a data source for LucidWorks that you need to know. First of all, copy the URL for your Database from the JDBC connection strings in your Windows Azure Dashboard, using this format:


    Next, select the SQL Server JDBC driver as the Driver for your Windows Azure SQL Database. You also have to include at least one SQL SELECT statement that includes an id column in the result. The id column is used at the Document identifier in LucidWorks search, and relates each row returned by the SELECT statement as fields in that Document. Have a look at my first post in this series for more information on how LucidWorks works with Documents, Fields, and Collections to return search results.

    When done your Data Source configuration should look something like the sample here:


    Next there are two additional options for setting up SELECT statements to work with your database. The Delta SQL Query uses the primary key to compare new records in the database with existing Documents in the LucidWorks Search Index, and only indexes the new or updated rows. Nested Queries allow you to set up one-to many relationships in the source Windows Azure SQL Database to include multiple rows of data in a single LucidWorks index Document, based on the primary key. Full instructions on setting up these queries as well as other options can be found in the LucidWorks help documentation here.


    These are just the latest new features to help you easily and quickly set up LucidWorks Search service on Windows Azure, and there are more on the way. Get started with your own LucidWorks Search solution by signing up via the Windows Azure Store, and let us know what you think!

  • Interoperability @ Microsoft

    Update on Standardization of Next Version of HTTP/2.0


    Gabriel Montenegro
    Principal Software Development Engineer, Microsoft Corporation

    Andrei Popov
    Senior Software Development Engineer, Microsoft Corporation

    Brian Raymor
    Senior Program Manager, Microsoft Open Technologies, Inc.

    Rob Trace
    Senior Program Manager Lead, Microsoft Corporation

    We wanted to give our readers an update on the standardization of the next version of the Hypertext Transfer Protocol, HTTP/2.0, based on our recent industry standards meeting.

    Representatives from Microsoft Corporation and Microsoft Open Technologies, Inc., recently attended the Internet Engineering Task Force 86 meetings in Orlando to make progress on the first in a series of experimental implementations of HTTP/2.0 (see our earlier blog for details).

    Much of this HTTPBIS Working Group meeting focused on presentations on header compression, which is one of the big open issues that must be resolved for the first experimental implementation of HTTP/2.0.

    Martin Thomson (HTTP/2.0 co-editor) collected and presented a number of pending specification issues for discussion and rough consensus - little things that I would like to change in HTTP/2.0 that I don’t feel I have the authority to change without working group feedback.

    Gabriel Montenegro shared a presentation on Known startup state for a simpler and more robust HTTP 2.0 that reduces the complexity of HTTP/2.0 implementations by ensuring that the protocol starts in a known state for both the client and server.

    At the Transport Layer Security Working Group (TLS WG) meeting, this group reviewed proposals for application protocol negotiation requested by HTTPBIS for HTTP/2.0 negotiation. Andrei Popov presented the Application Layer Protocol Negotiation Extension (ALPN) – one of the proposals under consideration, co-authored with Stephan Friedl (Cisco). After much discussion and a straw poll, there was rough consensus to adopt ALPN. Eric Rescorla (TLS co-chair) sent a Confirming Consensus for ALPN message to the TLS mailing list to encourage additional discussion from IETF members who had not attended the meeting.

    It was exciting to see the progress and tone of the discussions that you can see reflected in the transcriptions below:

    Mark Nottingham (HTTPBIS chair) also suggested that HTTPBIS continue meeting on a frequent schedule to make progress on the first HTTP/2.0 experimental implementation with future interim meetings proposed before and after IETF 87 in Berlin:

    • June 12 or 13-14 in San Francisco Bay Area
    • IETF 87, July 28 - August 2 in Berlin
    • Early August in Northern Germany

    Representatives from Microsoft Corporation and Microsoft Open Technologies, Inc. plan on participating in these meetings and encourage the community to also attend and become more involved in defining the next generation of HTTP at the IETF.

Page 1 of 1 (8 items)