Inlämning av Examensarbete / Submission of Thesis

Mikael Wejsflog , pp. 32. TKS/Medieteknik, 2006.

The work

Författare / Author: Mikael Wejsflog
miwe02@student.bth.se
Titel / Title: MyMusic – e-shop för musik i Flash
Översatt titel / Translated title: MyMusic – e-shop for music files in Flash
Abstrakt Abstract:

This is the end report of my final exam at Medieteknik. It covers the planning, work process and review of a Flash based web application that I set out to do.
The goal was to create a user friendly, interactive e-shop with embedded functionality for playing music, displaying rich media content and researching possible payment solutions, to enable buying music files online. The project involved creating the user interface, the programmatic functionality of a Flash client (an SWF file). Also, setting up an Apache HTTP Server and establishing a working “bridge” between the Flash client and the web server with Flash Remoting components and AMFPHP. Furthermore, a web interface for adding music files and data to the server was created, built in HTML, CSS, JavaScript, PHP and MySQL.
The project consisted of researching and implementing the technologies and techniques involved by iteratively collecting information, reading, testing, programming and evaluating the end results. Also, object oriented design and programming principles was applied in the development process. The software development methodologies – Agile development and extreme programming was practiced.
The purpose was to gain experience in developing large scale client/server web applications dealing with creative processes, project planning, project management and problem solving. And in the longer perspective make use of the experience and knowledge in future projects.

Populärvetenskaplig beskrivning / Popular science summary: Jag hade en idé om att skapa en e-shop med fokus på användarvänlighet och interaktivitet.
Detta ledde till en klient/server-applikation med funktioner för att lyssna på musik och söka efter- och ta del av musikinformation. Syftet var att ge användare möjlighet att köpa musik i form av nedladdningsbara MP3-filer. Applikationen är huvudsakligen indelad i tre sektioner, en meny överst; en musikspelare placerad på vänster sida; och en s.k. content-del, ett slags fönster där all text och bildbaserat innehåll presenteras. Gränssnittets utformning är rent och enkelt med tydliga knappar och menyer för enkel navigation.
Musik kan förhandslyssnas, och spelas upp med hjälp av en inbyggd musikspelare. Tanken är att ljudet ska kunna spelas upp i realtid från servern, dvs. strömmas. Detta medför att data inte lagras hos klienten och syftet är alltså att användaren ska kunna förhandslyssna på den musik han eller hon är intresserad av att köpa, men till sämre ljudkvalitet än den köpta MP3-filen. En display visar artistens eller gruppens namn, låtnamn, spelad tid, och total tid. Vidare finns knappar för att spela upp, stoppa, pausa och spela nästa respektive föregående låt. Slutligen finns ett reglage för att kunna styra spelposition. Som ett led i att förenkla köp av musik kan en spellista fyllas med valda låtar. Låtarna i denna lista kan man sedan köpa i ett svep eller var för sig. Detta innebär att användaren slipper leta upp en låt i taget, och lyssna på dem vart efter varandra.

Ett webbformulär byggdes för att kunna tillhandahålla uppladdning och lagring av musikfiler och musikinformation. Webbformuläret är byggt i teknikerna HTML, CSS, PHP och JavaScript. Den innehåller en dynamiskt genererad tabell för att underlätta insättning av låtar. Webbformuläret kan med fördel utnyttjas av godkända parter (skivbolag, artister…), för att ladda upp och lagra musikfiler på servern. Detta resulterar i en arbetsbesparande process eftersom arbetsbördan fördelas till extern part.

All musikinformation, så som artistnamn, låtnamn, utgivningsdatum, etc. lagras och hämtas från en MySQL-databas. Musikfiler lagras och spelas upp från filsystemet i en Apache HTTP Server.

Applikationen utgörs av flera skikt. Det innebär att den är uppdelad i flera separata delar. En del består av gränssnittet, en SWF-fil som användaren kommer åt genom sin webbläsare. Gränssnittet opererar gentemot data som ligger lagrat på en webbserver. Vidare finns speciell programkod på servern för att ta emot-, skicka respektive manipulera data.
Två typer av datalager används för att möjliggöra kommunikation av data mellan Flashklient (gränssnitt) och server – Flash Remoting och AMFPHP.
Flash Remoting är ett slags kommunikationsprotokoll som Flashklienten använder för att kommunicera med server.
AMFPHP används för att ”tolka” Flashkod som sänds via HTTP till server. AMFPHP omvandlar denna till, för servern, läsbar server-sidekod – PHP, som i sin tur kan manipulera data på servern, t.ex. lagra data i databasen. När data skickas till Flashklienten, omvandlar AMFPHP data till, för Flashfilen, läsbar kod.

En stor del av projektet har varit av undersökande natur. Målet var att erhålla tekniska kunskaper i Flashmiljön för att kunna utveckla interaktiva webbapplikationer. Kunskap har inhämtats via litteratur i bokform, det inbyggda hjälpbiblioteket i Adobe Flash 8 Professional mjukvara, samt från internet, bland en mängd olika forum och webbsidor.
Utvecklingsarbetet har bestått av en kombination av rörlig utveckling och extrem programmering.
Ämnesord / Subject: Datavetenskap - Computer Science\Computersystems
Medieteknik - Media Technology
Nyckelord / Keywords: Flash, ActionScript, Flash Remoting, AMFPHP, JavaScript, PHP, MySQL, DHTML, klient/server.

Publication info

Dokument id / Document id:
Program:/ Programme Medieteknik med inr. mot interaktiva system/Mediatechniques
Registreringsdatum / Date of registration: 08/31/2006
Uppsatstyp / Type of thesis: C-Uppsats

Context

Handledare / Supervisor: Kerstin Gustavsson
kerstin.gustavsson@bth.se
Examinator / Examiner: Mattias Schertell, Johan Claesson
Organisation / Organisation: Blekinge Institute of Technology
Institution / School: TKS/Medieteknik
S-374 24 Karlshamn
+46 455 38 50 00
Anmärkningar / Comments:

+46 (0)708 38 08 03
guild2000@hotmail.com