The Web As a Software Platform: Ten Years Later

Total Page:16

File Type:pdf, Size:1020Kb

The Web As a Software Platform: Ten Years Later The Web as a Software Platform: Ten Years Later Antero Taivalsaari1,2 and Tommi Mikkonen2,3 1Nokia Technologies, Hatanpa¨an¨ valtatie 30, Tampere, Finland 2Department of Pervasive Computing, Tampere University of Technology, Korkeakoulunkatu 1, Tampere, Finland 3Department of Computer Science, University of Helsinki, Gustaf Hallstr¨ omin¨ katu 2b, Helsinki, Finland Keywords: Web Programming, Web Applications, Live Object Systems, JavaScript, HTML5, Lively Kernel. Abstract: In the past ten years, the Web has become a dominant deployment environment for new software systems and applications. In view of its current popularity, it is easy to forget that only 10-15 years ago hardly any developer would write serious software applications for the Web. Today, the use of the web browser as a software platform is commonplace, and JavaScript has become one of the most popular programming languages in the world. In this paper we revisit some predictions that were made over ten years ago when the Lively Kernel project was started back in 2006. Ten years later, most of the elements of the original vision have been fulfilled, although not entirely in the fashion we originally envisioned. We look back at the Lively Kernel vision, reflecting our original goals to the state of the art in web programming today. 1 INTRODUCTION devices) has exploded in recent years (Petsas et al., 2013). In contrast, the number of applications that The widespread adoption of the World Wide Web has people install on their personal computers has been in fundamentally changed the landscape of software de- steady decline over the past years. The majority of velopment. In the past years, the Web has become the activities on personal computers are now performed de facto deployment environment for new software using a web browser, leveraging the Software as a Ser- systems and applications. Office productivity applica- vice (SaaS) model (VisionMobile, 2016). tions and corporate tools such as invoicing, purchas- In late 2005, when we started talking about creat- ing and expense reporting systems have migrated to ing an interactive, browser-based programming envi- the Web. Banking, insurance and retail industries – to ronment entirely in JavaScript, the idea was met with name a few – have been transformed profoundly by a lot of contempt at Sun Microsystems where we were the emergence of web-based applications and internet working at the time. JavaScript was viewed as a toy services. Academic papers such as this one are now language that was suitable for writing scripts no more commonly written using collaborative, browser-based than few lines long. Furthermore, the idea of using the environments instead of traditional, installed office web browser as a software platform was found highly suites. Even software development is nowadays of- questionable by many of our colleagues. ten performed using interactive, web-based tools. The Lively Kernel project (Taivalsaari et al., Only ten years ago, the world looked very differ- 2008b; Ingalls et al., 2008) – started at Sun Mi- ent still. Back in 2006, very few developers would crosystems Labs back in 2006 – created one of the write software for the Web, let alone consider us- first fully interactive, self-sustaining, web-based soft- ing JavaScript – or any other web technology, for ware development environment that was built on the that matter – for writing any serious software appli- assumption that the web browser would become a cations (Casteleyn et al., 2014). Today, the Software credible, full-fledged software platform (http://lively- as a Service (SaaS) model (Turner et al., 2003) is kernel.org/). While the Lively system is not very prevalent, and interactive, dynamic software devel- widely known or used today, it did pave the way – opment for the Web has become commonplace. In for its part – for today’s Software as a Service based fact, traditional installed applications now maintain a software development systems and live web program- stronghold only in the mobile realm, where the num- ming more broadly. A recently published ten-year an- ber of mobile apps (especially for iOS and Android niversary paper summarizes the roots, highlights and 41 Taivalsaari, A. and Mikkonen, T. The Web as a Software Platform: Ten Years Later. DOI: 10.5220/0006234800410050 In Proceedings of the 13th International Conference on Web Information Systems and Technologies (WEBIST 2017), pages 41-50 ISBN: 978-989-758-246-2 Copyright © 2017 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved WEBIST 2017 - 13th International Conference on Web Information Systems and Technologies evolution of the Lively Kernel from the technical per- actually offered many attractive qualities such as sup- spective over the past ten years (Ingalls et al., 2016). port for first class functions, reflection (albeit in a lim- While the ten-year anniversary paper looked at ited form only) and fully interactive program execu- Lively mainly from the viewpoint of live object pro- tion much in the same fashion as Smalltalk systems gramming, in this paper we take a different angle and three decades earlier (Goldberg and Robson, 1983). look back at the vision presented ten years ago, re- In July 2006, we gave a presentation to our man- flecting our original goals to the state of the art in agement to launch a new initiative on web program- web programming today. We will also take a look ming and JavaScript. The key arguments in that pre- at the evolution of the Web as a software platform and sentation were the following: its impact on the software industry. We will then look 1. The World Wide Web will be the next major target onwards to the future, highlighting relevant technical platform. areas for future work. This paper is a follow-up to a series of earlier papers in which we have tracked the 2. The Web Browser will effectively be the new op- evolution of the Web as a software platform (Mikko- erating system. nen and Taivalsaari, 2007; Taivalsaari et al., 2008a; 3. JavaScript is the de facto programming language Taivalsaari et al., 2011; Anttonen et al., 2011; Taival- of the Web. saari and Mikkonen, 2011). The structure of this paper is as follows. In Sec- While there is nothing controversial about these tion 2, we will first provide a retrospective on the statements in 2017, back in 2006 these were still origins of the Lively Kernel project, including the highly questionable claims. Those days, the web broader vision behind it. In Section 3, we dive deeper browser was regarded only as a tool for viewing web into the original goals of the Lively web platform, fol- pages, i.e., documents with little interactive content lowed by some discussion on meeting those goals in apart from some animated GIF images and Flash ad- Section 4. In Sections 5 and 6, we take a look at the vertisements. Similarly, JavaScript and CSS (Cascad- state of the art in web programming today, reflecting ing Style Sheets) were used primarily as tools to en- the current state to the goals defined ten years ago. liven static web content – not as tools for implement- In Section 7, we make some predictions and propos- ing any serious applications. Furthermore, the con- als for future work. Finally, Section 8 concludes the cepts of Software as a Service (SaaS) and Platform as paper with some final remarks. a Service (PaaS) were yet to be popularized – Sales- force.com would launch their Force.com SaaS plat- form in 2007. Given Sun’s stewardship and continued commit- 2 RETROSPECTIVE ment to the Java platform, it was not surprising that our proposal received only lukewarm interest. Never- The roots of the Lively Kernel project can be traced theless, in August 2006, we received a permission and back to early conversations and discussions in 2005 some funding to start a project to build the initial pro- that soon converged on themes related to web pro- totype and demos. The initial project was quite small, gramming. It was becoming obvious to us that while with only four people. The early history of the project the web browser was not designed to be software plat- – described in the ten-year anniversary paper (Ingalls form, the browser was nevertheless going to become et al., 2016) – resulted in the first public release of the an important platform, since the browser offered a Lively Kernel on October 1, 2007. channel to distribute software globally in an entirely To cut a long story short, the timing of our project novel, ”frictionless” fashion – without the conven- turned out to be about six months too late. In tional hassles and distribution costs associated with early 2007, just as we had built the reasonably fea- shrink-wrapped or manually installed applications. ture complete, internal version of the Lively Ker- While some of our team members had been nel, it had already been decided that JavaFXScript closely involved in the development of the Java pro- (https://en.wikipedia.org/wiki/JavaFXScript) was to gramming language ecosystem for years, it also be- become the official scripting language for the Java came clear to us that JavaScript (Flanagan, 2011) – platform. Any projects related to JavaScript were for better or worse – would become the next major viewed as a distraction to that strategy. Thus, our programming language. After all, JavaScript was the project was limited to being a research project only; only programming language that was supported by all a lot of publications were written and a number of the major web browsers. While looking at JavaScript, successful external demonstrations were held over the a language once considered as the neglected little sis- next years. In hindsight, had we been able to show ter of the Java language, we realized that JavaScript compelling demos about 3-6 months earlier before 42 The Web as a Software Platform: Ten Years Later some critical decisions were made, the future might are morphs that can be manipulated in a consistent have looked different.
Recommended publications
  • THE FUTURE of SCREENS from James Stanton a Little Bit About Me
    THE FUTURE OF SCREENS From james stanton A little bit about me. Hi I am James (Mckenzie) Stanton Thinker / Designer / Engineer / Director / Executive / Artist / Human / Practitioner / Gardner / Builder / and much more... Born in Essex, United Kingdom and survived a few hair raising moments and learnt digital from the ground up. Ok enough of the pleasantries I have been working in the design field since 1999 from the Falmouth School of Art and onwards to the RCA, and many companies. Ok. less about me and more about what I have seen… Today we are going to cover - SCREENS CONCEPTS - DIGITAL TRANSFORMATION - WHY ASSETS LIBRARIES - CODE LIBRARIES - COST EFFECTIVE SOLUTION FOR IMPLEMENTATION I know, I know, I know. That's all good and well, but what does this all mean to a company like mine? We are about to see a massive change in consumer behavior so let's get ready. DIGITAL TRANSFORMATION AS A USP Getting this correct will change your company forever. DIGITAL TRANSFORMATION USP-01 Digital transformation (DT) – the use of technology to radically improve performance or reach of enterprises – is becoming a hot topic for companies across the globe. VERY DIGITAL CHANGING NOT VERY DIGITAL DIGITAL TRANSFORMATION USP-02 Companies face common pressures from customers, employees and competitors to begin or speed up their digital transformation. However they are transforming at different paces with different results. VERY DIGITAL CHANGING NOT VERY DIGITAL DIGITAL TRANSFORMATION USP-03 Successful digital transformation comes not from implementing new technologies but from transforming your organisation to take advantage of the possibilities that new technologies provide.
    [Show full text]
  • HTML5 and the Open Web Platform
    HTML5 and the Open Web Platform Stuttgart 28 May 2013 Dave Raggett <[email protected]> The Open Web Platform What is the W3C? ● International community where Members, a full-time staff and the public collaborate to develop Web standards ● Led by Web inventor Tim Berners-Lee and CEO Jeff Jaffe ● Hosted by MIT, ERCIM, Keio and Beihang ● Community Groups open to all at no fee ● Business Groups get more staff support ● Technical Working Groups ● Develop specs into W3C Recommendations ● Participants from W3C Members and invited experts ● W3C Patent process for royalty free specifications 3 Who's involved ● W3C has 377 Members as of 11 May 2013 ● To name just a few ● ACCESS, Adobe, Akamai, Apple, Baidu, BBC, Blackberry (RIM), BT, Canon, Deutsche Telekom, eBay, Facebook, France Telecom, Fujitsu, Google, Hitachi, HP, Huawei, IBM, Intel, LG, Microsoft, Mozilla, NASA, NEC, NTT DoCoMo, Nuance, Opera Software, Oracle, Panasonic, Samsung, Siemens, Sony, Telefonica, Tencent, Vodafone, Yandex, … ● Full list at ● http://www.w3.org/Consortium/Member/List 4 The Open Web Platform 5 Open Web Platform ● Communicate with HTTP, Web Sockets, XML and JSON ● Markup with HTML5 ● Style sheets with CSS ● Rich graphics ● JPEG, PNG, GIF ● Canvas and SVG ● Audio and Video ● Scripting with JavaScript ● Expanding range of APIs ● Designed for the World's languages ● Accessibility with support for assistive technology 6 Hosted and Packaged Apps ● Hosted Web apps can be directly loaded from a website ● Packaged Web apps can be locally installed on a device and run without the need for access to a web server ● Zipped file containing all the necessary resources ● Manifest file with app meta-data – Old work on XML based manifests (Web Widgets) – New work on JSON based manifests ● http://w3c.github.io/manifest/ ● Pointer to app's cache manifest ● List of required features and permissions needed to run correctly ● Runtime and security model for web apps ● Privileged apps must be signed by installation origin's private key 7 HTML5 Markup ● Extensive range of features ● Structural, e.g.
    [Show full text]
  • Platform Independent Web Application Modeling and Development with Netsilon Pierre-Alain Muller, Philippe Studer, Frédéric Fondement, Jean Bézivin
    Platform independent Web application modeling and development with Netsilon Pierre-Alain Muller, Philippe Studer, Frédéric Fondement, Jean Bézivin To cite this version: Pierre-Alain Muller, Philippe Studer, Frédéric Fondement, Jean Bézivin. Platform independent Web application modeling and development with Netsilon. Software and Systems Modeling, Springer Ver- lag, 2005, 4 (4), pp.424-442. 10.1007/s10270-005-0091-4. inria-00120216 HAL Id: inria-00120216 https://hal.inria.fr/inria-00120216 Submitted on 21 Feb 2007 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Platform Independent Web Application Modeling and Development with Netsilon PIERRE-ALAIN MULLER INRIA Rennes Campus de Beaulieu, Avenue du Général Leclerc, 35042 Rennes, France pa.muller@ uha.fr PHILIPPE STUDER ESSAIM/MIPS, Université de Haute-Alsace, 12 rue des Frères Lumière, 68093 Mulhouse, France ph.studer@ uha.fr FREDERIC FONDEMENT EPFL / IC / UP-LGL, INJ œ Station 14, CH-1015 Lausanne EPFL, Switzerland frederic.fondement@ epfl.ch JEAN BEZIVIN ATLAS Group, INRIA & LINA, Université de Nantes, 2, rue de la Houssinière, BP 92208, 44322 Nantes, France jean.bezivin@ lina.univ-nantes.fr Abstract. This paper discusses platform independent Web application modeling and development in the context of model-driven engineering.
    [Show full text]
  • Seamless Offloading of Web App Computations from Mobile Device to Edge Clouds Via HTML5 Web Worker Migration
    Seamless Offloading of Web App Computations From Mobile Device to Edge Clouds via HTML5 Web Worker Migration Hyuk Jin Jeong Seoul National University SoCC 2019 Virtual Machine & Optimization Laboratory Department of Electrical and Computer Engineering Seoul National University Computation Offloading Mobile clients have limited hardware resources Require computation offloading to servers E.g., cloud gaming or cloud ML services for mobile Traditional cloud servers are located far from clients Suffer from high latency 60~70 ms (RTT from our lab to the closest Google Cloud DC) Latency<50 ms is preferred for time-critical games Cloud data center End device [Kjetil Raaen, NIK 2014] 2 Virtual Machine & Optimization Laboratory Edge Cloud Edge servers are located at the edge of the network Provide ultra low (~a few ms) latency Central Clouds Mobile WiFi APs Small cells Edge Device Cloud Clouds What if a user moves? 3 Virtual Machine & Optimization Laboratory A Major Issue: User Mobility How to seamlessly provide a service when a user moves to a different server? Resume the service at the new server What if execution state (e.g., game data) remains on the previous server? This is a challenging problem Edge computing community has struggled to solve it • VM Handoff [Ha et al. SEC’ 17], Container Migration [Lele Ma et al. SEC’ 17], Serverless Edge Computing [Claudio Cicconetti et al. PerCom’ 19] We propose a new approach for web apps based on app migration techniques 4 Virtual Machine & Optimization Laboratory Outline Motivation Proposed system WebAssembly
    [Show full text]
  • A World of Active Objects for Work and Play: the First Ten Years of Lively
    A World of Active Objects for Work and Play The First Ten Years of Lively Daniel Ingalls Tim Felgentreff Robert Hirschfeld Y Combinator Research Hasso Plattner Institute Hasso Plattner Institute, Potsdam, San Francisco, CA, USA Potsdam, Germany Germany [email protected] [email protected] [email protected] Robert Krahn Jens Lincke Marko Roder¨ Y Combinator Research Hasso Plattner Institute Y Combinator Research San Francisco, CA, USA Potsdam, Germany San Francisco, CA, USA [email protected] [email protected] [email protected] Antero Taivalsaari Tommi Mikkonen Nokia Technologies Tampere University of Technology Tampere, Finland Tampere, Finland [email protected] tommi.mikkonen@tut.fi Abstract Keywords Web programming, Software as a Service, Live The Lively Kernel and the Lively Web represent a continu- Object System, Lively Kernel, Lively Web, Lively, JavaScript, ing effort to realize a creative computing environment in the Morphic context of the World Wide Web. We refer to that evolving system simply as Lively. Lively is a live object computing 1. Live Object Systems environment implemented using JavaScript and other tech- Lively [12] is a live object system which provides a web niques available inside the browser. When first built in 2006, programming and authoring system to its users. By live ob- it was a grand accomplishment to have created such a sys- jects we mean entities that can usually be seen, touched, and tem that would run in any web browser and that could be moved and that will react in a manner prescribed by some set saved and loaded simply as a web page.
    [Show full text]
  • IADIS Conference Template
    www.seipub.org/ie Information Engineering (IE) Volume 3, 2014 Performance and Quality Evaluation of jQuery Javascript Framework Andreas Gizas, Sotiris P. Christodoulou, Tzanetos Pomonis HPCLab, Computer Engineering & Informatics Dept., University of Patras Rion, Patras Received Jun 10, 2013; Revised Jun 21, 2013; Accepted Mar 12, 2014; Published Jun 12, 2014 © 2014 Science and Engineering Publishing Company Abstract devices. Mobile web is the name of this new field of The scope of this work is to provide a thorough web applications and JavaScript is expected to play a methodology for quality and performance evaluation of the major role in its development with the evolution of most popular JavaScript framework, the jQuery Framework, new devices and standards (ex. iPhone, Android) or as by taking into account well established software quality the heart of cross platform applications (like factors and performance tests. The JavaScript programming phonegap.com). There are also proposals for language is widely used for web programming and employing JavaScript in server-side applications increasingly, for general purpose of computing. Since the (Server-Side JavaScript Reference v1.2). growth of its popularity and the beginning of web 2.0 era, many JavaScript frameworks have become available for Due to the plethora of applications that JavaScript programming rich client-side interactions in web serves and the variety of programming needs, applications. The jQuery project and its community serve frameworks have been created in order to help both today as a major part of web programmers. The main programmers and end-users. These frameworks aim to outcome of this work is to highlight the pros and cons of be a useful tool for simplifying JavaScript code jQuery in various areas of interest and signify which and development and repeat blocks of code by using just a where the weak points of its code are.
    [Show full text]
  • The Viability of the Web Browser As a Computer Music Platform
    Lonce Wyse and Srikumar Subramanian The Viability of the Web Communications and New Media Department National University of Singapore Blk AS6, #03-41 Browser as a Computer 11 Computing Drive Singapore 117416 Music Platform [email protected] [email protected] Abstract: The computer music community has historically pushed the boundaries of technologies for music-making, using and developing cutting-edge computing, communication, and interfaces in a wide variety of creative practices to meet exacting standards of quality. Several separate systems and protocols have been developed to serve this community, such as Max/MSP and Pd for synthesis and teaching, JackTrip for networked audio, MIDI/OSC for communication, as well as Max/MSP and TouchOSC for interface design, to name a few. With the still-nascent Web Audio API standard and related technologies, we are now, more than ever, seeing an increase in these capabilities and their integration in a single ubiquitous platform: the Web browser. In this article, we examine the suitability of the Web browser as a computer music platform in critical aspects of audio synthesis, timing, I/O, and communication. We focus on the new Web Audio API and situate it in the context of associated technologies to understand how well they together can be expected to meet the musical, computational, and development needs of the computer music community. We identify timing and extensibility as two key areas that still need work in order to meet those needs. To date, despite the work of a few intrepid musical Why would musicians care about working in explorers, the Web browser platform has not been the browser, a platform not specifically designed widely considered as a viable platform for the de- for computer music? Max/MSP is an example of a velopment of computer music.
    [Show full text]
  • Towards Secure and Reusable Web Applications
    Mashups and Modularity: Towards Secure and Reusable Web Applications Antero Taivalsaari Tommi Mikkonen Sun Microsystems Laboratories [email protected] http://research.sun.com/projects/lively 2 Evolution of the Web 1) Simple pages with text and static images only (e.g., http://www.google.com) 2) Animated pages with plug-ins (e.g., http://www.cadillac.com) 3) Rich Internet Applications (e.g., docs.google.com) What's Next? 3 Web Applications – Implications • Web-based software will dramatically change the way people develop, deploy and use software. • No more installations! > Applications will simply run off the Web. • No more upgrades! > Always run the latest application version. • Instant worldwide deployment! > No middlemen or distributors needed. • No CPU dependencies, OS dependencies, ... > The Web is the Platform. 4 Unfortunately... • The web browser was not designed for running real applications. > It was designed in the early 1990s for viewing documents, forms and other page-structured artifacts – not applications. > Programming capabilities on the web were an afterthought, not something inherent in the design of the browser. • Various Rich Internet Application (RIA) technologies have been introduced recently to retrofit application execution capabilities into the web browser. 5 Web Development vs. Conventional Software The Impedance Mismatch Web Development Conventional SW Development - Documents - Applications - Page / form oriented interaction - Direct manipulation - Managed graphics, static layout - Directly drawn, dynamic
    [Show full text]
  • Document Object Model
    Document Object Model Copyright © 1999 - 2020 Ellis Horowitz DOM 1 What is DOM • The Document Object Model (DOM) is a programming interface for XML documents. – It defines the way an XML document can be accessed and manipulated – this includes HTML documents • The XML DOM is designed to be used with any programming language and any operating system. • The DOM represents an XML file as a tree – The documentElement is the top-level of the tree. This element has one or many childNodes that represent the branches of the tree. Copyright © 1999 - 2020 Ellis Horowitz DOM 2 Version History • DOM Level 1 concentrates on HTML and XML document models. It contains functionality for document navigation and manipulation. See: – http://www.w3.org/DOM/ • DOM Level 2 adds a stylesheet object model to DOM Level 1, defines functionality for manipulating the style information attached to a document, and defines an event model and provides support for XML namespaces. The DOM Level 2 specification is a set of 6 released W3C Recommendations, see: – https://www.w3.org/DOM/DOMTR#dom2 • DOM Level 3 consists of 3 different specifications (Recommendations) – DOM Level 3 Core, Load and Save, Validation, http://www.w3.org/TR/DOM-Level-3/ • DOM Level 4 (aka DOM4) consists of 1 specification (Recommendation) – W3C DOM4, http://www.w3.org/TR/domcore/ • Consolidates previous specifications, and moves some to HTML5 • See All DOM Technical Reports at: – https://www.w3.org/DOM/DOMTR • Now DOM specification is DOM Living Standard (WHATWG), see: – https://dom.spec.whatwg.org
    [Show full text]
  • The Web Platform
    Security II - The Web Platform Stefano Calzavara Universit`aCa' Foscari Venezia February 6, 2020 1/18 Stefano Calzavara Universit`aCa' Foscari Venezia Security II - The Web Platform Web Applications A web application is a client-server distributed application (normally) operated via a web browser: e-commerce sites: Alibaba, Amazon, Ebay mail services: Gmail, Outlook, Yahoo! social networks: Facebook, Instagram, Twitter Fantastic tools which have become more and more popular over the years, yet extremely hard to protect! 2/18 Stefano Calzavara Universit`aCa' Foscari Venezia Security II - The Web Platform Statistics Trivia: how many web vulnerabilities in this plot? 3/18 Stefano Calzavara Universit`aCa' Foscari Venezia Security II - The Web Platform The HTTP Protocol The HTTP protocol is the workhorse protocol of the Web: simple request-response protocol in the client-server model plaintext: no confidentiality and integrity guarantees by default stateless: each HTTP request is handled as an independent event 4/18 Stefano Calzavara Universit`aCa' Foscari Venezia Security II - The Web Platform Domain Names On the Web, the server is typically identified by a string known as fully qualified domain name (FQDN). Terminology The string www.wikipedia.org is a FQDN and: www is a hostname wikipedia.org is a domain name wikipedia is a sub-domain of the top-level domain org 5/18 Stefano Calzavara Universit`aCa' Foscari Venezia Security II - The Web Platform Domain Name System (DNS) The DNS system is used to resolve a FQDN into an IP address. There exists a many-to-many mapping between FQDNs and IP addresses. Sometimes, the term hostname is abused and used interchangeably with FQDN in this context.
    [Show full text]
  • Geolocation in the Browser from Google Gears to Geolocation Sensors
    Geolocation in the Browser From Google Gears to Geolocation Sensors Thomas Steiner Anssi Kostiainen Marijn Kruisselbrink Google LLC Intel Corporation Google LLC 20354 Hamburg, Germany 02160 Espoo, Finland San Francisco, CA 94105, USA [email protected] [email protected] [email protected] ABSTRACT 1 HISTORY OF BROWSER GEOLOCATION Geolocation is arguably one of the most powerful capabilities of Geolocation has been available to developers implicitly through smartphones and a lot of attention has been paid to native applica- the mapping of Internet Protocol (ip) addresses or address blocks tions that make use of it. The discontinued Google Gears plugin was to known locations. There are numerous paid subscription and one of the rst approaches to access exact location data on the Web free geolocation databases with varying claims of accuracy that as well, apart from server-side coarse location lookups based on In- range from country level to state or city level, sometimes including ternet Protocol (ip) addresses; and the plugin led directly to the now zip/post code level. A popular free way to obtain ip-based location widely implemented Geolocation api. The World Wide Web Con- data was through Google’s ajax api Loader library [2], which pro- sortium (w3c) Geolocation api specication denes a standard for vided an approximate, region-level estimate of a user’s location accessing location services in the browser via JavaScript. For a long through its google.loader.ClientLocation property. This api time, developers have also demanded more advanced features like did not require users to install any client-side software. Implicit background geolocation tracking and geofencing.
    [Show full text]
  • Liquid Web Applications
    Liquid Web Applications Design and Implementation of the Decentralized Cross-Device Web Doctoral Dissertation submitted to the Faculty of Informatics of the Università della Svizzera Italiana in partial fulfillment of the requirements for the degree of Doctor of Philosophy presented by Andrea Gallidabino under the supervision of Prof. Cesare Pautasso June 2020 Dissertation Committee Prof. Maristella Matera Politecnico di Milano, Italy Prof. Tommi Mikkonen University of Helsinki, Finland Prof. Marc Langheinrich Università della Svizzera italiana, Lugano, Switzerland Prof. Michele Lanza Università della Svizzera italiana, Lugano, Switzerland Dissertation accepted on 25 June 2020 Research Advisor PhD Program Director Prof. Cesare Pautasso Prof. Dr. Walter Binder, Prof. Dr. Silvia Santini i I certify that except where due acknowledgement has been given, the work presented in this thesis is that of the author alone; the work has not been submit- ted previously, in whole or in part, to qualify for any other academic award; and the content of the thesis is the result of work which has been carried out since the official commencement date of the approved research program. Andrea Gallidabino Lugano, 25 June 2020 ii Learn this lesson, that to be self-contented is to be vile and ignorant, and to aspire is better than to be blindly and impotently happy. Edwin A. Abbott iii iv Abstract Web applications are traditionally designed having in mind a server-centric ar- chitecture, whereby the whole persistent data, dynamic state and logic of the application are stored and running on a Web server. The clients running in the Web browsers traditionally render only pre-computed views fetched from the server.
    [Show full text]