Enabling the Immersive 3D Web with COLLADA & Webgl Introduction

Total Page:16

File Type:pdf, Size:1020Kb

Enabling the Immersive 3D Web with COLLADA & Webgl Introduction Enabling the Immersive 3D Web with COLLADA & WebGL Rita Turkowski – June 30, 2010 Introduction The web is built on standard document formats (HTML, XML, CSS) and standard communication protocols (HTTP, TCP/IP), gaining momentum by the principle and power of the hyperlink (URL / URI)(1). Browsers and servers implementing those standards have revolutionized publishing and searching. Not only can documents be linked by other documents, but since the data is provided in a standard open language it also provides the ability to link to specific content inside a document, enabling the rich navigation and search functionalities that we take for granted today. Two standard technologies developed by the Khronos Group(2), WebGL and COLLADA, are opening the way for enhancing the web experience into the third dimension (3D) of imaging. Thanks to this work, 3D applications can now take advantage of the fundamentals of the web while natively exploiting 3D graphics hardware acceleration. This white paper describes both Khronos standards at an abstract level and the evolution of an ecosystem that will enable immersive 3D Web applications to evolve from currently disparate implementations (i.e. “walled gardens” or “silos”) to become standard web publishing accessible natively in a web browser. What is WebGL? WebGL(3) is a low-level JavaScript API enabling web applications to take advantage of 3D graphics hardware acceleration in a standard way. Currently the only way to provide interactive display of appreciable quality 3D content in a web browser is to create a separate application loaded as a plug-in. Plug-ins are problematic as they require end-user installation which is not transparent, placing a burden on the end-user, and are frequently forbidden by companies security guidelines, impeding the general adoption of 3D content. Consequently, this current situation fosters an ecosystem of "walled garden" communities as opposed to a World Wide Web experience where each user can publish, access, and search content. In contrast, the WebGL standard will provide native access to the graphics hardware by extending the HTML specifications with a new set of objects and functions for 3D graphics. The contribution of this new API is twofold: firstly it removes the need for external plug- ins installation, thus widening and accelerating its adoption, and, secondly, it allows web application developers to rely on a standard that boasts a very large community of qualified 3D professionals. In fact, WebGL is directly derived from the OpenGL ES 2.0 specifications to be a bare-bones yet extremely efficient and powerful graphics API. In this scenario, users of WebGL-enabled browsers, such as Apple Safari, Google Chrome, Mozilla Firefox, Opera and mobile solutions by Nokia, will benefit from the 1 richness of newly created applications such as 3D virtual worlds directly from the browser. Technically speaking, WebGL is an extension to the HTMLCanvasElement (as defined by the W3C’s WHATWG HTML 5 specification Canvas element(4)), being specified and standardized by the Khronos Group. The HTML CanvasElement represents an element on the page into which graphic images can be rendered using a programmatic interface. The only interface currently standardized by the W3C is the CanvasRenderingContext2D. The Khronos WebGL specification describes another interface, WebGLRenderingContext, which faithfully exposes OpenGL ES 2.0 functionalities. WebGL brings OpenGL ES 2.0 to the web by providing a 3D drawing context to the familiar HTML5 Canvas element through JavaScript objects that offer the same level of functionality. What is COLLADA? COLLADA(5) is an intermediate language for interactive 3D applications. It has been designed from the ground-up with well-settled web technologies: it is essentially XML for 3D assets, using URLs for linking content. COLLADA enables content to flow from content creation tools to interactive applications; it is a lossless, extensible declarative language well suited for content (persistent) serialization and retrieval. The content can then be processed with standard tools in its native XML encoding and adapted to any target application. COLLADA is also being used as an interchange format, providing a bridge between authoring applications. Because COLLADA is a royalty-free open standard based on standard XML technology, its use as a publishing format has been steadily growing with its adoption by Google Earth(6) and other GIS applications, web 3D engines such as Papervision3D(7), Google O3D(8) and asset repository systems such as 3DVIA(9) and Google 3D warehouse(10). Motivation for WebGL The inclusion of native 3D rendering capabilities inside web browsers, as witnessed by the interest and participation in the Khronos Group's WebGL(3) project, aims at simplifying the development of 3D for the web. It does this by eliminating the need to create a 3D web plug-in (and requiring a non-trivial end-user download with manual installation before any 3D content can be viewed by the end-user). WebGL benefits by harnessing the widely used standard OpenGL ES 2.0 API directly. Some background is useful here. Many graphics programmers today leverage the OpenGL family of APIs that are supported by a number of hardware drivers. OpenGL ES is increasingly found on a number of devices (e.g., 3D games for the iPhone are supported via OpenGL ES). Therefore driver support is already good, and likely to continue to improve over time. In fact, OpenGL ES 2.0 will work on the desktop though not natively supported by desktop drivers. It can be implemented on top of desktop OpenGL with some care but you need to impose the appropriate restrictions. Google 2 explicitly created project ANGLE(11) which implements a compliant OpenGL ES 2.0 API on top of Microsoft’s D3D9 that browsers will most commonly use on Windows(12). The Khronos WebGL Working Group is motivated to specify how to bring hardware- accelerated 3D graphics to the web for a number of reasons: JavaScript performance has radically improved. JavaScript is the "defacto" programming language of the web. Many interesting applications are web applications. Cloud based application development is growing. New capabilities on the web should solve for the widest use case. For example, libraries such as jQuery and Dojo provide programmer-facing abstractions and syntactic help, so that developers rarely need to use the underlying "raw" primitives. Likewise, by providing a Shader-based API like OpenGL ES 2.0 within WebGL, Khronos is solving for the widest possible number of use cases, leaving room for new libraries to do many things, including model parsing, etc. This provides a technical infrastructure that benefits both business models and academic research models. Motivation for COLLADA The burden COLLADA set out to alleviate is that 3D environments are difficult, expensive and time-consuming to create and manage. Content creation represents by far the largest budget in the cost of creating 3D applications. The more that existing content and code for models, shading, animation, special effects, physics etc., can be shared and syndicated, the more efficiently production pipelines can be made available. For instance, as virtual goods are a growing business model for the game industry, and increasingly end-users aspire to evolve from consumers to creators and publishers of (their own) content, COLLADA’s popularity is growing as an asset exchange and publishing format. Many 3D web applications that are being developed with WebGL are leveraging this trend of content reuse and taking advantage of COLLADA. Taking advantage of COLLADA and WebGL WebGL provides native low-level 3D graphics hardware acceleration for JavaScript and is directly accessible within standard web browsers. COLLADA provides XML-encoded content that WebGL applications can use directly. Neither WebGL nor COLLADA specify how the web application should use the content; both are providing complementary technologies that a JavaScript web application can leverage, and both are, by design, not forcing a specific visual representation. Likewise neither enforces a specific usage of the content or graphic hardware. This is the key for enabling innovation and remaining future-proof. What makes COLLADA such a good fit for web-based applications is its inherent use of web technologies. This makes it appealing to WebGL developers. COLLADA is using 3 web technology for its syntax (XML) and makes direct use of resource identifiers (URI) to query server databases. As such, COLLADA is structurally a compliant citizen in the WWW scenario. In this particular case (web delivery), as for most other applications (e.g., native games) an encoding specific to the application is necessary. Conditioning can be done COLLADA-in, COLLADA-out for web content. In this context, standard XML tools (such as Ant and XSLT) can be used to process COLLADA .dae XML documents exported by popular DCC tools to create files that can then be easily imported into interactive applications. This explains why COLLADA is widely used on the web today and relied upon by the web’s 3D content repositories, e.g., Google Warehouse, 3DVIA, Daz3D and others. Note that there is a significant trend to move computation into the digital cloud(13), which means that some (or all) of the content pipeline could be moved into the cloud, changing the balance of delivery versus authoring (specifically in the case of the web). Consequently, operators will most likely be interested in compression and streaming technology after 3D content bandwidth usage grows significantly.1 This said, there is no formal web based approach between WebGL and COLLADA. Work needs to be done outside of implementing both specifications to realize COLLADA content in a WebGL enabled browser. WebGL is a low-level, immediate mode graphics API with little concept of even higher level visual scene elements such as hierarchical transforms, shapes, instancing, and materials etc. that are central to COLLADA. Therefore, in order to connect these two, some sort of transformation or glue code must be implemented, albeit a retained mode rendering engine in its most simple form.
Recommended publications
  • Differential Fuzzing the Webassembly
    Master’s Programme in Security and Cloud Computing Differential Fuzzing the WebAssembly Master’s Thesis Gilang Mentari Hamidy MASTER’S THESIS Aalto University - EURECOM MASTER’STHESIS 2020 Differential Fuzzing the WebAssembly Fuzzing Différentiel le WebAssembly Gilang Mentari Hamidy This thesis is a public document and does not contain any confidential information. Cette thèse est un document public et ne contient aucun information confidentielle. Thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Technology. Antibes, 27 July 2020 Supervisor: Prof. Davide Balzarotti, EURECOM Co-Supervisor: Prof. Jan-Erik Ekberg, Aalto University Copyright © 2020 Gilang Mentari Hamidy Aalto University - School of Science EURECOM Master’s Programme in Security and Cloud Computing Abstract Author Gilang Mentari Hamidy Title Differential Fuzzing the WebAssembly School School of Science Degree programme Master of Science Major Security and Cloud Computing (SECCLO) Code SCI3084 Supervisor Prof. Davide Balzarotti, EURECOM Prof. Jan-Erik Ekberg, Aalto University Level Master’s thesis Date 27 July 2020 Pages 133 Language English Abstract WebAssembly, colloquially known as Wasm, is a specification for an intermediate representation that is suitable for the web environment, particularly in the client-side. It provides a machine abstraction and hardware-agnostic instruction sets, where a high-level programming language can target the compilation to the Wasm instead of specific hardware architecture. The JavaScript engine implements the Wasm specification and recompiles the Wasm instruction to the target machine instruction where the program is executed. Technically, Wasm is similar to a popular virtual machine bytecode, such as Java Virtual Machine (JVM) or Microsoft Intermediate Language (MSIL).
    [Show full text]
  • Dynamic Web Pages with the Embedded Web Server
    Dynamic Web Pages With The Embedded Web Server The Digi-Geek’s AJAX Workbook (NET+OS, XML, & JavaScript) Version 1.0 5/4/2011 Page 1 Copyright Digi International, 2011 Table of Contents Chapter 1 - How to Use this Guide ............................................................................................................... 5 Prerequisites – If You Can Ping, You Can Use This Thing! ..................................................................... 5 Getting Help with TCP/IP and Wi-Fi Setup ............................................................................................ 5 The Study Guide or the Short Cut? ....................................................................................................... 5 C Code ................................................................................................................................................... 6 HTML Code ............................................................................................................................................ 6 XML File ................................................................................................................................................. 6 Provide us with Your Feedback ............................................................................................................. 6 Chapter 2 - The Server-Client Relationship ................................................................................................... 7 Example – An Analogy for a Normal HTML page .................................................................................
    [Show full text]
  • Attacking AJAX Web Applications Vulns 2.0 for Web 2.0
    Attacking AJAX Web Applications Vulns 2.0 for Web 2.0 Alex Stamos Zane Lackey [email protected] [email protected] Blackhat Japan October 5, 2006 Information Security Partners, LLC iSECPartners.com Information Security Partners, LLC www.isecpartners.com Agenda • Introduction – Who are we? – Why care about AJAX? • How does AJAX change Web Attacks? • AJAX Background and Technologies • Attacks Against AJAX – Discovery and Method Manipulation – XSS – Cross-Site Request Forgery • Security of Popular Frameworks – Microsoft ATLAS – Google GWT –Java DWR • Q&A 2 Information Security Partners, LLC www.isecpartners.com Introduction • Who are we? – Consultants for iSEC Partners – Application security consultants and researchers – Based in San Francisco • Why listen to this talk? – New technologies are making web app security much more complicated • This is obvious to anybody who reads the paper – MySpace – Yahoo – Worming of XSS – Our Goals for what you should walk away with: • Basic understanding of AJAX and different AJAX technologies • Knowledge of how AJAX changes web attacks • In-depth knowledge on XSS and XSRF in AJAX • An opinion on whether you can trust your AJAX framework to “take care of security” 3 Information Security Partners, LLC www.isecpartners.com Shameless Plug Slide • Special Thanks to: – Scott Stender, Jesse Burns, and Brad Hill of iSEC Partners – Amit Klein and Jeremiah Grossman for doing great work in this area – Rich Cannings at Google • Books by iSECer Himanshu Dwivedi – Securing Storage – Hackers’ Challenge 3 • We are
    [Show full text]
  • Agisoft Photoscan User Manual Standard Edition, Version 1.3 Agisoft Photoscan User Manual: Standard Edition, Version 1.3
    Agisoft PhotoScan User Manual Standard Edition, Version 1.3 Agisoft PhotoScan User Manual: Standard Edition, Version 1.3 Publication date 2017 Copyright © 2017 Agisoft LLC Table of Contents Overview ......................................................................................................................... iv How it works ............................................................................................................ iv About the manual ...................................................................................................... iv 1. Installation and Activation ................................................................................................ 1 System requirements ................................................................................................... 1 GPU acceleration ........................................................................................................ 1 Installation procedure .................................................................................................. 2 Restrictions of the Demo mode ..................................................................................... 2 Activation procedure ................................................................................................... 3 2. Capturing photos ............................................................................................................ 4 Equipment ................................................................................................................
    [Show full text]
  • N Polys Advanced X3D [Autosaved]
    Web3D 2011 Tutorial: Advanced X3D Nicholas Polys: Virginia Tech Yvonne Jung: Fraunhofer IGD Jeff Weekly, Don Brutzman: Naval Postgraduate School Tutorial Outline Recent work in the Web3D Consortium Heading to ISO this month! • X3D : Advanced Features • X3D Basics • Advanced rendering (Yvonne Jung) • Volumes • Geospatial • CAD • Units (Jeff Weekly) • Authoring 2 Open Standards www.web3d.org • Portability • Durability • IP-independence • International recognition and support : the Standard Scenegraph Scene graph for real-time interactive delivery of virtual environments over the web: • Meshes, lights, materials, textures, shaders • Integrated video, audio Event ROUTE • Animation • Interaction • Scripts & Behaviors Sensor • Multiple encodings (ISO = XML, VRML-Classic, Binary) • Multiple Application Programming Interfaces (ISO = ECMA, Java) • X3D 3.3 includes examples for Volume rendering, CAD and Geospatial support! Web3D Collaboration & Convergence W3C ISO OGC - XML - Web3DS - HTML 5 -CityGML - SVG - KML Interoperability Web3D Consortium IETF & Access - Mime types Across Verticals - Extensible 3D (X3D) - Humanoid Animation (H-Anim) - VRML DICOM - N-D Presentation State - DIS - Volume data Khronos - OpenGL, WebGL - COLLADA Adoption Immersive X3D • Virginia Tech Visionarium: VisCube • Multi-screen, clustered stereo rendering • 1920x1920 pixels per wall (x 4) • Infitech Stereo • Wireless Intersense head & wand • Instant Reality 7 VT Visionarium • Output from VMD • Jory Z. Ruscio, Deept Kumar, Maulik Shukla, Michael G. Prisant, T. M. Murali,
    [Show full text]
  • Visualisation and Generalisation of 3D City Models
    Visualisation and Generalisation of 3D City Models Bo Mao August 2010 TRITA SoM 2010-08 ISSN 1653-6126 ISRN KTH/SoM/-10/08/-SE ISBN 978-91-7415-715-4 © Bo Mao 2010 Licentiate Thesis Geoinformatics Division Department of Urban Planning and Environment Royal Institute of Technology (KTH) SE-100 44 STOCKHOLM, Sweden ii Abstract 3D city models have been widely used in different applications such as urban planning, traffic control, disaster management etc. Effective visualisation of 3D city models in various scales is one of the pivotal techniques to implement these applications. In this thesis, a framework is proposed to visualise the 3D city models both online and offline using City Geography Makeup Language (CityGML) and Extensible 3D (X3D) to represent and present the models. Then, generalisation methods are studied and tailored to create 3D city scenes in multi- scale dynamically. Finally, the quality of generalised 3D city models is evaluated by measuring the visual similarity from the original models. In the proposed visualisation framework, 3D city models are stored in CityGML format which supports both geometric and semantic information. These CityGML files are parsed to create 3D scenes and be visualised with existing 3D standard. Because the input and output in the framework are all standardised, it is possible to integrate city models from different sources and visualise them through the different viewers. Considering the complexity of the city objects, generalisation methods are studied to simplify the city models and increase the visualisation efficiency. In this thesis, the aggregation and typification methods are improved to simplify the 3D city models.
    [Show full text]
  • WEB-BASED ANNOTATION and COLLABORATION Electronic Document Annotation Using a Standards-Compliant Web Browser
    WEB-BASED ANNOTATION AND COLLABORATION Electronic Document Annotation Using a Standards-compliant Web Browser Trev Harmon School of Technology, Brigham Young University, 265 CTB, Provo, Utah, USA Keywords: Annotation, collaboration, web-based, e-learning. Abstract: The Internet provides a powerful medium for communication and collaboration through web-based applications. However, most web-based annotation and collaboration applications require additional software, such as applets, plug-ins, and extensions, in order to work correctly with the web browsers typically found on today’s computers. This in combination with the ever-growing number of file formats poses an obstacle to the wide-scale deployment of annotation and collaboration systems across the heterogeneous networks common in the academic and corporate worlds. In order to address these issues, a web-based system was developed that allows for freeform (handwritten) and typed annotation of over twenty common file formats via a standards-compliant web browser without the need of additional software. The system also provides a multi-tiered security architecture that allows authors control over who has access to read and annotate their documents. While initially designed for use in academia, flexibility within the system allows it to be used for many annotation and collaborative tasks such as distance-learning, collaborative projects, online discussion and bulletin boards, graphical wikis, and electronic grading. The open-source nature of the system provides the opportunity for its continued development and extension. 1 INTRODUCTION did not foresee the broad spectrum of uses expected of their technologies by today’s users. While serving While the telegraph and telephone may have cracked this useful purpose, such add-on software can open the door of instantaneous, worldwide become problematic in some circumstances because communication, the Internet has flung it wide open.
    [Show full text]
  • Michał Domański Curriculum Vitae / Portfolio
    Michał Domański Curriculum Vitae / Portfolio date of birth: 09-03-1986 e-mail: [email protected] address: ul. Kabacki Dukt 8/141 tel. +48 608 629 046 02-798 Warsaw Skype: rein4ce Poland I am fascinated by the world of science, programming, I love experimenting with the latest technologies, I have a great interest in virtual reality, robotics and military. Most of all I value the pursuit of professionalism, continuous education and expanding one's skill set. Education 2009 - till now Polish Japanese Institute of Information Technology Computer Science - undergraduate studies, currently 4th semester 2004 - 2009 Cracow University of Technology Master of Science in Architecture and Urbanism - graduated 2000 - 2004 Romuald Traugutt High School in Częstochowa mathematics, physics, computer-science profile Skills Advanced level Average level Software C++ (10 years), MFC Java, J2ME Windows 98, XP, Windows 7 C# .NET 3.5 (3 years) DirectX, MDX SketchUP OpenGL BASCOM AutoCAD Actionscript/Flex MS SQL, Oracle Visual Studio 2008, MSVC 6.0 WPF Eclipse HTML/CSS Flex Builder Photoshop CS2 Addtional skills: Good understanding of design patterns and ability to work with complex projects Strong problem solving skills Excellent work organisation and teamwork coordination Eagerness to learn any new technology Languages: Polish, English (proficiency), German (basic) Ever since I can remember my interests lied in computers. Through many years of self-education and studying many projects I have gained insight and experience in designing and programming professional level software. I did an extensive research in the game programming domain, analyzing game engines such as Quake, Half-Life and Source Engine, through which I have learned how to structure and develop efficient systems while implementing best industry-standard practices.
    [Show full text]
  • Document Object Model
    Document Object Model CITS3403: Agile Web Development Semester 1, 2021 Introduction • We’ve seen JavaScript core – provides a general scripting language – but why is it so useful for the web? • Client-side JavaScript adds collection of objects, methods and properties that allow scripts to interact with HTML documents dynamic documents client-side programming • This is done by bindings to the Document Object Model (DOM) – “The Document Object Model is a platform- and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents.” – “The document can be further processed and the results of that processing can be incorporated back into the presented page.” • DOM specifications describe an abstract model of a document – API between HTML document and program – Interfaces describe methods and properties – Different languages will bind the interfaces to specific implementations – Data are represented as properties and operations as methods • https://www.w3schools.com/js/js_htmldom.asp The DOM Tree • DOM API describes a tree structure – reflects the hierarchy in the XTML document – example... <html xmlns = "http://www.w3.org/1999/xhtml"> <head> <title> A simple document </title> </head> <body> <table> <tr> <th>Breakfast</th> <td>0</td> <td>1</td> </tr> <tr> <th>Lunch</th> <td>1</td> <td>0</td> </tr> </table> </body> </html> Execution Environment • The DOM tree also includes nodes for the execution environment in a browser • Window object represents the window displaying a document – All properties are visible to all scripts – Global variables are properties of the Window object • Document object represents the HTML document displayed – Accessed through document property of Window – Property arrays for forms, links, images, anchors, … • The Browser Object Model is sometimes used to refer to bindings to the browser, not specific to the current page (document) being rendered.
    [Show full text]
  • Webgl™ Optimizations for Mobile
    WebGL™ Optimizations for Mobile Lorenzo Dal Col Senior Software Engineer, ARM 1 Agenda 1. Introduction to WebGL™ on mobile . Rendering Pipeline . Locate the bottleneck 2. Performance analysis and debugging tools for WebGL . Generic optimization tips 3. PlayCanvas experience . WebGL Inspector 4. Use case: PlayCanvas Swooop . ARM® DS-5 Streamline . ARM Mali™ Graphics Debugger 5. Q & A 2 Bring the Power of OpenGL® ES to Mobile Browsers What is WebGL™? Why WebGL? . A cross-platform, royalty free web . It brings plug-in free 3D to the web, standard implemented right into the browser. Low-level 3D graphics API . Major browser vendors are members of . Based on OpenGL® ES 2.0 the WebGL Working Group: . A shader based API using GLSL . Apple (Safari® browser) . Mozilla (Firefox® browser) (OpenGL Shading Language) . Google (Chrome™ browser) . Opera (Opera™ browser) . Some concessions made to JavaScript™ (memory management) 3 Introduction to WebGL™ . How does it fit in a web browser? . You use JavaScript™ to control it. Your JavaScript is embedded in HTML5 and uses its Canvas element to draw on. What do you need to start creating graphics? . Obtain WebGLrenderingContext object for a given HTMLCanvasElement. It creates a drawing buffer into which the API calls are rendered. For example: var canvas = document.getElementById('canvas1'); var gl = canvas.getContext('webgl'); canvas.width = newWidth; canvas.height = newHeight; gl.viewport(0, 0, canvas.width, canvas.height); 4 WebGL™ Stack What is happening when a WebGL page is loaded . User enters URL . HTTP stack requests the HTML page Browser . Additional requests will be necessary to get Space User JavaScript™ code and other resources WebKit JavaScript Engine .
    [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]
  • Apps Vs. Open Web: the Battle of the Decade
    Apps vs. Open Web: The Battle of the Decade Tommi Mikkonen Antero Taivalsaari Department of Software Systems Advanced Development & Technology Tampere University of Technology Nokia Corporation Tampere, Finland Tampere, Finland [email protected] [email protected] Abstract—Today, both desktop and mobile software systems In this paper, we anticipate that in the 2010’s we will are usually built to leverage resources available on the World witness a major battle between two types of technologies: (1) Wide Web. However, in recent years desktop and mobile native web apps and (2) Open Web applications that run in a software have evolved in different directions. On desktop web browser or some other standards-compliant web runtime computers, the most popular application for accessing content environment. The former approach implies the use of binary and applications on the Web is the web browser. In mobile software and traditional software engineering practices, devices, in contrast, the majority of web content is consumed while the latter approach implies that conventional software via custom-built native web apps. This divergence will not engineering methods and practices will be replaced by continue indefinitely. We anticipate that in the 2010’s we will technologies created for web development. This “Battle of witness a major battle between two types of technologies: (1) the Decade”, as we call it, will determine not only the future native web apps and (2) Open Web applications that run in a web browser or some other standards-compliant web runtime of the software industry, but the future of software environment. This ―Battle of the Decade‖ will determine the engineering research as well.
    [Show full text]