IC3D17 Dom2aframe Marx.Pdf

Total Page:16

File Type:pdf, Size:1020Kb

IC3D17 Dom2aframe Marx.Pdf DOM2AFRAME: PUTTING THE WEB BACK IN WEBVR Robin Marx1, Sander Vanhove1, Wouter Vanmontfort2, Peter Quax1, Wim Lamotte1 1UHasselt-tUL-imec, EDM, Hasselt, [email protected] 2Androme, Diepenbeek, Belgium. [email protected] ABSTRACT VR browser embeds web pages as part of a larger 3D world), or as separate VR rendering engine or view in an existing web As the Virtual Reality (VR) market continues to grow, so does the browser (e.g., Google Chrome and Samsung Internet). Sadly, these need for high-quality experiences. In order to unlock the wide pool browsers typically only allow the singular use case UC0 and do not of existing web-based content, common and more specialized web provide web developers with direct control over how their content browsers allow users to visit existing web pages in VR. Additionally, is rendered in VR nor how the user can interact with it. This is the latest version of the WebVR [24] standard facilitates the integra- problematic, as the browser’s typical approach (simply displaying tion of custom 3D/VR content in a web page. Sadly, both options the site on a flat 3D surface (e.g., plane, cylinder)) is unlikely to consciously exclude the use of standard 2D web technology (such produce a satisfactory user experience [16]. as HTML and CSS) in other common use cases, such as creating a To support UC1 and UC2, we might look towards the new highly interactive 2D UI for a 3D/VR game. Consequently, web WebVR standard [24]. WebVR provides an abstraction on top of developers wanting to use WebVR are required to learn an entirely the various VR hardware setups and enables developers to use the new skill set to create VR experiences. existing WebGL [10] rendering capabilities of the HTML5 <can- This work surveys and explores workaround options for ren- vas> element [21] to easily create stereographic 3D experiences. dering 2D HTML/CSS/JavaScript-based content in WebVR. We Various VR input methods are made available through the JS-based find that existing methods are often too slow to allow for a highly Gamepad API [24]. WebVR is currently supported in both Google interactive experience. We introduce DOM2AFrame, a new frame- Chrome and Mozilla Firefox, with Apple’s Safari recently joining work that couples 2D page elements directly to their equivalent 3D the WebVR standardization effort [5]. counterparts (using the A-Frame library [2]) to allow for smooth updating, animation and user interaction at frame rates close to 60 In theory, web developers could thus use WebVR to render 2D FPS on modern hardware. Two case studies validate our approach web content in VR and support all three use cases. In practice and show its potential for rendering 2D web content in VR. however, modern browsers do not grant developers direct access to their rendering pipeline and also do not provide an API to Index Terms— Virtual Reality, WebVR, rasterization, DOM render/rasterize typical web content onto a <canvas> element1. The main argument for not providing such a coupling or API has 1. INTRODUCTION always been security and privacy related, as it could lead to abusers taking and saving “screenshots” of sensitive user data (e.g., an Virtual Reality (VR) is on the rise [11]! The need for premium VR- attacker could load an online banking page in an <iframe>, enabled content has exploded in tandem with the availability to the render it to a texture and send it to their server; while this is certainly general public of VR-capable hardware (e.g., headsets, controllers a solvable problem, the possible solutions are not easy to implement and personal computers). While this content is available in sufficient in the rendering pipeline [20]). measure in the form of stereographic video and interactive game- For better or worse, web developers who want to create VR con- related experiences, the rich ecosystem of (2D) web-based content tent are currently limited to the functionality provided by the 2D and has not yet been fully explored in the VR medium. This is a pity, as 3D rendering contexts of <canvas> and WebGL, which means there are various interesting use cases (UCs) for using standard 2D that most of the more powerful and established web technologies web-based technologies such as HTML, CSS and JavaScript (JS) in such as HTML, CSS and large parts of JS (e.g., input event listeners) VR. For example: are not directly usable in WebVR. This implies that web developers cannot use their established skill set to start creating VR content, • UC0 : Rendering and interacting with a full web page as-is instead requiring them to develop new skills (e.g., knowledge of 3D • UC1 : Rendering a 2D User Interface (UI) or other 2D elements primitives, shaders), which are typically taught to game developers. in a 3D experience (e.g., complex menu in a game, text reader) • UC2 : Rendering (parts of) a web page in a different way when viewed in VR (e.g., integrating 3D objects as part of an e-shop, In this work, we first look at existing options to bypass these auto-selecting stereographic video, horizontal instead of vertical limitations and how to render full-featured 2D web content as part placement) of interactive 3D and VR experiences (Section 2). We discover that Some recent developments try to unlock this large body of existing 1Note that Mozilla Firefox does provide a similar API [1], but that it is only web content either in a special purpose VR browser (e.g., the Janus available from within browser extensions and plugins, not to normal web content. developers have been using workarounds to render web content to validate with an emulated rendering-engine3. 2D textures, then mapping them onto 3D primitives for use in VR. Ultimately however, all these approaches require either a custom We find that these methods are far too slow to support interactive browser implementation/plugin and/or propose an extension to 3D WebVR experiences and are inflexible in their handling of existing web standards, making them difficult to deploy in practice user input. We contribute our own DOM2AFrame framework and in combination with modern APIs such as WebVR/WebGL. (Section 3), which does not first render to a 2D texture but instead Additionally, most of the discussed methods focus primarily on couples each 2D web element to an equivalent 3D representation supporting UC0 and sometimes UC2 (highlighting that enabling directly. Our approach provides fully interactive frame rates and UC2 is traditionally difficult without built-in browser support), but more flexible input handling (with support for HTML forms), at the rarely UC1. expense of the resulting render not being a pixel-perfect replica of the browser engine’s result. We validate our approach in Section 2.2. Rendering to a 2D texture 4 with two case studies that show our support for UC1 and UC2 and, in part, UC0. Note that we look primarily at the rendering and As discussed in the previous sections, rendering web content in input capturing aspects and consider techniques for interacting with VR without changing browser source code is difficult because a (Web)VR content out of scope for this work. developer cannot directly access the browser’s internal rendering pipeline through JS or any other means4. However, there are some workarounds that obtain a very similar result by using the available 2. RELATED WORK 2D/3D rendering contexts of the <canvas> element. These methods first render (large) groups of DOM elements to a 2D 2.1. Adjusting the native rendering pipeline image/texture, either by using the internal pipeline in a roundabout way via SVG images (Section 2.2.1) or by re-implementing the Rendering a web page is an iterative process (see Figure 1a). The browser’s Styling logic (Section 2.2.2). This texture is then mapped browser engine starts from the raw HTML/CSS/JS strings and onto a WebGL 3D (quad) primitive for use in VR. builds an internal representation: the Document Object Model 2 Two figures aptly summarize the next two Sections: Figure 1 (DOM ). This internal representation is then used in multiple steps, shows the various pipeline details, while Figure 2 clarifies how each mainly Layouting and Styling. Layouting deals with how elements method maps web elements onto multiple textures. are positioned and sized (e.g., with CSS properties such as width, height, margin) while Styling changes the visual appearance of the elements (e.g., borders, color, font-weight). Once the Layout and 2.2.1. rasterizeHTML and html2three Style are calculated, the browser can use this information to draw Using the special <foreignObject> tag of the XML-based the rasterized representation of the web page via the GPU. When Scalable Vector Graphics (SVG) image standard, HTML and CSS something changes on the web page, the browser only updates content can be embedded in an SVG image element. The <can- the relevant elements of its internal representation to prevent a full vas> 2D drawing API then allows to draw/rasterize the SVG page re-draw for every update. It is thus straightforward for the image, causing the browser to internally render the SVG in largely browser to provide a VR-specific rendering viewport on top of this the same way as it would with normal HTML and CSS content, internal representation, since it mainly needs to change how the using the default browser rendering pipeline (see Figure 1b). content is dispatched to the GPU and can reuse most of the existing However, once again due to security and privacy considerations, implementation. various web features are not directly supported.
Recommended publications
  • X3DOM – Declarative (X)3D in HTML5
    X3DOM – Declarative (X)3D in HTML5 Introduction and Tutorial Yvonne Jung Fraunhofer IGD Darmstadt, Germany [email protected] www.igd.fraunhofer.de/vcst © Fraunhofer IGD 3D Information inside the Web n Websites (have) become Web applications n Increasing interest in 3D for n Product presentation n Visualization of abstract information (e.g. time lines) n Enriching experience of Cultural Heritage data n Enhancing user experience with more Example Coform3D: line-up of sophisticated visualizations scanned historic 3D objects n Today: Adobe Flash-based site with videos n Tomorrow: Immersive 3D inside browsers © Fraunhofer IGD OpenGL and GLSL in the Web: WebGL n JavaScript Binding for OpenGL ES 2.0 in Web Browser n à Firefox, Chrome, Safari, Opera n Only GLSL shader based, no fixed function pipeline mehr n No variables from GL state n No Matrix stack, etc. n HTML5 <canvas> element provides 3D rendering context n gl = canvas.getContext(’webgl’); n API calls via GL object n X3D via X3DOM framework n http://www.x3dom.org © Fraunhofer IGD X3DOM – Declarative (X)3D in HTML5 n Allows utilizing well-known JavaScript and DOM infrastructure for 3D n Brings together both n declarative content design as known from web design n “old-school” imperative approaches known from game engine development <html> <body> <h1>Hello X3DOM World</h1> <x3d> <scene> <shape> <box></box> </shape> </scene> </x3d> </body> </html> © Fraunhofer IGD X3DOM – Declarative (X)3D in HTML5 • X3DOM := X3D + DOM • DOM-based integration framework for declarative 3D graphics
    [Show full text]
  • Garder Le Contrôle Sur Sa Navigation Web
    Garder le contrôle sur sa navigation web Christophe Villeneuve @hellosct1 @[email protected] 21 Septembre 2018 Qui ??? Christophe Villeneuve .21 Septembre 2018 La navigation… libre .21 Septembre 2018 Depuis l'origine... Question : Que vous faut-il pour aller sur internet ? Réponse : Un navigateur Mosaic Netscape Internet explorer ... .21 Septembre 2018 Aujourd'hui : ● Navigations : desktop VS mobile ● Pistage ● Cloisonnement .21 Septembre 2018 Ordinateur de bureau .21 Septembre 2018 Les (principaux) navigateurs de bureau .21 Septembre 2018 La famille… des plus connus .21 Septembre 2018 GAFAM ? ● Acronyme des géants du Web G → Google A → Apple F → Facebook A → Amazon M → Microsoft ● Développement par des sociétés .21 Septembre 2018 Exemple (R)Tristan Nitot .21 Septembre 2018 Firefox : ● Navigateur moderne ● Logiciel libre, gratuit et populaire ● Développement par la Mozilla Fondation ● Disponible pour tous les OS ● Respecte les standards W3C ● Des milliers d'extensions ● Accès au code source ● Forte communauté de développeurs / contributeur(s) .21 Septembre 2018 Caractéristiques Mozilla fondation ● Prise de décisions stratégiques pour leur navigateur Mozilla ● Mozilla Fondation n'a pas d'actionnaires ● Pas d'intérêts non Web (en-tête) ● Manifesto ● Etc. 2004 2005 2009 2013 2017 .21 Septembre 2018 Manifeste Mozilla (1/) ● Internet fait partie intégrante de la vie moderne → Composant clé dans l’enseignement, la communication, la collaboration,les affaires, le divertissement et la société en général. ● Internet est une ressource publique mondiale → Doit demeurer ouverte et accessible. ● Internet doit enrichir la vie de tout le monde ● La vie privée et la sécurité des personnes sur Internet → Fondamentales et ne doivent pas être facultatives https://www.mozilla.org/fr/about/manifesto/ .21 Septembre 2018 Manifeste Mozilla (2/) ● Chacun doit pouvoir modeler Internet et l’usage qu’il en fait.
    [Show full text]
  • The Web. Webgl, Webvr and Gltf GDC, February 2017
    Reaching the Largest Gaming Platform of All: The Web. WebGL, WebVR and glTF GDC, February 2017 Neil Trevett Vice President Developer Ecosystem, NVIDIA | President, Khronos | glTF Chair [email protected] | @neilt3d © Copyright Khronos Group 2017 - Page 1 Khronos News Here at GDC 2017 • WebGL™ 2.0 Specification Finalized and Shipping - https://www.khronos.org/blog/webgl-2.0-arrives • Developer preview on glTF™ 2.0 - https://www.khronos.org/blog/call-for-feedback-on-gltf-2.0 • Announcing OpenXR™ for Portable Virtual Reality - https://www.khronos.org/blog/the-openxr-working-group-is-here • Call for Participation in the 3D Portability Exploratory Group - A native API for rendering code that can run efficiently over Vulkan, DX12 and Metal khronos.org/3dportability • Adoption Grows for Vulkan®; New Features Released - Details here © Copyright Khronos Group 2017 - Page 2 OpenXR – Portable Virtual Reality © Copyright Khronos Group 2017 - Page 3 OpenXR Details OpenXR Working Group Members Design work has started in December Estimate 12-18 months to release WebVR would use WebGL and OpenXR © Copyright Khronos Group 2017 - Page 4 3D Portability API – Call For Participation ‘WebGL Next’ - Lifts ‘Portability API’ to A Portability Solution JavaScript and WebAssembly needs to address APIs and - Provides foundational graphics shading languages and GPU compute for the Web ‘Portability Solution’ Portability API Spec + Shading Language open source tools API MIR MSL Overlap ‘Portability API’ DX IL Specification Analysis HLSL GLSL Open source compilers/translators for shading and intermediate languages © Copyright Khronos Group 2017 - Page 5 Speakers and Topics for This Session Google WebGL 2.0 Zhenyao Mo, Kai Ninomiya, Ken Russell Three.js Three.js Ricardo Cabello (Mr.doob) Google WebVR Brandon Jones NVIDIA - Neil Trevett glTF Microsoft - Saurabh Bhatia All Q&A © Copyright Khronos Group 2017 - Page 6 WebGL 2.0 Zhenyao Mo, Kai Ninomiya, Ken Russell Google, Inc.
    [Show full text]
  • Understanding Javascript Event-Based Interactions
    Understanding JavaScript Event-Based Interactions Saba Alimadadi Sheldon Sequeira Ali Mesbah Karthik Pattabiraman Motivation • JavaScript – Event driven, dynamic, asynchronous • Difficult to understand the dynamic behavior and the control flow – Lower level events – Their interactions 1 Challenge 1: Event Propagation html Handler head body Triggered P div a div Handler p Triggered h1 table p Handler Triggered caption tr Handler User td Triggered Click label input table textarea button Handler 2 Triggered Challenge 2: Asynchronous Events Timeout for page expiry Server request for login Server response for login User logs in 3 Challenge 2: Asynchronous Events Timeout for page expiry Server request for login View Server response for login gallery Server request Server request Server response Server response 3 Challenge 2: Asynchronous Events Timeout for page expiry Server request for login Server response for login View Server request slideshow Server request Server response Server response Timeout for next image 3 Challenge 2: Asynchronous Events Timeout for page expiry Server request for login Server response for login Server request Server request Server response Server response Timeout for next image Server request image Server response Timeout callback Timeout callback page expiry 3 Challenge 3: DOM State function submissionHandler(e) { $('#regMsg').html("Submitted!"); var email = $('#email').val(); html if (isEmailValid(email)) { informServer(email); head Body $('#submitBtn').attr("disabled", true); } } P div a srvrMsg . function informServer(email)
    [Show full text]
  • Practical Initialization Race Detection for Javascript Web Applications
    Practical Initialization Race Detection for JavaScript Web Applications CHRISTOFFER QUIST ADAMSEN, Aarhus University, Denmark 66 ANDERS MØLLER, Aarhus University, Denmark FRANK TIP, Northeastern University, USA Event races are a common source of subtle errors in JavaScript web applications. Several automated tools for detecting event races have been developed, but experiments show that their accuracy is generally quite low. We present a new approach that focuses on three categories of event race errors that often appear during the initialization phase of web applications: form-input-overwritten errors, late-event-handler-registration errors, and access-before-definition errors. The approach is based on a dynamic analysis that uses a combination of adverse and approximate execution. Among the strengths of the approach are that it does not require browser modifications, expensive model checking, or static analysis. In an evaluation on 100 widely used websites, our tool InitRacer reports 1 085 initialization races, while providing informative explanations of their causes and effects. A manual study of 218 of these reports shows that 111 of them lead to uncaught exceptions and at least 47 indicate errors that affect the functionality of the websites. CCS Concepts: • Software and its engineering → Software testing and debugging; Additional Key Words and Phrases: event race detection, JavaScript, dynamic analysis ACM Reference Format: Christoffer Quist Adamsen, Anders Møller, and Frank Tip. 2017. Practical Initialization Race Detection for JavaScript Web Applications. Proc. ACM Program. Lang. 1, OOPSLA, Article 66 (October 2017), 22 pages. https://doi.org/10.1145/3133890 1 INTRODUCTION It is well known that event races are the cause of many errors in JavaScript web applications [Steen 2009].
    [Show full text]
  • Web Components in Action MEAP
    MEAP Edition Manning Early Access Program Web Components in Action Version 2 Copyright 2018 Manning Publications For more information on this and other Manning titles go to www.manning.com ©Manning Publications Co. We welcome reader comments about anything in the manuscript - other than typos and other simple mistakes. These will be cleaned up during production of the book by copyeditors and proofreaders. https://forums.manning.com/forums/web-components-in-action welcome Thank you very much for purchasing the MEAP for Web Components in Action. I’ve been speaking and blogging for over a decade now, and the common thread throughout has been that there hasn’t really been a common thread. I get excited about new technologies and techniques, but ultimately move to the next new thing. Web Components have been a bit different for me. I spoke at a few conferences and wrote some blog posts about them, and I did move on to other new and exciting things, but the difference here is that I never stopped building with Web Components. They’ve been a staple of my web development workflow for four years now. Like many web developers, I too have cycled through many frameworks and libraries that help with application development. Most we really good! It’s easy to laugh at a three or four year old framework years later, but it’s been very interesting to see how we as web developers progress as we try to make better and better applications with better and better tools. I’ve also been fortunate enough to use many other programming languages and platforms as well.
    [Show full text]
  • Chapter 10 Document Object Model and Dynamic HTML
    Chapter 10 Document Object Model and Dynamic HTML The term Dynamic HTML, often abbreviated as DHTML, refers to the technique of making Web pages dynamic by client-side scripting to manipulate the document content and presen- tation. Web pages can be made more lively, dynamic, or interactive by DHTML techniques. With DHTML you can prescribe actions triggered by browser events to make the page more lively and responsive. Such actions may alter the content and appearance of any parts of the page. The changes are fast and e±cient because they are made by the browser without having to network with any servers. Typically the client-side scripting is written in Javascript which is being standardized. Chapter 9 already introduced Javascript and basic techniques for making Web pages dynamic. Contrary to what the name may suggest, DHTML is not a markup language or a software tool. It is a technique to make dynamic Web pages via client-side programming. In the past, DHTML relies on browser/vendor speci¯c features to work. Making such pages work for all browsers requires much e®ort, testing, and unnecessarily long programs. Standardization e®orts at W3C and elsewhere are making it possible to write standard- based DHTML that work for all compliant browsers. Standard-based DHTML involves three aspects: 447 448 CHAPTER 10. DOCUMENT OBJECT MODEL AND DYNAMIC HTML Figure 10.1: DOM Compliant Browser Browser Javascript DOM API XHTML Document 1. Javascript|for cross-browser scripting (Chapter 9) 2. Cascading Style Sheets (CSS)|for style and presentation control (Chapter 6) 3. Document Object Model (DOM)|for a uniform programming interface to access and manipulate the Web page as a document When these three aspects are combined, you get the ability to program changes in Web pages in reaction to user or browser generated events, and therefore to make HTML pages more dynamic.
    [Show full text]
  • 473335 1 En Bookfrontmatter 1..29
    Advances in Intelligent Systems and Computing Volume 931 Series Editor Janusz Kacprzyk, Systems Research Institute, Polish Academy of Sciences, Warsaw, Poland Advisory Editors Nikhil R. Pal, Indian Statistical Institute, Kolkata, India Rafael Bello Perez, Faculty of Mathematics, Physics and Computing, Universidad Central de Las Villas, Santa Clara, Cuba Emilio S. Corchado, University of Salamanca, Salamanca, Spain Hani Hagras, Electronic Engineering, University of Essex, Colchester, UK László T. Kóczy, Department of Automation, Széchenyi István University, Gyor, Hungary Vladik Kreinovich, Department of Computer Science, University of Texas at El Paso, El Paso, TX, USA Chin-Teng Lin, Department of Electrical Engineering, National Chiao Tung University, Hsinchu, Taiwan Jie Lu, Faculty of Engineering and Information Technology, University of Technology Sydney, Sydney, NSW, Australia Patricia Melin, Graduate Program of Computer Science, Tijuana Institute of Technology, Tijuana, Mexico Nadia Nedjah, Department of Electronics Engineering, University of Rio de Janeiro, Rio de Janeiro, Brazil Ngoc Thanh Nguyen, Faculty of Computer Science and Management, Wrocław University of Technology, Wrocław, Poland Jun Wang, Department of Mechanical and Automation Engineering, The Chinese University of Hong Kong, Shatin, Hong Kong The series “Advances in Intelligent Systems and Computing” contains publications on theory, applications, and design methods of Intelligent Systems and Intelligent Computing. Virtually all disciplines such as engineering, natural
    [Show full text]
  • A Trusted Infrastructure for Symbolic Analysis of Event-Driven Web
    A Trusted Infrastructure for Symbolic Analysis of Event-Driven Web Applications Gabriela Sampaio Imperial College London, UK [email protected] José Fragoso Santos INESC-ID/Instituto Superior Técnico, Universidade de Lisboa, Portugal Imperial College London, UK [email protected] Petar Maksimović Imperial College London, UK [email protected] Philippa Gardner Imperial College London, UK [email protected] Abstract We introduce a trusted infrastructure for the symbolic analysis of modern event-driven Web applica- tions. This infrastructure consists of reference implementations of the DOM Core Level 1, DOM UI Events, JavaScript Promises and the JavaScript async/await APIs, all underpinned by a simple Core Event Semantics which is sufficiently expressive to describe the event models underlying these APIs. Our reference implementations are trustworthy in that three follow the appropriate standards line-by-line and all are thoroughly tested against the official test-suites, passing all the applicable tests. Using the Core Event Semantics and the reference implementations, we develop JaVerT.Click, a symbolic execution tool for JavaScript that, for the first time, supports reasoning about JavaScript programs that use multiple event-related APIs. We demonstrate the viability of JaVerT.Click by proving both the presence and absence of bugs in real-world JavaScript code. 2012 ACM Subject Classification Software and its engineering → Formal software verification; Software and its engineering → Software testing and debugging Keywords and phrases Events, DOM, JavaScript, promises, symbolic execution, bug-finding Digital Object Identifier 10.4230/LIPIcs.ECOOP.2020.28 Acknowledgements Fragoso Santos, Gardner, and Maksimović were partially supported by the EPSRC Programme Grant ‘REMS: Rigorous Engineering for Mainstream Systems’ (EP/K008528/1) and the EPSRC Fellowship ‘VetSpec: Verified Trustworthy Software Specification’ (EP/R034567/1).
    [Show full text]
  • Web Browser Access to Cryptographic Hardware
    Universidade do Minho Escola de Engenharia Leonel João Fernandes Braga Web Browser Access to Cryptographic Hardware Outubro de 2012 Universidade do Minho Escola de Engenharia Leonel João Fernandes Braga Web Browser Access to Cryptographic Harware Tese de Mestrado Mestrado em Engenharia Informática Trabalho realizado sob orientação de Doutor Vítor Francisco Fonte Supervisão na empresa de Engenheiro Renato Portela Outubro de 2012 Acknowledgments I could not conclude this work without acknowledge all the support, time, and understanding of all the people who have been around me during this phase and during my journey of life. I am sure that without them everything would be much more difficult, and the success would be harder to achieve. First of all, I want to thank to my supervisor Professor Victor Fonte for being so helpful and supportive. His guidance certainly improved my work and my knowledge as well. I want also to thank to Engenheiro Renato Portela from MULTICERT for enlightening me when I was more doubtful. A special thanks to MULTICERT for letting me enrol in this project: it made me grow professionally and enhanced my knowledge. I want also to thank the Firebreath community for clarifying all the doubts I had. Congrat- ulations for your great work as well. In this context, there is one person to whom I could not be more grateful: Pedro, thank you for your help and patience, even when I had lots of questions. I am also grateful for the discussions I had with Pedro and Ulisses: they gave me lots of ideas of how I could improve my work.
    [Show full text]
  • BENEFITS and PITFALLS of USING HTML5 APIS for ONLINE EXPERIMENTS and SIMULATIONS Benefits and Pitfalls of Using HTML5 Apis for Online Experiments and Simulations
    SPECIAL FOCUS PAPER BENEFITS AND PITFALLS OF USING HTML5 APIS FOR ONLINE EXPERIMENTS AND SIMULATIONS Benefits and Pitfalls of Using HTML5 APIs for Online Experiments and Simulations http://dx.doi.org/10.3991/ijoe.v8iS3.22541 P. Garaizar, M.A. Vadillo and D. López-de-Ipiña University of Deusto, Bilbao, Spain. Abstract—The most recent advances in the architecture of benefits and pitfalls of using them regarding online the Web allow using it as an excellent platform to deliver experimentation and simulations. experiments and simulations over the Internet. However, there are still some challenges related to the animations’ II. ANIMATIONS accuracy, to user input collection or to real-time communications that have to be accomplished to properly There are several technologies and APIs related to the port native application- based experiments and simulations HTML5 standard that can be used to generate animations. to the Web. The limitations of the standards preceding Some of them are part of the HTML5 specification (e.g., HTML5 have forced web developers to embed non-HTML Canvas 2D API [5]), and some others are defined in objects using a wide range of non-standard plugins and different specifications (e.g., WebGL [6]). Although this causing an extremely fragmented execution environment distinction is clear, many web browser vendors (i.e., where features must be implemented several times in Microsoft, Apple, Google, Mozilla, Opera) usually refer to different programming languages to guarantee full all of them as HTML5-related technologies, and so we do compliance with every user-agent. As HTML5 provides a in the rest of this paper.
    [Show full text]
  • 2018 Webist Lnbip (20)
    Client-Side Cornucopia: Comparing the Built-In Application Architecture Models in the Web Browser Antero Taivalsaari1, Tommi Mikkonen2, Cesare Pautasso3, and Kari Syst¨a4, 1Nokia Bell Labs, Tampere, Finland 2University of Helsinki, Helsinki, Finland 3University of Lugano, Lugano, Swizerland 4Tampere University, Tampere, Finland [email protected], [email protected], [email protected], [email protected] Abstract. The programming capabilities of the Web can be viewed as an afterthought, designed originally by non-programmers for relatively simple scripting tasks. This has resulted in cornucopia of partially over- lapping options for building applications. Depending on one's viewpoint, a generic standards-compatible web browser supports three, four or five built-in application rendering and programming models. In this paper, we give an overview and comparison of these built-in client-side web ap- plication architectures in light of the established software engineering principles. We also reflect on our earlier work in this area, and provide an expanded discussion of the current situation. In conclusion, while the dominance of the base HTML/CSS/JS technologies cannot be ignored, we expect Web Components and WebGL to gain more popularity as the world moves towards increasingly complex web applications, including systems supporting virtual and augmented reality. Keywords|Web programming, single page web applications, web com- ponents, web application architectures, rendering engines, web rendering, web browser 1 Introduction The World Wide Web has become such an integral part of our lives that it is often forgotten that the Web has existed only about thirty years. The original design sketches related to the World Wide Web date back to the late 1980s.
    [Show full text]