Cross Platform Communication Apps

Total Page:16

File Type:pdf, Size:1020Kb

Cross Platform Communication Apps Copyright © IEEE, 2016. This is the author's copy of a paper that appears in an IEEE conference proceeding. Please cite as follows: K. Singh and J. Buford, "Developing WebRTC-based team apps with a cross-platform mobile framework", In proceedings of IEEE Consumer Communications and Networking Conference (CCNC), Las Vegas, NV, USA, Jan 2016. Developing WebRTC-based Team Apps with a Cross-Platform Mobile Framework Kundan Singh John Buford Avaya Labs Research Avaya Labs Research Santa Clara, CA, USA Basking Ridge, NJ, USA [email protected] [email protected] Abstract—We present lessons learned in developing cross described in other studies for: real-time multi-party streaming platform multi-party team applications. Our apps include a of video using WebRTC, real-time notifications, e.g., using range of communication and collaboration scenarios: document WebSocket, secure access to cloud services, and apps and content sharing in a team space, an agent-based meeting interoperability with browser-based and desktop versions. We helper, phone number dialer via a voice-over-IP (VoIP) gateway, address challenges including and beyond these requirements. and multi-party call in peer-to-peer or client-server mode. We use web real-time communication (WebRTC) to enable the audio These apps include: (1) a team collaboration app for and video media paths in the apps. We use frameworks such as persistent sharing of content with escalation to real-time voice, Chrome Apps and Apache Cordova to create apps that can be video or app sharing, (2) a web-based video call/conference accessed from a browser, or installed on a desktop, mobile service that runs all the app logic in the endpoint, (3) a meeting device, or wearable. The challenges and techniques described in helper agent which joins the conference bridge during a our paper related to audio, video, network, power conservation meeting, automatically creates the meeting summary at the and security are important to other developers building cross- end, and sends it to the participants, (4) three softphones using platform apps involving WebRTC, VoIP and cloud services. Voice-over IP (VoIP) services for small or large businesses, and (5) a serverless video phone using local network multicast. Keywords—HTML5, Apache Cordova, Chrome Apps, WebRTC, Mobile, Cloud, Wearable Our work answers these questions important to those who are developing with or evaluating tools for cross-platform I. INTRODUCTION mobile app development: (1) how to best realize write-once- Team apps have features that require multi-way media run-anywhere for apps that leverage features common to team streaming, multipoint notifications, resource sharing, use of apps, and (2) what are important takeaways from our range of cloud services, security, and operation on a range of devices. apps’ development experience to help existing and new app Underlying technologies used to implement these features such developers. We list several challenges and techniques related to as WebRTC and client-side certificates have inconsistent audio, video, network, power conservation and security. support, particularly across mobile platforms. The capabilities Remainder of this paper is organized as follows. Section II are also important for mobile app developers in categories contains related work on hybrid apps and WebRTC. Section III including gaming, social networking, healthcare and education. describes the apps under consideration. Sections IV and V Due to the plethora of devices, app developers prefer cross- describe the cross platform development process including for platform development with a write-once run-anywhere model. wearable. Sections VI to VIII have our lessons learned on Prior studies have shown that cross-platform development tools HTML5, WebRTC and mobile apps. Section IX describes for mobile offer the economies of write-once run anywhere but power conservation and security of notifications. Section X has are challenging in terms of creating a native user experience our conclusions and future work. (UX) or using device specific capabilities and advanced browser-specific features. However, prior work does not cover II. RELATED WORK AND BACKGROUND the technologies important to team collaboration apps. The leading mobile application stores, Google Play and iOS App Store, each have more than 1M mobile apps [7]. We have developed a set of cross-platform applications Powerful cross-platform mobile app development frameworks using the Apache Cordova (PhoneGap) [1] hybrid app [8] have emerged so that developers can produce hybrid native development framework. These applications are implemented applications from HTML5 – PhoneGap (Apache Cordova) and in HTML5 and typically use cloud services from our self- Sencha Touch – or cross-platform tools and SDKs, such as service cloud portal [2][3], including WebRTC (web real-time Adobe AIR, MoSync, Appcelerator, and Corona. communication) [4] and WebSocket [5][6]. Malavolta et al. [9] study user perception of cross-platform In this paper we discuss challenges and lessons for cross- mobile apps by mining 3M reviews of 11,917 free apps from platform development relevant to classes of apps that involve the Google Play Store. Of the 11K apps, about 500 were real-time communication and cloud-based services. The apps developed with cross-platform mobile frameworks, and more that we describe have important requirements beyond those than 50% of these with Apache Cordova [1]. Their results show that cross-platform development is most frequently used for data intensive apps and least used for apps with platform Camera Mi Web <video/> interaction, e.g., games and audio. They conclude that hybrid getUserMedia Server Play development frameworks are perceived as better suited for Publish #1 #1 RTCPeer RTCPeer data-intensive mobile apps than for dealing with low-level, Connection Connection platform-specific features, and in some categories, native apps Play #2 Peer-to-peer media path #2 Publish getUserMedia are viewed better due to performance and less bugs. <audio/> STUN/ Heitkötter et al. [10] found that Appcelerator based mobile TURN Microphone apps appear more native, whereas PhoneGap apps are like web Fig. 1. WebRTC conceptual elements and client server system sites. Angulo and Ferre [11] evaluated the user experience using the SIP proxy and gateway. Separating the app user’s comparing natively developed app with an equivalent app built authentication from the EDP token simplifies billing to that using a cross-platform tool. A native iOS UX is more difficult customer, instead of its individual app users. to obtain using cross-platform tools compared to Android apps. 2) IP office phone: Avaya IP office is a communication system Several studies have shown the feasibility of cross-platform for small and midsize businesses, which we host on cloud for mobile app development, e.g., RSS reader using Appcelerator customer trial. The IP office phone is a client to connect to this [12], geolocation and map APIs using PhoneGap [13][14], or VoIP system to make or receive voice or video calls. It uses WebSocket with PhoneGap [15]. Cross-platform apps using client-server media path anchored at the server (Fig.2b). This is device features such as accelerometers and multi-touch gesture not uncommon in cloud telephony, e.g., for media services of could be comparable to native versions of the same apps [16]. recording, interactive voice response or telephony gateway. Unlike previous studies, we focus on real-time 3) Vclick: This is a pure web-based multi-party client to enable communication and collaboration, and the strength of our work video call, conferencing, video presence, text chat, shared is in the recommendations about developer practices, the white-board, notepad and screen sharing [17]. It does not experience with WebRTC, and the number of apps. depend on legacy VoIP systems or browser plugins. It works as a collection of loosely coupled apps that mash up at the data WebRTC [4] refers to the ongoing efforts by W3C, IETF level instead of pair-wise app permissions, e.g., white-board and browser vendors to enable web pages to exchange real- app can be joined from a separate device in an existing desktop time media streams. A page can capture from local mic and/or video call (Fig.2c). The cross-platform version is created as a camera using getUserMedia as a local media stream abstraction, single app, with reduced functions of voice, video and text create RTCPeerConnection, a peer-to-peer abstraction between chat, but no other sharing apps. Unlike traditional server-side browser instances, and send a media stream from one browser web apps, Vclick runs all the app logic in the client, and uses a to another (Fig.1). RTCPeerConnection emits certain signaling “thin” resource server [6] that enables data storage and pub/sub data such as session description and transport addresses, which events, e.g., a client subscribed to a resource gets notified when must be sent and applied to the RTCPeerConnection at the other it changes. A persistent client-server connection enables shared browser to establish a media path. Web pages typically use data access and incoming events such as call invite. It creates WebSocket [5] or Ajax over HTTPS between the browser and peer-to-peer (full-mesh) media paths during a call. the web server to do such session negotiations. Browsers can use the web page supplied STUN or TURN servers [4] to 4) Connected Spaces: This is a team collaboration system for discover server reflexive and/or relayed addresses for the persistent sharing of content, e.g., documents, meeting notes, media paths that cross network boundaries. wiki or calendar [18]. Long lived distributed groups can organize their work in spaces, e.g., a space for “Third Floor III. MULTI-PARTY TEAM APPS Construction” project contains all the relevant content of that Team apps involve both active or synchronous modes such project. Users can create persistent annotations on shared as video or teleconference, as well as passive or asynchronous content (Fig.2d) or start impromptu audio, video and/or text modes such as SharePoint or a wiki.
Recommended publications
  • Mobile App Development with Ionic, Revised Edition Cross-Platform Apps with Ionic, Angular, and Cordova
    Revised Edition Mobile App Development w i t h I o n i c CROSS-PLATFORM APPS WITH IONIC, ANGULAR & CORDOVA Chris Griffith Mobile App Development with Ionic, Revised Edition Cross-Platform Apps with Ionic, Angular, and Cordova Chris Griffith Beijing Boston Farnham Sebastopol Tokyo Mobile App Development with Ionic, Revised Edition by Chris Griffith Copyright ©2017 Chris Griffith. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://oreilly.com/safari). For more information, contact our corporate/insti‐ tutional sales department: 800-998-9938 or [email protected]. Editor: Meg Foley Interior Designer: David Futato Production Editor: Justin Billing Cover Designer: Karen Montgomery Copyeditor/Proofreader: Amanda Kersey Illustrator: Rebecca Demarest Indexer: WordCo Indexing Services, Inc. September 2017: First Edition Revision History for the First Edition 2017-08-18: First Release See http://oreilly.com/catalog/errata.csp?isbn=9781491998120 for release details. The O’Reilly logo is a registered trademark of O’Reilly Media, Inc. Mobile App Development with Ionic, Revised Edition, the cover image, and related trade dress are trademarks of O’Reilly Media, Inc. While the publisher and the author have used good faith efforts to ensure that the information and instructions contained in this work are accurate, the publisher and the author disclaim all responsibility for errors or omissions, including without limitation responsibility for damages resulting from the use of or reliance on this work.
    [Show full text]
  • App Wrapping MD
    App Wrapping MD VMware Workspace ONE UEM App Wrapping MD You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ VMware, Inc. 3401 Hillview Ave. Palo Alto, CA 94304 www.vmware.com © Copyright 2021 VMware, Inc. All rights reserved. Copyright and trademark information. VMware, Inc. 2 Contents 1 VMware AirWatch App Wrapping 5 Wrapping Process in On-Premises Environments 5 File Storage 6 The Storage of Data 6 Disabling Logging in Wrapping Profiles 6 Location Data, Analytics, and Telecom Data 7 Cluster Session Management in iOS and Reduced Flip Behavior for SSO with App Wrapping v5.4 or later 7 SSO Sessions and SDK-Integrated Apps 7 2 App Wrapping Requirements 8 General Requirements 8 Supported Platforms and Bit Versions 8 Supported Deployments and Requirements 8 Store Apps Do Not Wrap 9 Standard Processes 9 Standard and C/C++ Libraries 9 Tampering Protection 9 Supported Settings and Policies Options 9 Visual Studio Enterprise Edition 11 Android Requirements 11 Supported Android Components 11 Android Apps Built with Crosswalk Project Libraries Do Not Wrap 11 Android Enterprise Support 11 Xamarin Requirements for Android 11 Android Bit Architecture Native Files 12 Android Method Limits and Multidex Support 12 Android Apps and the Version of the SDK That Wraps Them 13 Native Libraries in Android Apps 13 Android Library Dependencies 13 Enabling and Disabling Encryption for Android Wrapped Apps 14 iOS Requirements 14 iOS App Wrapping Requirements 14 Using iOS Apps Developed in Swift 15 Entitlements for iOS Apps 15 Mobile Provisioning Profile for iOS Apps 15 Synchronous Calls and iOS Apps 15 Integrated Authentication Code Requirements for iOS (Swift) Apps 15 VMware, Inc.
    [Show full text]
  • Crosswalk Shared Mode
    Crosswalk Shared Mode This document aims to provide features description, build configuration, tools integration and the details of new embedding APIs for shared mode. Summary Feature Description Version Check Mechanism Architecture Independent Security Check Built­in Updater Tools Integration Enable Shared mode Configure the download URL Embedding API Permissions XWalkActivity XWalkInitializer XWalkUpdater 1. Summary Shared mode allows multiple Crosswalk applications to share one Crosswalk runtime. Each Crosswalk application is bundled with a reflection layer instead of the full library files, whereas there would be one and only one APK of Crosswalk runtime to be installed on the device for the Crosswalk applications to use. Figure: Embedded Mode vs. Shared Mode The APK of Crosswalk runtime is published on Google Play Store and Crosswalk Project’s official website. The end­users are able to get the APK via Google Play Store or the developer’s self­hosting service. The Crosswalk runtime will be upgraded periodically to introduce the latest feature of Crosswalk and Chromium. The developer has the responsibility to follow up the update cycle and keep their applications compatible with the latest version of Crosswalk runtime. Pros: ● Produces a significant smaller APK size for Crosswalk applications. For example of packaging a simple HelloWorld web application, the APK file size is 20MB for ARM and 23MB for x86. If the same contents is packaged in shared mode, the APK file size will shrink to 68KB. ● The Crosswalk application built in shared mode can run on both of the IA and ARM devices, even the application built in embedded mode for ARM can run on the IA devices, as long as there is a Crosswalk runtime installed on the device.
    [Show full text]
  • D2.1 System Architecture
    Directorate General for Communications Networks, Content and Technology Innovation Action ICT-687655 D2.1 System Architecture Due date of deliverable: 31 March 2016 Actual submission date: 10 May 2016 Resubmitted with minor changes: 28 April 2017 Start date of project: 1 December 2015 Duration: 36 months Lead contractor for this deliverable: Cisco Version: 28 April 2017 Confidentiality status: Public © 2-IMMERSE Consortium 2017 Page 1 of (128) Grant Agreement number: 687655 — 2-IMMERSE — H2020-ICT-2015 D2.1 System Architecture Abstract This document describes the system architecture being developed by the 2-IMMERSE project. This architecture is designed to enable the four multi-screen service prototypes that will be delivered through the project. The System Architecture is layered as a set of platform services, a client application architecture and production architecture. The system architecture is a work in progress; it will evolve both as we refine it and specify it in more detail, and as we deliver each of the multi-screen service prototypes through the project. Target audience This is a public deliverable and could be read by anyone with an interest in the system architecture being developed by the 2-IMMERSE project. As this is inherently technical in nature, we assume the audience is technically literate with a good grasp of television and Internet technologies in particular. We have included a Technology Overview section that summarises a range of technologies that are potentially applicable within the project. This document will be read by the Project Consortium as it defines the system architecture that will be adopted and evolved throughout the project.
    [Show full text]
  • Hybrid App Landscape
    Hybrid App Landscape Ruben Smeets ES&S 03/02/2016 Agenda • Why cross-platform mobile app development? • What are hybrid apps? • Hybrid app early and current struggles • Hybrid is bigger than Cordova/Phonegap • The future of hybrid apps Native app development is expensive… Obj- C#, BB C, C, Android Java VB.NET Java Xcode C++ Visual , etc. Java Studio, Studio Eclipse SDK Plug-In .app .apk .xap .cod App Store Play Store Windows Marketplace BlackBerry App World Separate source code and expertise Releasing same app for each platform is (GUI toolkits, SDKs, etc.) results in time-consuming when resources are Expensive development and scarce maintenance Cross-Platform Development Tools to the Rescue? Web WhichSourceone-code Runtime (VM Web-to-native App toolkits/Framew Translators approach) Wrappers Factories should I choose? orks web, hybrid, Output native native web-app hybrid-app native What about Hybrid apps? Web Source-code Runtime (VM Web-to-native App toolkits/Framew Translators approach) Wrappers Factories orks web, hybrid, Output native native web-app hybrid-app native Combination of web toolkits and Web-to-native wrappers What are Hybrid Apps? • Web code runs inside a thin native wrapper Native Container o Chromeless WebView Web Code • Web portion can be downloaded HTML from the web or packaged within CSS the app (offline availability) JS • Access device features through plugins o JS-to-native bridge Device APIs • Reuse existing web skills Low Ranking Hybrid app properties High Ranking Native apps Hybrid apps Web apps Search on referrals
    [Show full text]
  • DEVELOPMENT of HYBRID MOBILE APPS Using Ionic Framework
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Theseus Andrea Sánchez Blanco DEVELOPMENT OF HYBRID MOBILE APPS Using Ionic framework Bachelor’s Thesis Information technology May 2016 DESCRIPTION Date of the bachelor's thesis 23.05.2016 Author(s) Degree programme and option Andrea Sánchez Blanco Information Technology Name of the bachelor's thesis DEVELOPMENT OF HYBRID MOBILE APPS Using Ionic Framework Abstract The purpose of the current study is to analyse the advantages and disadvantages of web-based hybrid apps. This thesis explains from the beginnings of mobile phones how and why it has been created this solution, and how mobile’s history has evolved to need an intermediate approach. It is also studied the general principles of good mobile user interfaces, in order to create a full good user experience from appearance to performance and usability, and how to implement the server side in an Ionic mo- bile application. These have been done providing a general context about the first mobile phones to the latest ones, going through the different mobile OSs and focusing on an intermediate approach, hybrid web-based apps. After that I have explained Ionic Framework and the User Interface guidelines. Finally I have documented my practical part, associating it with the theoretical part, and explaining how I did the server side implementation on my app. The conclusions I took are more general than I thought at the beginning. I have studied this solution with Ionic Framework, with which I have had an overall good experience.
    [Show full text]
  • Distance Learning and Assistance Using Smart Glasses
    education sciences Article Distance Learning and Assistance Using Smart Glasses Michael Spitzer 1,* ID , Ibrahim Nanic 1 and Martin Ebner 2 ID 1 Virtual Vehicle Research Center, Inffeldgasse 21/A, Graz 8010, Austria; [email protected] 2 Department Educational Technology, Graz University of Technology, Münzgrabenstraße 35a, Graz 8010, Austria; [email protected] * Correspondence: [email protected] Received: 30 November 2017; Accepted: 25 January 2018; Published: 27 January 2018 Abstract: With the everyday growth of technology, new possibilities arise to support activities of everyday life. In education and training, more and more digital learning materials are emerging, but there is still room for improvement. This research study describes the implementation of a smart glasses app and infrastructure to support distance learning with WebRTC. The instructor is connected to the learner by a video streaming session and gets the live video stream from the learner’s smart glasses from the learner’s point of view. Additionally, the instructor can draw on the video to add context-aware information. The drawings are immediately sent to the learner to support him to solve a task. The prototype has been qualitatively evaluated by a test user who performed a fine-motor-skills task and a maintenance task under assistance of the remote instructor. Keywords: distance learning; smart glasses; WebRTC; maintenance 1. Introduction In recent years, many smart glasses devices emerged on the market with a reasonable price. The potential of such devices was already investigated in various domains. For example, smart glasses were used as an assistance system to guide visitors in a museum [1].
    [Show full text]
  • Forcepoint Trusted Access Mobile Client (ASPP12) Security Target
    Forcepoint Trusted Access Mobile Client (ASPP12) Security Target Version 0.5 May 30, 2017 Prepared for: Forcepoint Company 10900 Stonelake Blvd. Third Floor Austin, TX 78759, USA Prepared By: www.gossamersec.com Forcepoint Trusted Access Mobile Client Version 0.5, May 30, 2017 (ASPP12) Security Target 1. SECURITY TARGET INTRODUCTION ........................................................................................................ 3 1.1 SECURITY TARGET REFERENCE ...................................................................................................................... 3 1.2 TOE REFERENCE ............................................................................................................................................ 3 1.3 TOE OVERVIEW ............................................................................................................................................. 4 1.4 TOE DESCRIPTION ......................................................................................................................................... 4 1.4.1 TOE Architecture ................................................................................................................................... 4 1.4.2 TOE Documentation .............................................................................................................................. 5 2. CONFORMANCE CLAIMS .............................................................................................................................. 6 2.1 CONFORMANCE RATIONALE
    [Show full text]
  • SYLLABUS: Summer, 2021, Online
    SPED 475— Instructional Strategies for the Content Areas COURSE SYLLABUS: Summer, 2021, online INSTRUCTOR INFORMATION Instructor: Dr. Belinda Rudinger, ATP, Clinical Assistant Professor Office Hours: By appointment University Email Address: [email protected] Preferred Form of Communication: University Email. Communication Response Time: Using University Email = within 72 hours Monday – Friday, weekends and holidays may take longer. COURSE INFORMATION Materials – Textbooks, Readings, Supplementary Readings No required textbook; all readings provided in D2L Course Description SPED 475 presents evidence-based strategies and interventions for students with disabilities. A focus on quality reading, mathematics, writing, and behavioral assessment, strategies, and interventions to support students with disabilities will be provided. (Hours: 3) Course Objectives: Essential Skills • Familiarity with TEKS as they relate to assessment, IEP development, and curriculum/intervention methods • Developing data-based goals on IEP’s; writing measurable goals • Knowledge/application of effective reading, writing, and math evidence- based instructional methods The syllabus/schedule are subject to change. Texas EC-12 Special Education Competencies 1.Competency 001: The special education teacher understands and applies knowledge of the characteristics and needs of students with disabilities. 2. Competency 002: Understanding of formal and informal assessment procedures and how to evaluate student competencies to make instructional decisions. 3.Competency 003: The special education teacher understands and applies knowledge of procedures for planning instruction for individuals with disabilities. 4. Competency 007: The special education teacher knows how to promote students’ educational performance in all content areas by facilitating their achievement in a variety of settings and situations. 5. Competency 008: The special education teacher promotes students’ performance in English, language arts, and reading.
    [Show full text]
  • Reading-App-Builder-02-Building-Apps.Pdf
    Building Apps Reading App Builder: Building Apps © 2021, SIL International Last updated: 22 April 2021 You are free to print this manual for personal use and for training workshops. The latest version is available at http://software.sil.org/readingappbuilder/resources/ and on the Help menu of Reading App Builder. 2 Contents 1. Preparing content for your app ............................................................................ 6 1.1. Preparing text ....................................................................................................... 6 1.2. Preparing images .................................................................................................. 8 1.3. Preparing audio..................................................................................................... 8 2. How to build your first app .................................................................................. 8 3. Installing the app on your phone .........................................................................11 4. App Creation Basics ............................................................................................15 4.1. How should I choose the app package name? ................................................... 15 4.2. Do I have to create a new keystore for each app, or can I reuse the same keystore for several of my apps? ...................................................................... 16 4.3. I don’t like the name “Reading App”. Have you thought of calling the app something else? ................................................................................................
    [Show full text]
  • IEEE Paper Template in A4
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Lirias Ruben Smeets et al, International Journal of Computer Science and Mobile Computing, Vol.5 Issue.6, June- 2016, pg. 190-199 Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology ISSN 2320–088X IMPACT FACTOR: 5.258 IJCSMC, Vol. 5, Issue. 6, June 2016, pg.190 – 199 Trends in Web Based Cross Platform Technologies Ruben Smeets1, Kris Aerts2 ¹ES&S, DTAI, KU Leuven Technology Campus Diepenbeek, Agoralaan gebouw B bus 8, 3590 Diepenbeek, Belgium 1 [email protected]; 2 [email protected] Abstract— Cross platform mobile application development using web technologies has traveled a long way since its inception back in 2008-2009 [1]. Frameworks such as Apache Cordova/Phonegap [2] or Appcelerator [3] enabled web developers to reuse their exiting development skills to build applications for a wide variety of mobile platforms and opened up app development to a massive community. Since then many technologies have been developed: some failed, some succeeded. In this paper we provide a comprehensive overview of cross platform tools using web development technologies and identify trends that emerged from this landscape. Keywords— Review paper, cross-platform tools, hybrid applications, Phonegap/Cordova, mobile frameworks. I. INTRODUCTION Mobile apps have become an important part of our society. The time we spend on our mobile device is increasing every year [4]. However, the time spent on developing mobile apps tends to increase even more, especially when each mobile platform must have a dedicated, native application.
    [Show full text]
  • Closing the Web Platform Gap with Native
    Closing the Web Platform Gap with Native Presented by: Moh Haghighat Sr. Principal Engineer, Intel® Corporation March 12, 2014 Agenda • A bit of history, developments • Remaining gaps in web vs. native • Intel®’s work on closing the gaps • Bringing SIMD to JavaScript* • Intel® XDK, Crosswalk* • Towards Perceptual Computing • Summary 2 HTML5 – The New Lingua Franca? 1991 2001 2009 2015 APPS WEB APPS WEB * * * .exe HTML, Flash* iOS , Android , Windows HTML5 Native code Web – “Write once, run on App Stores “Write Once, Run PC spiral any browser” Walled Gardens Everywhere” “New open standards created in the mobile era, such as HTML5, “If you want to do something that is universal, no question, will win on mobile devices.” – Steve Jobs world is going HTML5.” – Steve Ballmer “It looks to me like HTML5 will eventually become a way almost all applications are built, including those on new phones.” – Eric Schmidt 3 JavaScript* Has Grown Up JavaScript* apps grew in size JavaScript* became fast … really fast! Gmail*: Past, Present, and Future, Adam de Boor, Google* www.usenix.org/event/webapps10/tech/slides/deboor.pdf † Modern JavaScript, Luke Hoban, Microsoft* www.microsoft.com Big Web App? Compile it! Alon Zakai, Mozilla* http://kripken.github.io/mloc_emscripten_talk 4 Early JavaScript* JITs, Firefox* TraceMonkey* Firefox* 3.1 with Tracing vs. Firefox 3† Launched early August 2008 Intel® was an early contributor in Firefox JavaScript* JIT compiler † Courtesy of Brendan Eich (http://weblogs.mozillazine.org/roadmap/) 5 Generic JIT Support in Intel®
    [Show full text]