DireWolf - Distributed Web User Interfaces
Purpose
DireWolf [1] [2] [3] (c.f. D6.1 [4], D6.2 [5]), is a framework for Web widget based Distributed User Interfaces (DUI) that was developed at RWTH. It is built on top of the ROLE SDK that was developed in the ROLE project and enables to distribute widgets across multiple (mobile) devices. This way, users may leverage multiple devices such as smartphones, tablets, laptops and desktop PCs simultaneously. For instance, the touchscreen interface of a tablet computer may be more convenient for certain drawing tasks than a mouse based interaction modality on a PC.
Description
Web applications have overcome traditional desktop applications especially in collaborative settings. However, the bulk of Web applications still follows the “single user on a single device” computing model. Therefore, we created the DireWolf framework for rich Web applications with Distributed User Interfaces (DUIs) over a federation of heterogeneous commodity devices supporting modern Web browsers such as laptops, smartphones and tablet computers. The DUIs are based on widget technology coupled with cross-platform inter-widget communication and seamless session mobility. In particular, we built DireWolf on top of the XMPP-based inter-widget communication used in the ROLE SDK and evolved it into a complex, cutting edge framework for IoT and Web 2.0, using WebRTC, Web components and our near real-time collaboration library Yjs. For a single user, DireWolf provides flexible control over different parts of an application user interface by enabling the simultaneous use of smart phones, tablets and computers. For example, in a video application, the user could simply migrate the video player to a larger display, while keeping the playlist on a smartphone, to leverage the convenient touchscreen for video selection. However, DireWolf can also be used in a multi-user, multi-device setting.
Based on the XMPP version, the DireWolf framework increased its efficiency and security by using the last WebRTC Web standard. WebRTC allows applications running within Web browsers to connect to other applications active on different tabs, browsers, or devices. While on the one hand this technology targets video conferencing apps like Google Hangouts or Skype, the HTML5 DataChannel API allows to exchange arbitrary bytes like textual formats to be sent across browsers, without involving any server-side components. Since WebRTC connections are additionally encrypted by default, the security of the solution was significantly increased since man-in-the-middle attacks on the server were no longer possible.
Provided Services
- Seamless transfer of Web widgets/Web components across one user’s devices, using state of the protocols such as XMPP, WebRTC and Web Sockets
- Single and multi user, multi device support
Material
Links
Developers and Contributors
- Dejan Kovachev
- Dominik Renzel
- Petru Nicolaescu
- István Koren
- Ralf Klamma
References
- D. Kovachev, D. Renzel, P. Nicolaescu, and R. Klamma, “DireWolf - Distributing and Migrating User Interfaces for Widget-Based Web Applications,” in Web Engineering, 13th International Conference, ICWE 2013, Aalborg, Denmark, July 2013, Proceedings, vol. 7977, F. Daniel, P. Dolog, and Q. Li, Eds. Berlin/Heidelberg, Germany: Springer, 2013, pp. 99–113. DOI: 10.1007/978-3-642-39200-9_10
- D. Kovachev, D. Renzel, P. Nicolaescu, I. Koren, and R. Klamma, “DireWolf: A Framework for Widget-based Distributed User Interfaces,” Journal of Web Engineering, vol. 13, no. 3 & 4, pp. 203–222, 2014.
- I. Koren and R. Klamma, “The Direwolf Inside You: End User Development for Heterogeneous Web of Things Appliances,” in Web Engineering - 16th International Conference, ICWE 2016, Lugano, Switzerland, June 6-9, 2016. Proceedings, 2016, vol. 9671, pp. 484–491 [Online]. Available at: http://dx.doi.org/10.1007/978-3-319-38791-8_35 DOI: 10.1007/978-3-319-38791-8_35
- M. Derntl, R. Klamma, I. Koren, P. Nicolaescu, D. Renzel, K. Ngua, J. Purma, D. Zaki, T. Treasure-Jones, G. Attwell, O. Gray, T. Ley, V. Tomberg, C. Henry, C. Whitehead, D. Theiler, C. Trattner, R. Maier, M. Manhart, M. Schett, and S. Thalmann, “Initial Architecture for Fast Small-Scale Deployment,” Learning Layers Project, Deliverable D6.1, 2013.
- M. Derntl, M. Kravcik, R. Klamma, I. Koren, P. Nicolaescu, D. Renzel, A. Hannemann, M. Shahriari, J. Purma, M. Bachl, E. Bellamy, R. Elferink, V. Tomberg, D. Theiler, and P. Santos, “Customizable Architecture for Flexible Small-Scale Deployment,” Learning Layers Project, Deliverable D6.2, 2014.