Design and implementation of a single page web-application - Case Online Music Diary

No Thumbnail Available

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2014

Department

Major/Subject

Ohjelmistotuotanto- ja liiketoiminta

Mcode

T3003

Degree programme

Language

en

Pages

70 s.

Series

Abstract

Practicing a musical instrument can be challenging not only motorically but mentally as well. One way to help with motivational problems is to keep records of practicing, which helps in tracking the progress. In this thesis we design and implement a prototype for a web application that allows people to save and browse their musical practicing and other interesting online material. The application also enables sharing and commenting these practice logs with other users of the system and the visualization of the practice data. In addition, the application has features designed to facilitate communication as well as material and recording sharing between focused groups of users. We chose to implement the prototype as a Single-Page Web Application (SPA) because of their benefits, such as smaller server side resource requirements per user and enhanced user experience when compared to the traditional web application model. In order to select a suitable SPA technology for implementing the application we formulate a set of criteria for the technology to be selected, and compare four different SPA solutions, Backbone.js, AngularJS, EmberJS and CanJS, from which we select the best match for the criteria to be used in the prototype implementation. The prototype is evaluated by showing how it fulfils the requirements made from the original problem description. Furthermore, this thesis proposes further research topics on the SPA technologies and a set of best practice principles for working with Backbone.js.

Musiikin harjoittelu voi olla hankalaa niin motorisesti kuin henkisestikin. Yksi keino auttaa motivaation kanssa on tallentaa harjoittelu jollain tavalla, mikä helpottaa edistyksen seurannassa. Tässä työssä kehitämme prototyypin web-ohjelmasta, joka mahdollistaa musiikillisen harjoittelun sekä muun online-materiaalin tallentamisen ja katselun. Ohjelma mahdollistaa myös näiden merkintöjen jakamisen ja kommentoinnin muiden käyttäjien kanssa, sekä harjoitteludatan visualisoinnin. Tämän lisäksi ohjelma mahdollistaa käyttäjäryhmien keskeisen kommunikaation ja materiaalien sekä nauhoitusten jakamisen. Prototyyppi haluttiin implementoida ns. yhden sivun web-sovelluksena, Single-Page Web Application (SPA), koska tämänkaltaiset ohjelmat kuluttavat vähemmän palvelinresursseja käyttäjää kohden ja tarjoavat paremman käyttökokemuksen verrattuna perinteiseen web-ohjelmamalliin. Sopivan SPA-teknologian valitsemiseksi muodostamme kriteerit, joita apuna käyttäen arvioimme neljä SPA-ratkaisua, Backbone.js, AngularJS, EmberJS ja CanJS, joista valitsemme parhaiten kriteerejä vastaavan ratkaisun käytettäväksi prototyypin implementoinnissa. Prototyyppi-implementaatio arvioidaan näyttämällä, että se vastaa alkuperäisestä ongelmakuvauksesta johdettuihin vaatimuksiin. Tämä työ ehdottaa myös aiheita jatkotutkimukselle koskien SPA-teknologioita sekä kokoelman periaatteita Backbone.js:n kanssa työskentelyyn.

Description

Supervisor

Hyvönen, Eero

Thesis advisor

Penttinen, Henri

Keywords

sovelluskehitys, yhden sivun applikaatio, ohjelmistokehys, web, SPA, application development, single page, javascript, frameworks, Backbone js, AngularJS, EmberJS, CanJS

Other note

Citation