June, 2013

  • Interoperability @ Microsoft

    Extensions and Binding Updates for Business Messaging Open Standard Spec OASIS AMQP

    • 0 Comments

    From:

    David Ingham, Program Manager, Windows Azure Service Bus

    Rob Dolin, Program Manager, Microsoft Open Technologies, Inc.

     

    We’re pleased to share an update on four new extensions, currently in development, that greatly enhance the Advanced Message Queuing Protocol (AMQP) ecosystem.

    First a quick recap - AMQP is an open standard wire-level protocol for business messaging.  It has been developed at OASIS through a collaboration among:

    • Larger product vendors like Red Hat, VMware and Microsoft
    • Smaller product vendors like StormMQ and Kaazing
    • Large user firms like JPMorgan Chase and Deutsche Bourse with requirements for extremely high reliability. 
    • Government institutions
    • Open source software developers including the Apache Qpid project and the Fedora project

    In October of 2012, AMQP 1.0 was approved as an OASIS standard.

     

    EXTENSION SPECS: The AMQP ecosystem continues to expand while the community continues to work collaboratively to ensure interoperability.  There are four additional extension and binding working drafts being developed and co-edited by ourselves, JPMorgan Chase, and Red Hat within the AMQP Technical Committee and the AMQP Bindings and Mappings Technical Committee:

    • Global Addressing – This specification defines a standard syntax for representing AMQP addresses to enable routing of AMQP messages through a variety of network topologies, potentially involving heterogeneous AMQP infrastructure components. This enables more uses for AMQP ranging from business-to-business transactional messaging to low-overhead “Internet of Things” communications.
    • Management – This specification defines how entities such as queues and pub/sub topics can be managed through a layered protocol that uses AMQP 1.0 as the underlying transport. The specification defines a set of standard operations including create, read, update and delete, as well as custom, entity-specific operations. Using this mechanism, any AMQP 1.0 client library will be able to manage any AMQP 1.0 container, e.g., a message broker like Azure Service Bus. For example, an application will be able to create topics and queues, configure them, send messages to them, receive messages from them and delete them, all dynamically at runtime without having to revert to any vendor-specific protocols or tools.
    • WebSocket Binding – This specification defines a binding from AMQP 1.0 to the Internet Engineering Task Force (IETF) WebSocket Protocol (RFC 6455) as an alternative to plain TCP/IP. The WebSocket protocol is the commonly used standard for enabling dynamic Web applications in which content can be pushed to the browser dynamically, without requiring continuous polling. The AMQP WebSocket binding allows AMQP messages to flow directly from backend services to the browser at full fidelity. The WebSocket binding is also useful for non-browser scenarios as it enables AMQP traffic to flow over standard HTTP ports (80 and 443) which is particularly useful in environments where outbound network access is restricted to a limited set of standard ports.
    • Claims-based Security – This specification defines a mechanism for the passing of granular claims-based security tokens via AMQP messages.  This enables interoperability of external security token services with AMQP such as the IETF’s OAuth 2.0 specification (RFC 6749) as well as other identity, authentication, and authorization management and security services. 

    All of these extension and binding specifications are being developed through an open community collaboration among people from vendor organizations, customer organizations, and independent experts. 

    LEARNING ABOUT AMQP: If you’re looking to learn more about AMQP or understand its business value, start at: http://www.amqp.org/about/what.

    CONNECTING WITH THE COMMUNITY: We hope you’ll consider joining some of the AMQP conversations taking place on LinkedIn, Twitter, and Stack Overflow.

    TRY AMQP: You can also find a list of vendor-supported products, open source projects, and customer success stories on the AMQP website: http://www.amqp.org/about/examples. We’re biased, but you can try our favorite hosted implementation of AMQP: the Windows Azure Service Bus. Visit the Developers Guide for links to getting started with AMQP in .NET, Java, PHP, or Python.

    Let us know how your experience with AMQP has been so far, whether you’re a novice user or an active contributor the community.

    Thanks—

    -- Dave and Rob

  • Interoperability @ Microsoft

    Live from //build/: Windows Azure Mobile Services and Web Sites GA, Autoscale Preview and new Virtual Machines Images

    • 1 Comments

    Windows Azure Mobile Services and Windows Azure Web Sites are now generally available, offering a rich set of services for building what we call “Modern Applications.” Modern applications are invariably web based and accessible by a broad spectrum of mobile devices. Microsoft Open Technologies has taken an active part in these releases, contributing its expertise in bridging Microsoft and non-Microsoft technologies and building the Android SDK for Windows Azure Mobile Services and the Android Notification Hubs SDK.

    Windows Azure Mobile Services

    Windows Azure Mobile Services makes it fast and easy to build connected applications that scale and reach every user on every device. The Windows Azure team not only provides SDKs for building native Windows Store, Windows Phone, Android, iOS and HTML5 apps, but also open sources the Windows Azure Mobile Services SDKs on GitHub and offers a REST API developers can use to reach additional client platforms. Server-side extensibility allows apps to consume other Windows Azure services like blob and table storage and third party services like SendGrid and Pusher, as well as connect to on-premises systems.

    Windows Azure Web Sites

    Windows Azure Web Sites is the fastest way to build, scale and manage business- and enterprise-grade Web applications. It is flexible and provides support for multiple languages, frameworks and databases. It has the features needed for business-class web presence like SSL and authentication via Windows Azure Active Directory. Web agencies can create socially connected applications and automatically scale them as their campaigns grow. Visual Studio users will find that Windows Azure Web Sites provides the best-in-class experience for cloud development and deployment.

    Additional Service Updates

    Additional services are also coming to Windows Azure in preview, along with new Windows Azure Virtual Machines images (SQL Server 2014 and Windows Server 2012 R2) and enhancements to Windows Azure Active Directory.

    Auto scale, alerts and monitoring are now available in preview. These services allow you to monitor the health and availability of your applications, receive notifications when your service availability changes, perform action-based events, and automatically scale to match current demands.

    Last but not least, in today’s keynote, Satya Nadella gave a sneak peek into future enhancements to Windows Azure Active Directory. Windows Azure is working with third parties like Box and others so they can take advantage of Windows Azure Active Directory to enable a single sign-on (SSO) experience for their users. If a higher level of security is needed, you can leverage Active Authentication to give you multifactor authentication.

    Learn more

    To learn more on these announcement, visit the Windows Azure blog. You can also stream today’s //build/ keynote on channel 9.

  • Interoperability @ Microsoft

    New resources for Android developers: getting started with Windows 8 development

    • 1 Comments

    As a developer, having your apps and services accessible on more devices is critical. As an experienced Android developer, you can now access lots of resources on how to develop for Windows, allowing you to reach a new range of devices for your apps and services.

    Tons of new articles for Android developers are now live on the Windows Store apps Dev Center to learn more on how to build apps for Windows:

    Your entry point for all this new content is http://aka.ms/androidtowindows

  • Interoperability @ Microsoft

    MS Open Tech contributes to open source adaptive streaming video player DASH.js

    • 0 Comments

    Adaptive streaming is an important part of the future of broadband video, and interoperability matters more than ever. People want to experience Web content swiftly and smoothly across a variety of devices. Microsoft Open Technologies, Inc. (MS Open Tech), is working with others in the industry to define guidelines for the delivery of video online, as well as contributing open source code that demonstrates interoperability of adaptive streaming across a variety of devices. 

    Adaptive streaming allows streamed video content to adjust to the bandwidth available at any given time. The result is a more fluid streaming experience for the viewer. However, today’s proprietary technologies make it difficult for content to be delivered to the many consumer devices available. The MPEG-DASH standard (ISO/IEC 23009-1) seeks to address this problem. In addition it provides many other advantages, such as switching between camera views, low-latency live streaming and improved subtitles and captioning.

     

    Microsoft Corp. is a founding member of the DASH Industry Forum (DASH-IF), an incorporated non-profit organization with over 65 members working to catalyze the adoption of MPEG-DASH. DASH-IF recently surveyed a group of European Broadcasters. They found that the biggest barrier to adoption is the lack of available clients capable of playing MPEG-DASH content. One of the reasons for this is that MPEG-DASH is a large and complex standard with many potential variations in implementation.

    DASH-IF has published a set of guidelines for implementation (called DASH-AVC/264). Using these guidelines, organizations can more easily build MPEG-DASH solutions that are interoperable. MS Open Tech, along with Digital Primates and a number of other DASH-IF partners, are building an open source DASH-AVC/264 reference implementation called DASH.js.

    Dash.js is permissively licensed (under the BSD license) and can therefore be studied and reused by anyone seeking to provide their own DASH-AVC/264 compliant player. The goal is to make it easier for third-parties to build adaptive streaming video players.

    In order to achieve this goal, the DASH.js player needs to be useful in as many environments as possible. Therefore, the DASH.js project seeks to be as open as possible to contributions. MS Open Tech is leading the definition of a fully inclusive project governance model to help ensure the success of the project. A governance model is a small set of rules and guidelines under which the project community operates. It ensures wide participation without a loss of efficiency and agility.

    Of course, governance is secondary to the production of useful software. MS Open Tech developers, along with other contributors to DASH.js, are already hard at work. At the same time other parts of Microsoft are working to support MPEG-DASH, for example Windows Azure Media Services recently announced a preview feature that enables MPEG-DASH live profile streaming.

    MPEG-DASH is important to the future of broadband video. Come and join the MS Open Tech team in making the DASH.js project a success.

  • Interoperability @ Microsoft

    New Hudson plugin using Windows Azure Storage as a repository

    • 0 Comments

     

    Microsoft Open Technologies, Inc. is pleased to share the news that we’re participating in the Hudson Contiguous Integration plugin ecosystem by releasing a Hudson plugin for using Windows Azure Storage service as a repository of build artifacts.   The plugin itself is open source, and available on GitHub.

    Modern software developers are building and delivering releases more frequently using new Continuous Integration (CI) CI tools to support their CI processes.   Managing today’s complex build, test and deployment processes is made easy and effective with CI automation tools, and Open Source solutions such as Jenkins and Hudson offer very affordable options for CI teams.

    Windows Azure Storage provides a safe, reliable and centralized storage and distribution location, with configurable security and authentication built-in.  You can publish a build to Windows Azure storage then have the build reliably distributed from that point instead of burdening on premise network bandwidth and storage. 

    Setting up a Hudson Continuous Integration Server on Windows Azure  

    The plugin works with any Hudson CI installation and any Windows Azure Subscrition.  Here’s a tutorial for getting started with the Plugin.  It’s also easy to set up a cloud-based Hudson CI solution on a Windows Azure Virtual Machine.  Here are some great resources to get started.  

    For source code versioning and repository management, you can add plugins for your favorite SCM software, on setup, or add plugins later.  Here’s what I’ve set up:

     

     

    image

    Next, you will need to create a new or use an existing Windows Azure Storage Account.  This will be used as the destination for build artifacts.

    Once you’ve followed the steps in the tutorial to have an Azure Storage account designated as a code repository and configure Hudson, you’re ready to publish build artifacts to windows Azure Storage.  To enable this, just select the storage account from the drop-down in the Post-Build action of your jobs:

     

     

    image

    Specify a container to use (it will be created if it doesn’t exist).  Remember to specify public if you want to publicly distribute the artifacts, or leave that option unchecked if you want to secure access to artifacts.  Refer to the tutorial for a full description of options.

    Next Steps

    We’re excited to be participating in the Hudson ecosystem, and to enable the option for 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 all Windows Azure services in any way we can, so if you have suggestion on what we can do to improve interoperability between Hudson and Windows Azure, let us know!

  • Interoperability @ Microsoft

    For Backbone.js devs: easily enable new Cloud based experiences in your apps with the Windows Azure Mobile Data Service

    • 0 Comments

    Synchronizing data with the cloud has just become easier for Backbone.js developers thanks to the open source Backbone adapter for Windows Azure Mobile Data Service from Microsoft Open Technologies, Inc. Developers using the popular JavaScript framework Backbone.JS to structure their web apps now only need to add a couple values indicating the table name and location to offer their customers brand new experiences leveraging the cloud.

    About Windows Azure Mobile Services

    With Windows Azure Mobile Services, you can streamline common development tasks like structuring storage, integrating push notifications and configuring user authentication. Mobile Services fully supports Windows Store, Windows Phone 8, iOS, and Android development and are free for your first ten apps. The data service provides a straightforward way to store structured data in the cloud.

    The Backbone adapter for Windows Azure Mobile Data Service

    The Backbone adapter that MS Open Tech open sourced is for HTML apps. It overrides the backbone.sync method to make things work seamlessly with Backbone applications. Using the adapter is as simple as including a JavaScript file (in addition to the JavaScript file from the Windows Azure Mobile Data Service HTML library) in your Backbone application. Since the backbone.sync method is overrode, all restful calls to the server are intercepted and converted to the format that works with the Windows Azure Mobile Data Service.

    How about some code?

    A sample backbone collection would look like the following:

    var People = Backbone.Collection.extend({
        client: client,
        table: 'Table1',
        model: Person
    });

    var people  = new People();
    var employee = people.create(data);
    people.fetch(conditions);

    As shown in the example above, the only additional parameters that need to be added to the collection are:

    • ‘table’: indicating the corresponding table where the collection must be saved on Azure
    • ‘client’: this client object corresponds to the WindowsAzure.MobileServiceClient and typically helps with authentication when writing data to the database.

    All other operations such as create, update and fetch are like the usual Backbone operations.

    The fetch operation can also take additional parameters to filter the required data to bring it to the browser. The options for filter can specify a ‘skip’, a ‘take’, or a ‘where’ clause. For detailed information, check out the README.md file.

    Call to action

    To get started with Windows Azure Mobile Services, check out the Windows Azure portal.

    You can find the Backbone adapter for Windows Azure Mobile Services project on our GitHub page.

    Please let us know what you think commenting on this post or in the project, and do not hesitate to point us to your great web apps using Windows Azure Mobile Services!

  • Interoperability @ Microsoft

    W3C Pointer Events Gains Further Web Momentum with Patch For Mozilla Firefox

    • 0 Comments

    Microsoft Open Technologies, Inc., (MS Open Tech) has made another contribution towards interoperable support for Pointer Events across Web platforms by publishing an early open source prototype of the W3C Pointer Events Candidate Recommendation for Mozilla Firefox. This patch contribution advances the momentum around use of Pointer Events to build interoperable web sites that work with mouse, touch, and pen.

    The W3C Pointer Events emerging standard makes it easier to support many browsers and devices by saving Web developers from writing unique code for each input type. Pointer Events unifies how you code for point, click and touch across multiple devices.

    Previously, MS Open Tech announced further interoperable support for Pointer Events in Blink by submitting a formal Intent to Implement to enable our engineering team to actively collaborate and work toward a positive adoption of Pointer Events by the Blink developer community. Earlier this year, MS Open Tech published Pointer Events prototypes for WebKit on HTML5 Labs and submitted patches to the WebKit developer forum. Our previous Blogs have discussed Pointer Events adoption in Internet Explorer, Chrome/Blink, and in JavaScript libraries such as jQuery, and Dojo. This initial open source patch for Mozilla Firefox adds to the Web community convergence around the Pointer Events specification and we plan to continue our collaboration with the Blink, WebKit and Mozilla communities.

    MS Open Tech and the Microsoft Internet Explorer teams will continue to work with our colleagues across the industry, engaging developers to test and provide feedback on the specification to W3C.

    Contribute to the New Pointer Events Functionality in Firefox

    We encourage interested developers to participate in the community process and provide feedback to ensure that Mozilla Firefox will enable a great Pointer Events implementation. As you start building, migrating, or testing your Web apps using Pointer Events, you should check out the resources available on the Pointer Events Wiki at Web Platform Docs:

    Jump in, have fun with the demos, join the discussion at #PointerEvents and update your site with the cool capabilities of Pointer Events. Point. Click. Touch.

    Asir Vedamuthu Selvasingh, Principal Program Manager
    Microsoft Open Technologies, Inc.

    Adalberto Foresti, Principal Program Manager
    Microsoft Open Technologies, Inc.

    Oleg Romashin, Senior Engineer, Microsoft Open Technologies Hub

  • Interoperability @ Microsoft

    MS Open Tech Releases Open Source Patch for OpenSSL to Enable HTTP/2.0 Secure Negotiation

    • 0 Comments

    As part of our commitment to the progress of HTTP/2.0 in an open and interoperable fashion, Microsoft Open Technologies, Inc., has yesterday reached out to the OpenSSL community with a proposed contribution supporting Application Layer Protocol Negotiation (ALPN) in the OpenSSL encryption libraries. We submitted a patch request to http://www.openssl.org/ that implements the relevant part of the HTTP/2.0 specification available at http://tools.ietf.org/html/draft-ietf-httpbis-http2-03#section-2.3.

    Security and encryption are critical components of the next version of the HTTP protocol. If you have been following the HTTP/2.0 effort, the industry is collaborating in the IETF Transport Layer Security Working Group (TLS WG) and ALPN has been adopted as a WG draft with a broad set of contributors including Microsoft, Cisco, Google, and Orange. The latest working draft at IETF requires the use of ALPN as the mechanism for secure negotiation which means ALPN will now be a key part of HTTP/2.0.

    The availability of an open source implementation of ALPN in the most popular open source encryption library allows interested developers to verify the benefits of ALPN and its compliance with established TLS design principles. This was called out in our earlier prototype that introduced support in the OpenSSL library for ALPN.

    We will continue the technical conversation about this proposed contribution on the OpenSSL mailing lists as well as working closely with the IETF WG to collaborate in designing the next major version of the HTTP protocol. We encourage you to join in the discussion and participate in the HTTP/2.0 standardization effort.

    Adalberto Foresti
    Principal Program Manager
    Microsoft Open Technologies, Inc.

  • Interoperability @ Microsoft

    Windows Azure Mobile Service updates and added support for Android push notifications via Google Cloud Messaging

    • 0 Comments

    Listening to the developers’ feedback, the Windows Azure Mobile Services team is releasing new features and updates to make Mobile Services a more robust and flexible backend for mobile apps that scale. Contributing its expertise in bridging Microsoft and non-Microsoft technologies, MS Open Tech built the new Android Notification Hubs SDK and updated the Android SDK for Windows Azure Mobile Services.

    Updates to Windows Azure Mobile Services

    Mobile Services makes it fast and easy to build dynamic and engaging mobile apps that scale. Windows Azure is expanding the Mobile Services capabilities:

    • Adding support for Custom API allowing developers to write server-side scripts that aren’t associated with a SQL database table and giving them additional control over the HTTP request and response so that they can receive types other than JSON and then detect and append their own HTTP headers.
    • Adding source control via git.

    You can find more details on these updates reading the Windows Azure and ScottGu’s blogs.

    MS Open Tech contributed the Android push notifications support in Notification Hubs

    Notification Hubs lets you broadcast push notifications to millions of devices across platforms from almost any backend hosted in Windows Azure. Notification Hubs are a great way to modernize existing apps hosted in Virtual Machines, Cloud Services or Web Sites by engaging users through push notifications; it’s also a great way to enrich the push notifications support available through Mobile Services by subscribing different subsets of users to different topics.

    Notification Hub enables broadcast push notifications scenario not only for consumer apps but also for enterprise apps that need to update thousands or millions of mobile users simultaneously.

    Building on our learning and experience in previous releases, MS Open Tech contributed the support for Android push notifications via Google Cloud Messaging (GCM) to the suite of supported platforms. With this release, developers can now broadcast push notifications to Windows Store, iOS and Android devices via WNS, APNS, and GCM, respectively.

    To get started broadcasting push notifications to Android devices, you’ll need the Service Bus .NET Preview SDK, the Android SDK, and the new Android Notification Hubs SDK. Learn more on the Windows Azure blog.

    clip_image002_thumb1

    As for previous releases, the Android Notification Hubs SDK is open sourced and you can find the code on GitHub.

    Free 20MB SQL Database

    Last but not least, and still responding to developers’ feedback, Windows Azure now offers a 20MB SQL Database to every Windows Azure subscription that can be used with Windows Azure Mobile Services or Web Sites. This will definitively help developers building mobile and web apps and need to store relational data in the cloud. And this will also be handy to have a free data option during development and test.

    Next steps

    You can start building Mobile Services powered that leverage Custom API and local git for source control today. You can also add Android broadcast push support to any app built on Windows Azure with Notification Hubs.

    Visit the Mobile Developer Center and MSDN for more information regarding Mobile Services and Notification Hubs, respectively. Visit Scott Guthrie’s blog post for additional information regarding this release.

    And as usual, feel free to let us know what you think about our work commenting on this post or sending us an email.

  • Interoperability @ Microsoft

    ActorFx v0.50 – more stability, scalability, extensibility, Inter-Actor programmability and a new MapReduce demo for our cloud based Actor Runtime

    • 0 Comments

    By the ActorFx team:

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

    Joe Hoag, Senior Software Engineer, Microsoft Open Technologies Hub

    Brian Grunkemeyer, Senior Software Engineer, Microsoft Open Technologies Hub

     

    The ActorFx team is happy to announce that the ActorFx v0.50 is available now, with several improvements since our v0.40 release in March. We also have a great new demo available, based on an algorithm employing MapReduce-like functionality.

    ActorFx provides an open source, non-prescriptive, language-independent model of dynamic distributed objects for building highly available data structures and other logical entities via a standardized framework and infrastructure. ActorFx is based on the idea of the mathematical Actor Model for cloud computing. Have a look at the CodePlex site for more information.

    This release contains some significant improvements:

    · Stability: We fixed a few bugs to eliminate deadlocks and race conditions.

    · Diagnostics: we added support for Event Tracing for Windows (ETW) and now ActorFx emits new ETW event types that can be used to diagnose issues at runtime.

    · Scalability: we implemented port sharing and per-node assembly caching

    · Inter-Actor Programmability: we added the ability for actors to create and delete other actors

    · Extensibility: We did some refactoring and added a StatelessActorApp that will enable us to implement alternative persistence mechanisms based on Azure Tables, SQL Azure and others in the future

    With the v0.50 release we also added a new demo: WordCount. WordCount demonstrates ActorFx’s ability to effect dataflow-type computations over dynamic topologies, employing a MapReduce-type algorithm to count the occurrences of all words in a selected set of textual documents.

    WordCount launches three classes of actors: mapper actors, reducer actors, and an aggregation actor.  Each are populated with the necessary logic to perform their respective functions by sending an assembly containing actor methods to each.

    The WordCount sample demonstrates many of the advantages of ActorFx:

    · Actor behavior is assigned via the passing in of an assembly containing actor methods.

    · File names and progress messages are passed from one tier to the next using actor-to-actor method calls.

    · Status information is emitted and collected using ActorFx pub/sub mechanisms.

    Details on how to run the WordCount application can be found in the CodePlex site.

    We are already working on the v0.60 release and on some new demos that show how ActorFx can be used on a wide range of scenarios. As always, we welcome input from the community. For those of you who are using ActorFx in implementations, we’d like to hear more about how it’s useful to you and how it can be improved.

    We are looking forward to your comments/suggestions, and stay tuned for more cool stuff coming in our next release!

  • Interoperability @ Microsoft

    New Tutorial: Using Apache ZooKeeper on Windows Azure to Manage Solr on Linux Virtual Machines

    • 0 Comments

    Here at Microsoft Open Technologies, Inc., we’ve been working with the top open source DevOps, application and data tools to make popular open source packages easy to deploy and manage on Windows Azure. This work gives developers the ability to take combine powerful open source technologies in new and unusual ways in the cloud to build new applications and solve old problems.

    As a showcase of these possibilities, we’ve built a search engine infrastructure using Apache Solr that is managed by an external implementation of Apache ZooKeeper to ensure scalability with reliability, and consistent search results for every search, regardless of which search servers may be accessible at any time. You can find all the details in this tutorial and once you’ve completed the tutorial you will have multiple Solr instances (called SolrCores) synchronized across more than one server, with synchronization managed by ZooKeeper. 

    By default, Solr has an internal, customized version of ZooKeeper running to synchronize SolrCloud shards on the same sever, but for our ZooKeeper example, we’re show you multiple SolrCores distributed across servers.  That means that multiple cores at multiple IP addresses are made to look like one server. 

    Here’s what the Solr dashboard will show when you’ve competed this tutorial:

    image

    The tutorial configures one ZooKeeper instance and two Solr VMs as the minimum to test our configuration, but you could scale up much more than that.  With ZooKeeper managing Solr, as long as at least one SolrCloud instance is accessible anywhere that ZooKeeper is keeping things in Sync, you will still have ability to index documents and run queries.

    Try it out yourself, and let us know what you think!

     

  • Interoperability @ Microsoft

    MS Open Tech, W3C Pointer Events and the JavaScript Community at JSConf 2013

    • 0 Comments

    Adoption of Pointer Events Grows with Upcoming Implementation for Dojo Toolkit

    The W3C Pointer Events emerging standard continues to gain traction, advancing support for interoperable mouse, touch, and pen interactions across the web. Pointer Events makes it easier to support a variety of browsers and devices by saving Web developers from writing unique code for each input type. The specification continues to receive positive feedback from the developer community -- many are already embracing it as a unified model for cross-browser multi-modal input.

    In our previous Blog on W3C Pointer Events, we highlighted feedback shared by members of the jQuery and Cordova teams. The Dojo team are also working on implementing Pointer Events in an upcoming release of the Dojo Toolkit:

    The Dojo team has been watching the progress of Pointer Events in the W3C standardization process as it moves to Candidate Recommendation. We see Pointer Events as a great way to unify the disparate models that exist today for mouse, touch, and other pointer devices. Our team looks forward to implementing Pointer Events in the 2.0 release of the Dojo Toolkit. – Bill Keese, Dijit Project Lead

    Last month, Microsoft Open Technologies, Inc. (MS Open Tech) made the first step towards interoperable support for Pointer Events in Blink by submitting a formal Intent to Implement to enable our engineering team to actively collaborate and work toward a positive adoption of Pointer Events by the Blink developer community. Earlier this year, MS Open Tech published a Pointer Events prototype for WebKit on HTML5 Labs and submitted the patch to the WebKit developer forum - we plan to continue our collaboration with the WebKit community.

    Pointer Events at JSConf 2013

    Last week I was privileged to join around 700 participants at the 5th Annual JSConf (and CSSConf) which took place on Amelia Island, Florida. The sold out event was packed with excellent presentations, demonstrations, and entertaining activities throughout. Congratulations to organizers Chris and Laura Williams and their family for hosting such an outstanding event!

    I attended the event for Microsoft Open Technologies, Inc. (MS Open Tech), alongside representatives from Microsoft’s Internet Explorer (IE) and DPE teams. Internet Explorer and Windows Azure both provided sponsorships for the Conference. In addition to learning about the world of JavaScript and meeting new friends, there were plenty of opportunities to share the latest news about W3C Pointer Events with the JavaScript community. W3C Pointer Events is an emerging standards specification that defines a device-independent approach to handling pointer input from devices like a mouse, pen, or touchscreen.

    On Tuesday night, MS Open Tech and the Internet Explorer team hosted the ‘Reach the Beach’ Welcome Reception that took place right on the beach complete with an evening campfire and roasting of s’mores – you can see some photos below. During the Reception, Pointer Events gift boxes were handed out to celebrate the recent achievement of Pointer Events advancing to Candidate Recommendation (CR) status within W3C. Each gift box included a capacitive pen stylus, an Artist Edition 3500 mouse, and a screen cloth to represent the multi-model input support provided by the W3C Pointer Events specification.

     

    image image image

    image

    On Wed May 29th, Josh Holmes (pictured above) of the IE team presented Pointer Events in his session ‘Touch Me, I Dare You’. Josh provided an overview of Pointer Events, and gave a demonstration using a Bricks paddle game to show how easy it is to code for multi-modal input using the Pointer Events specification. There were several questions after the presentation and it was evident that developers were particularly interested in the cross-browser platform support provided by Pointer Events. Josh referenced the Pointer Events polyfills that can be found on Web Platform Docs at http://docs.webplatform.org/wiki/PointerEvents – here’s a code sample below.

              // these are the polyfill events for hand.js.

               Event(leftOverlay, "pointerup", function() { if(Game.canStart()) { Balls.release(Player.ONE); } }, false);

               Event(rightOverlay, "pointerup", function() { if(Game.canStart()) { Balls.release(Player.TWO); } }, false);

               Event(leftOverlay, "pointermove", Game.movePaddle, false);

               Event(rightOverlay, "pointermove", Game.movePaddle, false);

                    }                             

    To showcase some of the cool innovation that can be done with W3C Pointer Events, last week an article was published describing an immersive website experience that resulted from a collaboration between the IE team and renowned Everest explorer David Breashears - IE piggybacks on Everest celebration to showcase new browser tech. Everest: Rivers of Ice is a new Web site built in HTML5 and CSS3 for touch screens and highlights the kind of modern Web experiences that can be created incorporating Pointer Events.

    We welcome the Dojo team to the growing list of JavaScript libraries and frameworks working with W3C Pointer Events and we look forward to their upcoming implementation in Dojo Toolkit 2.0. As we continue to work with the vibrant JavaScript community, we look forward to seeing even more Pointer Events support across a growing number of JavaScript libraries and frameworks – there’s more to come! To learn more about using and implementing Pointer Events, feel free to check out and contribute to the Pointer Events Wiki on Web Platform Docs which includes community generated polyfills, tests, demos, and tutorials, or join the discussion at #PointerEvents. Point. Click. Touch.

Page 1 of 1 (12 items)