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 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.