Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Although XMPP is most often used as a chat protocol, it can also provide a robust asynchronous communication channel in other application scenarios. In this presentation, we will provide introduction to Strophe.js, XMPP4R, and ejabberd, which are the XMPP components that we use to integrate our device automation framework and living room devices under test. By using these off-the-shelf components, we addressed our needs for getting around internal firewalls, application security (based on SASL), and asynchronous command-response handling. Help us caption & translate this video! http://amara.org/v/FGjB/
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In this video presentation at Rails Conf 2012, speakers Andrew Carter and Steve Jang discuss their implementation of an asynchronous communication layer using XMPP for their device automation framework at Hulu. They illustrate how they leveraged existing tools like Strophe.js, XMPP4R, and ejabberd to integrate various living room devices, facilitating programmability and automation. **Key points discussed in the presentation include:** - **Background and Context**: The evolution of Hulu's platform from web-only to supporting multiple devices (over 60 from 17 manufacturers), highlighting challenges faced in device testing and content delivery. - **Need for Automation**: The speakers explained the complexity of streaming video and how manual testing was inefficient, leading them to create a more robust toolchain. - **Introduction of XMPP**: They determined that XMPP was an ideal solution for bi-directional communication due to its low latency and peer-to-peer capabilities, contrasting it with other methods they considered (like TCP connections or polling). - **Components of the Architecture**: The framework was designed with a clear separation of components: - **ejabberd**: The chosen XMPP server which facilitates communication. - **XMPP4R**: The Ruby library that handles server interaction on the Ruby side of their automation framework. - **Strophe.js**: A JavaScript library used for communicating with the XMPP server from the client devices. - **Command and Response Handling**: The design enables commands to be sent to devices with immediate responses, enhancing testing efficiency. They demonstrated through pseudo-code how to create a synchronous API to facilitate easier test-writing. - **Key Features and Advantages**: The use of established components allowed the team to focus on their automation tasks without reinventing technologies, significantly speeding up the process and simplifying debugging. - **Takeaways and Future Directions**: The presenters concluded that using XMPP proved invaluable for their needs and opened doors for potential future applications in automated testing and device provisioning, advocating for its broader use beyond chat services. The session reflects the practical challenges of developing on diverse platforms and highlights the utility of XMPP in streamlining communications in automated testing environments, which can reduce overhead and increase efficiency in software development workflows.
Suggest modifications
Cancel