Web User Interface Implementation Technologies: an Underview

Total Page:16

File Type:pdf, Size:1020Kb

Web User Interface Implementation Technologies: an Underview Web User Interface Implementation Technologies: An Underview Antero Taivalsaari1, Tommi Mikkonen2, Kari Systa¨3 and Cesare Pautasso4 1Nokia Technologies, Tampere, Finland 2Department of Computer Science, University of Helsinki, Helsinki, Finland 3Tampere University of Technology, Tampere, Finland 4Software Institute, Faculty of Informatics, USI, Lugano, Switzerland Keywords: Web User Interfaces, Web Programming, Web Rendering, Single Page Web Applications, Web Application Architectures. Abstract: Over the years, the World Wide Web has evolved from a document distribution environment into a rich de- velopment platform that can run compelling, full-fledged software applications. However, the programming capabilities of the web browser – designed originally for relatively simple scripting tasks – have evolved or- ganically in a rather haphazard fashion. Consequently, there are many ways to build applications on the Web today. Depending on one’s viewpoint, current standards-compatible web browsers support three, four or even five built-in application rendering and programming models. In this paper, we provide an ”underview” of the built-in client-side web application UI implementation technologies, i.e., a summary of those rendering mod- els that are built into the standards-compatible web browser out-of-the-box. While the dominance of the base HTML/CSS/JS technologies cannot be ignored, we foresee Web Components and WebGL gaining popularity as the world moves towards more complex and even richer web applications, including systems supporting virtual and augmented reality. 1 INTRODUCTION input modalities of the devices, valuable content has moved gradually from mobile devices to the cloud, The World Wide Web has become such an integral thus reducing the original role of the mobile apps con- part of the human society that it is often forgotten that siderably. the Web did not even exist thirty years ago. The orig- Interestingly, the programming capabilities of the inal design sketches related to the World Wide Web Web have largely been an afterthought – designed date back to the late 1980s. The first web browser originally for relatively simple scripting tasks. Due prototype for the NeXT computer was completed by to different needs and motivations, there are many Tim Berners-Lee in December 1990. The first version ways to make software run on the Web – many more of the Mosaic web browser was released in Febru- than people generally realize. Furthermore, over the ary 1993, followed by the first commercially suc- years these programming capabilities have evolved in cessful browser – Netscape Navigator – in late 1994. a rather haphazard fashion. Consequently, there are Widespread commercial use of the Web took off in the various ways to build applications on the Web. With- late 1990s (Berners-Lee and Fischetti, 2000) when the out considering any extensions, frameworks and add- web browser became the most commonly used com- on libraries, depending on one’s viewpoint, the Web puter program, sparking a revolution that has trans- browser natively supports three, four or five different formed not only commerce but communication, social built-in application rendering and development mod- life and politics as well. els. Thousands of libraries and frameworks have then In desktop computers, today nearly all the impor- been implemented on top of these built-in models. tant tasks are performed using the web browser. Even Furthermore, in addition to architectures that par- mobile applications can be viewed merely as ”mirrors tition applications more coarsely between server and into the cloud” (Charland and Leroux, 2011). While client side components (Gallidabino and Pautasso, native mobile apps still offer UI frameworks and wid- 2017), it is increasingly possible to fine-tune the ap- gets that are better suited to the limited screen size and plication logic by moving code flexibly between the 127 Taivalsaari, A., Mikkonen, T., Systä, K. and Pautasso, C. Web User Interface Implementation Technologies: An Underview. DOI: 10.5220/0006885401270136 In Proceedings of the 14th International Conference on Web Information Systems and Technologies (WEBIST 2018), pages 127-136 ISBN: 978-989-758-324-7 Copyright © 2018 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved WEBIST 2018 - 14th International Conference on Web Information Systems and Technologies client and the server (Meijer, 2007). In this context, 2 EVOLUTION OF THE WEB the rendering capabilities of the web browser are cru- BROWSER AS AN cial in creating the presentation layer of the applica- tions. APPLICATION PLATFORM In this paper, we provide a comparison of the built-in client-side web application architectures, i.e., Over the past twenty-five years, the World Wide Web the programming capabilities that the web browsers has evolved from its humble origins as a document provide out-of-the-box before any additional libraries sharing system to a massively popular hypermedia ap- are loaded. This is a topic that has received surpris- plication and content distribution environment – in ingly little attention in the literature. While there are short, the most powerful information dissemination countless papers on specific web development tech- environment in the history of humankind. This evo- nologies, and hundreds of libraries have been devel- lution has not taken place in a fortnight; it has not oped on top of the browser, there are few if any followed a carefully designed master plan either. Al- papers comparing the built-in user interface devel- though the World Wide Web Consortium (W3C) has opment models offered by the browser itself. The seemingly been in charge of the evolution of the Web, choice between these alternative development mod- in practice the evolution has been driven largely by els has a significant impact on the overall architecture dominant web browser vendors: Mozilla, Microsoft, and structure of the resulting web applications. The Apple, Google and (to a lesser degree) Opera. Over choices are made more difficult by the fact that the the years, these companies have had divergent, often web browser offers a number of overlapping features misaligned business interests. While browser compat- to accomplish even basic tasks, reflecting the histori- ibility has improved significantly in recent years, the cal, organic evolution of the web browser as an appli- browser landscape is still truly a mosaic or cornucopia cation platform. of features, reflecting organic evolution – or a tug of This paper is motivated by the recent trend to- war – between different vendors over time. ward simpler, more basic approaches in web devel- Before delving into more technical topics, let us opment. According to recent studies, the vast major- briefly revisit the evolution of the web browser as a ity (up to 86%) of web developers feel that the Web software platform (Taivalsaari et al., 2008; Taivalsaari and JavaScript ecosystems have become far too com- and Mikkonen, 2011; Anttonen et al., 2011). plex (http://stateofjs.com/). There is a movement to Classic Web. In the early life of the Web, web go back to the roots of web application development pages were truly pages, i.e., page-structured docu- by building directly upon what the web browser can ments that contained primarily text with interspersed provide without the added layers introduced by vari- images, without animation or any interactive con- ous libraries and frameworks. The recent ”zero frame- tent. Navigation between pages was based on sim- work manifesto” crystallizes this desire for simplicity ple hyperlinks, and a new web page was loaded from (Bitworking.org, 2014). However, even the ”vanilla” the web server each time the user clicked on a link. browser offers a cornucopia of choices when it comes There was no need for asynchronous network com- to application development. munication between the browser and the web server. This paper is an extended version of an earlier For reading user input some pages were presented as conference paper (Taivalsaari et al., 2017). The ex- forms, with simple textual fields and the possibility to tensions over the earlier work include extended back- use basic widgets such as buttons and radio buttons. ground and motivation, more detailed description of These types of ”classic web” pages were characteris- the different technologies, together with sample code, tic of the early life of the Web in the early 1990s. and a more elaborated discussion on the broader ar- Hybrid Web. With the introduction of DHTML chitectural implications. – the combination of HTML, Cascading Style Sheets The structure of this paper is as follows. In Sec- (CSS), the JavaScript language (Flanagan, 2011), and tion 2, we provide an overview on the evolution of the Document Object Model (DOM) – it became pos- the web browser as an application platform. In Sec- sible to create interactive web pages with built-in sup- tion 3, we dive into the built-in user interface de- port for more advanced graphics and animation. The velopment and rendering models offered by modern JavaScript language, introduced in Netscape Naviga- web browsers: (1) DOM, (2) Canvas, (3) WebGL, (4) tor version 2.0B almost as an afterthought in Decem- SVG, and (5) Web Components. In Section 4, we ber 1995, made it possible to build animated interac- provide a comparison, followed by a broader archi- tive content by scripting directly the web browser. tectural discussion in Section 5. Finally, Section 6 In the second phase, web pages became increas- concludes
Recommended publications
  • On the Uniqueness of Browser Extensions and Web Logins
    To Extend or not to Extend: on the Uniqueness of Browser Extensions and Web Logins Gábor György Gulyás Dolière Francis Somé INRIA INRIA [email protected] [email protected] Nataliia Bielova Claude Castelluccia INRIA INRIA [email protected] [email protected] ABSTRACT shown that a user’s browser has a number of “physical” charac- Recent works showed that websites can detect browser extensions teristics that can be used to uniquely identify her browser and that users install and websites they are logged into. This poses sig- hence to track it across the Web. Fingerprinting of users’ devices is nificant privacy risks, since extensions and Web logins that reflect similar to physical biometric traits of people, where only physical user’s behavior, can be used to uniquely identify users on the Web. characteristics are studied. This paper reports on the first large-scale behavioral uniqueness Similar to previous demonstrations of user uniqueness based on study based on 16,393 users who visited our website. We test and their behavior [23, 50], behavioral characteristics, such as browser detect the presence of 16,743 Chrome extensions, covering 28% settings and the way people use their browsers can also help to of all free Chrome extensions. We also detect whether the user is uniquely identify Web users. For example, a user installs web connected to 60 different websites. browser extensions she prefers, such as AdBlock [1], LastPass [14] We analyze how unique users are based on their behavior, and find or Ghostery [8] to enrich her Web experience. Also, while brows- out that 54.86% of users that have installed at least one detectable ing the Web, she logs into her favorite social networks, such as extension are unique; 19.53% of users are unique among those who Gmail [13], Facebook [7] or LinkedIn [15].
    [Show full text]
  • Cisco Telepresence Management Suite 15.13.1
    Cisco TelePresence Management Suite 15.13.1 Software Release Notes First Published: June 2021 Cisco Systems, Inc. www.cisco.com 1 Contents Preface 3 Change History 3 Product Documentation 3 New Features in 15.13.1 3 Support for Cisco Meeting Server SIP recorder in Cisco TMS 3 Support for Cisco Webex Desk Limited Edition 3 Webex Room Panorama series to support 20000 kbps Bandwidth 3 Features in Previous Releases 3 Resolved and Open Issues 4 Limitations 4 Interoperability 8 Upgrading to 15.13.1 8 Before You Upgrade 8 Redundant Deployments 8 Upgrading from 14.4 or 14.4.1 8 Upgrading From a Version Earlier than 14.2 8 Prerequisites and Software Dependencies 8 Upgrade Instructions 8 Using the Bug Search Tool 9 Obtaining Documentation and Submitting a Service Request 9 Cisco Legal Information 10 Cisco Trademark 10 Cisco Systems, Inc. www.cisco.com 2 Cisco TelePresence Management Suite Software Release Notes Preface Change History Table 1 Software Release Notes Change History Date Change Reason June 2021 Release of Software Cisco TMS 15.13.1 Product Documentation The following documents provide guidance on installation, initial configuration, and operation of the product: ■ Cisco TelePresence Management Suite Installation and Upgrade Guide ■ Cisco TelePresence Management Suite Administrator Guide ■ Cisco TMS Extensions Deployment Guides New Features in 15.13.1 Support for Cisco Meeting Server SIP recorder in Cisco TMS Cisco TMS currently supports Cisco Meeting Server recording with XMPP by default. As XMPP is deprecated from Meeting Server 3.0 onwards, it will only support SIP recorder. For such Cisco Meeting Server with SIP recorder, the valid SIP Recorder URI details must be provided in Cisco TMS.
    [Show full text]
  • PDF-LATEX 2Ε Abstract
    Universität Ulm | 89069 Ulm | Germany Faculty of Engineering, Computer Science and Psychology Databases and Information Systems Department Evaluating State-of-the-Art Web Component Frameworks Bachelor’s thesisat Universität Ulm Submitted by: Stefan Engelmayer [email protected] Reviewer: Prof. Dr. Manfred Reichert Supervisor: Dr. Johannes Schobel 2019 Version from May 29, 2019 c 2019 Stefan Engelmayer This work is licensed under the Creative Commons. Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/de/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA. Composition: PDF-LATEX 2ε Abstract Websites are getting more complex over the years because it is not just used to display information, but to use some applications. One challenge is to maintain these services and keep them up to date. To reuse existing code, Web Components are introduced to outsource complex structures as an HTML element including its functionality. Therefore, some frameworks available which help to create Web Components by providing some useful tools and make the development process easier for developers. Because there are numerous different frameworks available for the development, it is not easy to find the right one for the own project. Because the standards are changing fast in computer science, the development process should always be State-of-the-Art. The aim of this thesis is to give a brief overview over Web Component frameworks and find out which framework is a good choice for given use cases. First some frameworks are introduced.
    [Show full text]
  • 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]
  • Google AMP and What It Can Do for Mobile Applications in Terms of Rendering Speed and User-Experience
    URI: urn:nbn:se:bth-17952 Google AMP and what it can do for mobile applications in terms of rendering speed and user-experience Niklas Andersson Oscar B¨ack June 3, 2019 Faculty of Computing Blekinge Institute of Technology SE-371 79 Karlskrona Sweden This thesis is submitted to the Faculty of Computing at Blekinge Institute of Technology in partial fulfillment of the requirements for the bachelor degree in Software Engineering. The thesis is equivalent to 10 weeks of full time studies. The authors declare that they are the sole authors of this thesis and that they have not used any sources other than those listed in the bibliography and identi- fied as references. They further declare that they have not submitted this thesis at any other institution to obtain a degree. Contact Information: Authors: Niklas Andersson [email protected] Oscar B¨ack [email protected] External Advisor: Simon Nord, Prisjakt [email protected] University Advisor: Michel Nass [email protected] Faculty of Computing Internet: www.bth.se Blekinge Institute of Technology Phone: +46 455 38 50 00 SE-371 79 Karlskrona, Sweden Fax: +46 455 38 50 57 1 1 Abstract On today’s web, a web page needs to load fast and have a great user experience in order to be successful. The faster the better. A server side rendered web page can have a prominent initial load speed while a client side rendered web page will have a great interactive user experience. When combining the two, some users with a bad internet connection or a slow device could receive a poor user experience.
    [Show full text]
  • DHTML Effects in HTML Generated from DITA
    DHTML Effects in HTML Generated from DITA XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/ 2 | OpenTopic | TOC Contents DHTML Effects in HTML Generated from DITA............................................................3 XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/ OpenTopic | DHTML Effects in HTML Generated from DITA | 3 DHTML Effects in HTML Generated from DITA This topic describes an approach to creating expanding text and other DHTML effects in HTML-based output generated from DITA content. It is common for Help systems to use layering techniques to limit the amount of information presented to the reader. The reader chooses to view the information by clicking on a link. Most layering techniques, including expanding text, dropdown text and popup text, are implemented using Dynamic HTML. Overview The DITA Open Toolkit HTML transformations do not provide for layering effects. However, some changes to the XSL-T files, and the use of outputclassmetadata in the DITA topic content, along with some judicious use of JavaScript and CSS, can deliver these layering effects. Authoring Example In the following example illustrating the technique, a note element is to output as dropdown text, where the note label is used to toggle the display of the note text. The note element is simply marked up with an outputclass distinct attribute value (in this case, hw_expansion). < note outputclass="hw_expansion" type="note">Text of the note</note> Without any modification, the DITA OT will transform the note element to a paragraph element with a CSS class of the outputclass value.
    [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]
  • Introduction to Scalable Vector Graphics
    Introduction to Scalable Vector Graphics Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Table of Contents If you're viewing this document online, you can click any of the topics below to link directly to that section. 1. Introduction.............................................................. 2 2. What is SVG?........................................................... 4 3. Basic shapes............................................................ 10 4. Definitions and groups................................................. 16 5. Painting .................................................................. 21 6. Coordinates and transformations.................................... 32 7. Paths ..................................................................... 38 8. Text ....................................................................... 46 9. Animation and interactivity............................................ 51 10. Summary............................................................... 55 Introduction to Scalable Vector Graphics Page 1 of 56 ibm.com/developerWorks Presented by developerWorks, your source for great tutorials Section 1. Introduction Should I take this tutorial? This tutorial assists developers who want to understand the concepts behind Scalable Vector Graphics (SVG) in order to build them, either as static documents, or as dynamically generated content. XML experience is not required, but a familiarity with at least one tagging language (such as HTML) will be useful. For basic XML
    [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]
  • Visualisation of Resource Flows Technical Report
    Visualisation of Resource Flows Technical Report Jesper Karjalainen (jeska043) Erik Johansson (erijo926) Anders Kettisen (andke020) Tobias Nilsson (tobni908) Alexander Eriksson (aleer034) Contents 1. Introduction 1 1.1. Problem description . .1 1.2. Tools . .1 2. Background/Theory 1 2.1. Sphere models . .1 2.2. Vector Graphics . .2 2.3. Cubic Beziers . .2 2.4. Cartesian Mapping of Earth . .3 2.5. Lines in 3D . .3 2.6. Rendering Polygons . .4 2.6.1 Splitting polygons . .4 2.6.2 Tessellate polygons . .4 2.6.3 Filling Polygon by the Stencil Method . .5 2.7. Picking . .5 3. Method 5 3.1. File Loading . .5 3.2. Formatting new files . .6 3.3. Data Management . .6 3.4. Creating the sphere . .6 3.4.1 Defining the first vertices . .6 3.4.2 Making the sphere smooth . .7 3.5. Texturing a Sphere . .8 3.6. Generating Country Borders . .8 3.7. Drawing 3D lines . 10 3.8. Assigning widths to flow lines . 12 3.8.1 Linear scaling . 12 3.8.2 Logarithmic scaling . 12 3.9. Drawing Flow Lines . 12 3.10.Picking . 13 3.10.1 Picking on Simple Geometry . 13 3.10.2 Picking on Closed Polygon . 14 3.11.Rendering Polygons . 14 3.11.1 Concave Polygon Splitting into Convex Parts . 14 3.11.2 Filling by the Stencil Buffer Method . 16 3.12.Shader Animations . 16 3.12.1 2D-3D Transition Animation . 16 3.12.2 Flowline Directions . 17 3.13.User interface . 17 3.13.1 Connecting JavaScript and C++ . 17 3.13.2 Filling the drop-down lists with data .
    [Show full text]
  • COMP 2145 Web Programming
    South Central College COMP 2145 Web Programming Common Course Outline Course Information Description This course covers the popular server-side language PHP and Drupal, a popular CMS (Content Management System). It includes important language concepts such as data types, control statements, debugging techniques, the use of SQL (Standard Query Language). PHP will give the student experience with LAMP (Linux, Apache, MySQL, and PHP) . Prerequisites: COMP1140 - Web Development with a C or higher, or a working knowledge of HTML, CSS, and FTP. COMP1130 - Programming Fundamentals with a C or higher, or a working knowledge of at least one programming language. It is strongly recommended that you have a minimum typing speed of at least 35 wpm as well as a working knowledge of Microsoft Access (COMP1125). Instructional Associate Degree Level Total Credits 4.00 Total Hours 64.00 Types of Instruction Instruction Type Credits/Hours Online/lecture Pre/Corequisites C or better in COMP1140 C or better in COMP1130 or equivalent programming experience Course Competencies 1 Install and use PHP on a local server. Learning Objectives Describe Open Source software and why it is effective for improved software development. Draw a picture describing the relationship between client/server objects used by PHP and mySQL. Common Course Outline September, 2016 Install PHP and mySQL and an Apache web server. Write a simple test program using PHP on the local server (http://localhost/ ) Establish a working environment for PHP web page development. Use variables, constants, and environment variables in a PHP program. 2 Utilize HTML forms and PHP to get information from the user.
    [Show full text]
  • WEB-BASED ANNOTATION and COLLABORATION Electronic Document Annotation Using a Standards-Compliant Web Browser
    WEB-BASED ANNOTATION AND COLLABORATION Electronic Document Annotation Using a Standards-compliant Web Browser Trev Harmon School of Technology, Brigham Young University, 265 CTB, Provo, Utah, USA Keywords: Annotation, collaboration, web-based, e-learning. Abstract: The Internet provides a powerful medium for communication and collaboration through web-based applications. However, most web-based annotation and collaboration applications require additional software, such as applets, plug-ins, and extensions, in order to work correctly with the web browsers typically found on today’s computers. This in combination with the ever-growing number of file formats poses an obstacle to the wide-scale deployment of annotation and collaboration systems across the heterogeneous networks common in the academic and corporate worlds. In order to address these issues, a web-based system was developed that allows for freeform (handwritten) and typed annotation of over twenty common file formats via a standards-compliant web browser without the need of additional software. The system also provides a multi-tiered security architecture that allows authors control over who has access to read and annotate their documents. While initially designed for use in academia, flexibility within the system allows it to be used for many annotation and collaborative tasks such as distance-learning, collaborative projects, online discussion and bulletin boards, graphical wikis, and electronic grading. The open-source nature of the system provides the opportunity for its continued development and extension. 1 INTRODUCTION did not foresee the broad spectrum of uses expected of their technologies by today’s users. While serving While the telegraph and telephone may have cracked this useful purpose, such add-on software can open the door of instantaneous, worldwide become problematic in some circumstances because communication, the Internet has flung it wide open.
    [Show full text]