Monarch: a Reimagined Browser for the Modern Web

Total Page:16

File Type:pdf, Size:1020Kb

Monarch: a Reimagined Browser for the Modern Web Dartmouth College Dartmouth Digital Commons Dartmouth College Undergraduate Theses Theses and Dissertations 5-23-2016 Monarch: A Reimagined Browser for the Modern Web Daniel R. Whitcomb Dartmouth College Follow this and additional works at: https://digitalcommons.dartmouth.edu/senior_theses Part of the Computer Sciences Commons Recommended Citation Whitcomb, Daniel R., "Monarch: A Reimagined Browser for the Modern Web" (2016). Dartmouth College Undergraduate Theses. 107. https://digitalcommons.dartmouth.edu/senior_theses/107 This Thesis (Undergraduate) is brought to you for free and open access by the Theses and Dissertations at Dartmouth Digital Commons. It has been accepted for inclusion in Dartmouth College Undergraduate Theses by an authorized administrator of Dartmouth Digital Commons. For more information, please contact [email protected]. DARTMOUTH COLLEGE UNDERGRADUATE SENIOR THESIS Monarch: A Reimagined Browser for the Modern Web Daniel Whitcomb ‘16 supervised by Dr. Charles PALMER May 23, 2016 DARTMOUTH COMPUTER SCIENCE TECHNICAL REPORT TR2016-799 1 Abstract—Web browsers have become fast and flexible enough to allow web applications to be viable competition to native applications. Now that the web as a platform has become formidable, it has changed the types of web applications being produced, and the ways in which native applications are being built. This observation leads me to propose the concept of the App Web - a category of the world wide web which increases productivity - and its place in the current application experience. Monarch is a system designed to merge the advantages of native and web applications, improving experiences for both the developer and the user. F 1 INTRODUCTION for an ideal platform which would have the HE world wide web is one of the most advantages of both systems. Finally, we intro- T pervasive technologies in the modern day. duce Monarch, an web application browser and A large portion of the software being developed launching platform. Monarch aims to meet the today is based on web services. It is now the proposed goals of the ideal platform and bring standard to produce a mobile, web, and desk- together web and native applications. top version for every internet-based applica- tion. This can be a costly endeavor for many companies, and due to the recent advances in 2 THE APP WEB the speed and abilities of web technologies, A mix of new W3C APIs and a boom in it is common to forgo a desktop application JavaScript-centric web page development in the as the web browser can serve as a sufficient last 7 years lead to a shift in how web sites are platform. It is difficult to argue, however, that designed, and allowed the web application to the web browser offers a more productive and be an increasingly serious paradigm. The App integrated user experience than a native appli- Web is the category of web sites that can be cation. By focusing on web applications, ven- defined as a web application. dors are sacrificing the substantially superior Technically, web application refers to a site desktop environment: a separated application which uses logic to provide dynamic func- icon, menu system, and access to native APIs. tionality. This logic may be executed on the This is most important for vendors which are server, client, or both. These applications can producing site web applications - a type of web also sometimes save user’s data, handle interac- site that enable its users to be more productive tions between different users, and process data, on a certain task. Web applications represent a etc. Under this definition, almost all modern specific subset of website, which we call the web sites could technically be considered web App Web. This new category requires the us- applications. ability of a native application, but by nature, is usually delivered via a web browser. In this work, we will use a narrower defini- We will discuss the specifics of App Web tion because the traditional characteristics of a sites, and their place within a user’s workflow. web application, and the technologies that run Then we will review the differences between most sites have become practically ubitquitous native and web applications, and propose goals across the web. Rather than a technically- driven definition, we will utilize a content- driven defintion. A web application is a site • Daniel Whitcomb is an undergraduate student at Dartmouth College in the Computer Science Department. This work is the which is function-driven; the site is associated final product of his undergraduate thesis. with verbs like send, create, play, and manage. • The author was advised by Charles C. Palmer. Without the web application, the user would 2 lose some amount of productivity, or the utli- Native and web applications, while their tization of some function. Examples under this differences are shrinking, still have their own definition include: Google Photos [1], Trello [2], advantages and disadvantages. These differ- or WolframAlpha [3]. These differ from content- ences continue to determine the types of ap- driven sites which have the goal of providing plications that are developed, and which users content to the user. Users generally don’t visit choose to use. The type of application we these sites with the goal of a function, but are considering will by default have a server- rather to experience some kind of content. Sites side system accompanying it. The differences like Buzzfeed [4], The New York Times [5], or between back-end systems will not be dis- Facebook [6] fall under this definition. cussed here because they generally don’t affect To be fair, there are sites with features that whether a native or web application is built. allow them to fall under both definitions. For our purposes, though, a strict definition is not 3.1 Development required. In later sections, this definition will The major advantage of web technologies is serve as a guide on how to approach the place they provide a system agnostic medium for these applications have in a user’s workflow. building and running applications. The prob- The App Web is functionally different from lems with porting between platforms and op- the content-based web, and the purpose of this erating systems are delegated to browser engi- work is to argue and show that the differences neers, while the web is a standardized platform should be accounted for by the methods with and developers can trust - to a high degree - which they are accessed. The goal of the App that their applications will run the same regard- Web should be to become so tightly integrated less of operating system or browser. This makes with the native operating system that users will it easy to see why developers would continue to see no discernable difference between native choose to build web-based applications, rather applications and web-based applications. than native applications. Web-based apps can have a unified codebase. This avoids updating and porting issues, which can more easily occur 3 NATIVE VS WEB across multiple codebases, and keeps interface and experience consistent across all users. The web browser, and its accompanying ren- Development speed is also a key difference dering technologies, has become an increas- between the two platforms. The web devel- ingly powerful platform. This allows vendors opment community has produced many types to create increasingly versatile and useful prod- of libraries that allow teams to increase de- ucts. The abilities of web technologies have velopment speed. JavaScript frameworks like narrowed the gap between itself and the native AngularJS [7] or React [8] pushed the pref- platform, making soley web-based applications ered development model toward a Model- a viable option for vendors. Companies cre- View-Controller pattern. These libraries gener- ating products which fit into the App Web ally automate much of the boilerplate code for must weigh the differences between the two developers, allowing them to focus on inter- platforms, as their products might fit well with action and business logic. Other web libraries both. similarly streamline page styling, networking, For the remainder of the paper, we will use and document manipulation each making a term native when refering to an application that web developer’s job significantly easier. is running within the user’s operating system - Native application development speed can and uses the operating system’s local APIs for be dependent on which platforms are being graphics, network, etc. The terms web technolo- supported. Development speed will decrease gies or web-based will refer to applications run as the number of supported platforms increase by classical browser technologies like HTML, because each will generally require different CSS, and JavaScript. systems for building user interfaces. 3 3.2 Features 3.4 User Experience Web technologies have a significant advantage Based on this, the primary advantage of build- over native apps in ease of development and ing a native application over a web-based one depolyment, but their abilities are highly lim- is feature richness and a stronger coupling with ited in comparison to native applications. Na- the host operating system. These advantages tive applications generally have access to every lead to a significant increase in the quality of feature and control the operating system has to user experience. Native applications can take offer. direct control over system menus, contextual Web processes are highly cordoned off from menus, and notifications. They have a perma- the operating system. There are many APIs nent presence on the user’s screen and have the browser implements that allow web pages an icon either in the Window’s task bar, or OS secure native access, but support is severly X’s dock. They can act as their own entities, limited compared to that of native applications.
Recommended publications
  • Analyzing Safari 2.X Web Browser Artifacts Using SFT
    Analyzing Safari 2.x Web Browser Artifacts using SFT. Copyright 2007 - Jacob Cunningham (v1.0) Table of Contents Introduction:...............................................................................................................................................3 Safari Forensic Tools................................................................................................................................. 3 OSX Property List files..............................................................................................................................3 Safari Related Files.................................................................................................................................... 4 The Safari Preferences files....................................................................................................................... 5 Browser History......................................................................................................................................... 7 Downloads history:.................................................................................................................................... 8 Bookmarks file ........................................................................................................................................10 Cookies file:............................................................................................................................................. 11 Browser Cache........................................................................................................................................
    [Show full text]
  • Build Lightning Fast Web Apps with HTML5 and SAS® Allan Bowe, SAS Consultant
    1091-2017 Build Lightning Fast Web Apps with HTML5 and SAS® Allan Bowe, SAS consultant ABSTRACT What do we want? Web applications! When do we want them? Well.. Why not today? This author argues that the key to delivering web apps ‘lightning fast’ can be boiled down to a few simple factors, such as: • Standing on the shoulders (not the toes) of giants. Specifically, learning and leveraging the power of free / open source toolsets such as Google’s Angular, Facebook’s React.js and Twitter Bootstrap • Creating ‘copy paste’ templates for web apps that can be quickly re-used and tweaked for new purposes • Using the right tools for the job (and being familiar with them) By choosing SAS as the back end, your apps will benefit from: • Full blown analytics platform • Access to all kinds of company data • Full SAS metadata security (every server request is metadata validated) By following the approach taken in this paper, you may well find yourself in possession of an electrifying capability to deliver great content and professional-looking web apps faster than one can say “Usain Bolt”. AUDIENCE This paper is aimed at a rare breed of SAS developer – one with both front end (HTML / Javascript) and platform administration (EBI) experience. If you can describe the object of object arrays, the object spawner and the Document Object Model – then this paper is (objectionably?) for you! INTRODUCTION You are about to receive a comprehensive overview of building Enterprise Grade web applications with SAS. Such a framework will enable you to build hitherto unimaginable things.
    [Show full text]
  • Servoy Stuff Browser Suite FAQ
    Servoy Stuff Browser Suite FAQ Servoy Stuff Browser Suite FAQ Please read carefully: the following contains important information about the use of the Browser Suite in its current version. What is it? It is a suite of native bean components and plugins all Servoy-Aware and tightly integrated with the Servoy platform: - a browser bean - a flash player bean - a html editor bean - a client plugin to rule them all - a server plugin to setup a few admin flags - an installer to help deployment What version of Servoy is supported? - Servoy 5+ Servoy 4.1.8+ will be supported, starting with version 0.9.40+, except for Mac OS X developer (client will work though) What OS/platforms are currently supported? In Developer: - Windows all platform - Mac OS X 10.5+ - Linux GTK based In Smart client: - Windows all platform - Mac OS X 10.5+ - Linux GTK based The web client is not currently supported, although a limited support might come in the future if there is enough demand for it… What Java versions are currently supported? - Windows: java 5 or java 6 (except updates 10 to 14) – 32 and 64-bit - Mac OS X: java 5 or java 6 – 32 and 64-bit - Linux: java 6 (except updates 10 to 14) – 32 and 64-bit Where can I get it? http://www.servoyforge.net/projects/browsersuite What is it made of? It is build on the powerful DJ-NativeSwing project ( http://djproject.sourceforge.net/ns ) v0.9.9 This library is using the Eclipse SWT project ( http://www.eclipse.org/swt ) v3.6.1 And various other projects like the JNA project ( https://jna.dev.java.net/ ) v3.2.4 The XULRunner
    [Show full text]
  • List of Applications Updated in ARL #2530
    List of Applications Updated in ARL #2530 Application Name Publisher .NET Core SDK 2 Microsoft Acrobat Elements Adobe Acrobat Elements 10 Adobe Acrobat Elements 11.0 Adobe Acrobat Elements 15.1 Adobe Acrobat Elements 15.7 Adobe Acrobat Elements 15.9 Adobe Acrobat Elements 6.0 Adobe Acrobat Elements 7.0 Adobe Application Name Acrobat Elements 8 Adobe Acrobat Elements 9 Adobe Acrobat Reader DC Adobe Acrobat.com 1 Adobe Alchemy OpenText Alchemy 9.0 OpenText Amazon Drive 4.0 Amazon Amazon WorkSpaces 1.1 Amazon Amazon WorkSpaces 2.1 Amazon Amazon WorkSpaces 2.2 Amazon Amazon WorkSpaces 2.3 Amazon Ansys Ansys Archive Server 10.1 OpenText AutoIt 2.6 AutoIt Team AutoIt 3.0 AutoIt Team AutoIt 3.2 AutoIt Team Azure Data Studio 1.9 Microsoft Azure Information Protection 1.0 Microsoft Captiva Cloud Toolkit 3.0 OpenText Capture Document Extraction OpenText CloneDVD 2 Elaborate Bytes Cognos Business Intelligence Cube Designer 10.2 IBM Cognos Business Intelligence Cube Designer 11.0 IBM Cognos Business Intelligence Cube Designer for Non-Production environment 10.2 IBM Commons Daemon 1.0 Apache Software Foundation Crystal Reports 11.0 SAP Data Explorer 8.6 Informatica DemoCreator 3.5 Wondershare Software Deployment Wizard 9.3 SAS Institute Deployment Wizard 9.4 SAS Institute Desktop Link 9.7 OpenText Desktop Viewer Unspecified OpenText Document Pipeline DocTools 10.5 OpenText Dropbox 1 Dropbox Dropbox 73.4 Dropbox Dropbox 74.4 Dropbox Dropbox 75.4 Dropbox Dropbox 76.4 Dropbox Dropbox 77.4 Dropbox Dropbox 78.4 Dropbox Dropbox 79.4 Dropbox Dropbox 81.4
    [Show full text]
  • Ideal Spaces OS-Platform-Browser Support
    z 4.9 OS-Platform-Browser Support v1.4 2020spaces.com 4.9 Table of Contents Overview....................................................................................................... 3 System Requirements ................................................................................... 4 Windows .................................................................................................................................................... 4 Mac ............................................................................................................................................................ 4 Support Criteria ............................................................................................ 5 OS Platform ................................................................................................................................................ 5 OS Version .................................................................................................................................................. 5 Web Browser and Operating System Combinations ..................................... 6 Current Platform / Web Browser Support ................................................................................................. 6 Out of Scope Browsers and Operating Systems ............................................ 7 Opera ..................................................................................................................................................... 7 Linux ......................................................................................................................................................
    [Show full text]
  • Maelstrom Web Browser Free Download
    maelstrom web browser free download 11 Interesting Web Browsers (That Aren’t Chrome) Whether it’s to peruse GitHub, send the odd tweetstorm or catch-up on the latest Netflix hit — Chrome’s the one . But when was the last time you actually considered any alternative? It’s close to three decades since the first browser arrived; chances are it’s been several years since you even looked beyond Chrome. There’s never been more choice and variety in what you use to build sites and surf the web (the 90s are back, right?) . So, here’s a run-down of 11 browsers that may be worth a look, for a variety of reasons . Brave: Stopping the trackers. Brave is an open-source browser, co-founded by Brendan Eich of Mozilla and JavaScript fame. It’s hoping it can ‘save the web’ . Available for a variety of desktop and mobile operating systems, Brave touts itself as a ‘faster and safer’ web browser. It achieves this, somewhat controversially, by automatically blocking ads and trackers. “Brave is the only approach to the Web that puts users first in ownership and control of their browsing data by blocking trackers by default, with no exceptions.” — Brendan Eich. Brave’s goal is to provide an alternative to the current system publishers employ of providing free content to users supported by advertising revenue. Developers are encouraged to contribute to the project on GitHub, and publishers are invited to become a partner in order to work towards an alternative way to earn from their content. Ghost: Multi-session browsing.
    [Show full text]
  • Google Chrome OS VS Distribuciones GNU/Linux 18
    1Google Chrome OS Universidad Católica “Nuestra Señora de la Asunción” Facultad de Ciencias y Tecnología Departamento de Ingeniería Electrónica e Informática TAI 2 Chrome OS Fernando Cardozo [email protected] Mat:51300 Prof: Ing Juan Urraza Asunción – Paraguay 2010 2Google Chrome OS Índice Introducción 4 Un nuevo modelo 5 Kernel 6 Arquitectura del software 6 El sistema en sí y los servicios 7 El navegador y el administrador de ventanas 8 Sistema de archivos 8 Diagrama del proceso de booteo 9 Requerimientos del hardware 10 Seguridad en el Chrome OS 10 Interfaz del usuario 11 Pestaña de aplicaciones 12 Panel 13 Multiples ventanas 14 Como se sincroniza Chrome en la nube 15 Google Cloud Printing 16 Chromoting 17 Chrome OS vs Windows 18 Google Chrome OS VS Distribuciones GNU/Linux 18 Cuestionamientos 19 Cuestionamientos 20 Proyectos similares 21 3Google Chrome OS Proyectos similares 22 Anexo 23 Conclusión 24 Referencias 25 4Google Chrome OS Introducción Google Chrome OS es un proyecto llevado a cabo por la compañía Google para desarrollar un sistema operativo basado en web. A través de su blog oficial, Google anunció el 7 de julio de 2009 que Google Chrome OS será un sistema realizado con base en código abierto (Núcleo Linux) y orientado inicialmente para mini portátiles, estando disponible en el segundo semestre de 2010. Funcionará sobre microprocesadores con tecnología x86 o ARM.. La compañía Google ha declarado que el código fuente del proyecto Google Chrome OS fue liberado a finales de 2009. Aunque el sistema se basa en un kernel Linux, tendrá un gestor de ventanas propio de Google.
    [Show full text]
  • Smug May 09 Final
    STANFORD/PALO ALTO MACINTOSH USERS GROUP NEWSLETTER Vol.19 No.5 May 2009 Will be presenting at the monday May 4 Meeting Kathy Garrigan will be the presenter. Avery DesignPro for Mac is software that lets you print on Avery products on your Macintosh. Like business cards, label sheets, greeting cards, iron-ons, and so on. Both Dave and myself have only used the CD. The business card template and labels are very easy to use. I hope to have some samples of the things that I used the Avery templates for. Cards, T-shirts and hopefully wine labels. The great part about this app it is FREE!!!! Lorrie bleiler "Select All." April Meeting Report "Go to end." "Undo dictation." "Select the word 'sigh'". by Dave Strom (Note from Dave: Hey, this works really well!) Jay is read- MacSpeech ing words, and he will speak punctuation like "period" or and Drobo "hyphen", and the punctuation goes in. We had two (count 'em: two in "Capitalize the word group", and Dictate capped it! "Open one!) this evening. Quote", and Jay read, then said "comma", then Jay read MacSpeech and Drobo. more, "close quote", "period", "go to sleep". MacSpeech If you speak fast, you can get up to 120 words a minute, www.macspeech.com but with most people it is more like 60, then 80-90 with Jay Gonzales presented MacSpeech Dictate. This software, practice. Dictate can keep up with you. It will not print out with a microphone, does speech recognition on the the text instantly (note from Dave: I notice it does buffer Macintosh.
    [Show full text]
  • Webbrowser Webpages
    Web Browser A web browser, or simply "browser," is an application used to access and view websites. Common web browsers include Microsoft Internet Explorer, Google Chrome, Mozilla Firefox, and Apple Safari. The primary function of a web browser is to render HTML, the code used to design or "markup" web pages. Each time a browser loads a web page, it processes the HTML, which may include text, links, and references to images and other items, such as cascading style sheets and JavaScript functions. The browser processes these items, then renders them in the browser window. Early web browsers, such as Mosaic and Netscape Navigator, were simple applications that rendered HTML, processed form input, and supported bookmarks. As websites have evolved, so have web browser requirements. Today's browsers are far more advanced, supporting multiple types of HTML (such as XHTML and HTML 5), dynamic JavaScript, and encryption used by secure websites. The capabilities of modern web browsers allow web developers to create highly interactive websites. For example, Ajax enables a browser to dynamically update information on a webpage without the need to reload the page. Advances in CSS allow browsers to display a responsive website layouts and a wide array of visual effects. Cookies allow browsers to remember your settings for specific websites. While web browser technology has come a long way since Netscape, browser compatibility issues remain a problem. Since browsers use different rendering engines, websites may not appear the same across multiple browsers. In some cases, a website may work fine in one browser, but not function properly in another.
    [Show full text]
  • Personalizing Voyager Using Browser Extensions
    University of Kentucky UKnowledge Library Presentations University of Kentucky Libraries 5-8-2015 Personalizing Voyager Using Browser Extensions Kathryn Lybarger University of Kentucky, [email protected] Right click to open a feedback form in a new tab to let us know how this document benefits oy u. Follow this and additional works at: https://uknowledge.uky.edu/libraries_present Part of the Cataloging and Metadata Commons Repository Citation Lybarger, Kathryn, "Personalizing Voyager Using Browser Extensions" (2015). Library Presentations. 128. https://uknowledge.uky.edu/libraries_present/128 This Presentation is brought to you for free and open access by the University of Kentucky Libraries at UKnowledge. It has been accepted for inclusion in Library Presentations by an authorized administrator of UKnowledge. For more information, please contact [email protected]. Personalizing Voyager using Browser Extensions Kathryn Lybarger @zemkat ELUNA 2015 #eluna2015 May 8, 2015 Personalizing Voyager As an institution, we have a fair amount of power over how Voyager’s OPAC looks Colors and fonts Which fields are searchable What displays in search results What displays in full record view … (anything really) Must find a balance Provide good access to most of our patrons Don’t clutter the interface needlessly But how about… Personalizing for particular groups of patrons? Personalizing for staff needs? Doing so quickly? Even temporarily? Web browser extensions Custom search bars Extensions Bookmarklets User scripts Browser
    [Show full text]
  • Open Source Software Notice
    Open Source Software Notice This document describes open source software contained in LG Smart TV SDK. Introduction This chapter describes open source software contained in LG Smart TV SDK. Terms and Conditions of the Applicable Open Source Licenses Please be informed that the open source software is subject to the terms and conditions of the applicable open source licenses, which are described in this chapter. | 1 Contents Introduction............................................................................................................................................................................................. 4 Open Source Software Contained in LG Smart TV SDK ........................................................... 4 Revision History ........................................................................................................................ 5 Terms and Conditions of the Applicable Open Source Licenses..................................................................................... 6 GNU Lesser General Public License ......................................................................................... 6 GNU Lesser General Public License ....................................................................................... 11 Mozilla Public License 1.1 (MPL 1.1) ....................................................................................... 13 Common Public License Version v 1.0 .................................................................................... 18 Eclipse Public License Version
    [Show full text]
  • EMERGING TECHNOLOGIES Dymamic Web Page Creation
    Language Learning & Technology January 1998, Volume 1, Number 2 http://llt.msu.edu/vol1num2/emerging/ pp. 9-15 (page numbers in PDF differ and should not be used for reference) EMERGING TECHNOLOGIES Dymamic Web Page Creation Robert Godwin-Jones Virginia Comonwealth University Contents: • Plug-ins and Applets • JavaScript • Dynamic HTML and Style Sheets • Instructional Uses • Resource List While remaining a powerful repository of information, the Web is being transformed into a medium for creating truly interactive learning environments, leading toward a convergence of Internet connectivity with the functionality of traditional multimedia authoring tools like HyperCard, Toolbook, and Authorware. Certainly it is not fully interactive yet, but that is undeniably the trend as manifested in the latest (version 4) Web browsers. "Dynamic HTML," incorporated into the new browsers, joins plug-ins, Web forms, Java applets, and JavaScript as options for Web interactivity. Plug-ins and Applets While Web pages are beginning to behave more like interactive applications, traditional authoring tools are themselves becoming Internet-savvy, primarily through the use of "plug-in" versions of players which integrate with Web browsers. The most commonly used plug-in today is Macromedia's "Shockwave," used to Web-enable such applications as Director, Authorware, and Flash. "Shocked" Web pages can be very interactive and provide a visually appealing means of interacting with users (as in some sample ESL exercises from Jim Duber). Plug-ins are easy to use -- they just need to be downloaded and installed. Some come bundled with Netscape and Microsoft's browsers, which simplifies considerably the installation process (and gives developers the confidence that most users will actually have the plug-in installed).
    [Show full text]