Using WebKit as a cross-platform graphical user interface renderer for the Spotify client

University essay from Chalmers tekniska högskola/Institutionen för data- och informationsteknik

Abstract: Spotify provides a streaming music service used by thousands of users on a daily basis.The Spotify client consists of a simple yet effective graphical user interface. The interfaceis defined programmatically, in C++ and Objective-C, leaving little space formodifications post-compile-time.WebKit is an open source web renderer, providing a framework that performs renderingof web pages. WebKit is used in Safari, Apple’s web browser flagship.HTML, CSS and JavaScript are versatile, and widely used, tools that are used to constructgraphical user interfaces for the web.This thesis investigates and lists the benefits of integrating WebKit into the Spotify clientin order to utilize the flexibility of WebKit and the surrounding tools and languages thatWebKit make available. Some of the overwhelming number of drawbacks and obstaclesspawned by the integration process are explained in detail and reflected upon, explainingwhy this solution may, for most purposes, be a sub-optimal one.//SAMMANFATTNINGSpotify erbjuder en streamad musiktjänst som används av tusentals användare dagligen.Spotifyklienten tillhandahåller ett simpelt och effektivt användargränssnitt som ärprogrammatiskt definierat, i C++ och Objective-C, vilket lämnar lite utrymme förmodifikationer utan att behöva kompilera om applikationen.WebKit är en öppen mjukvara vars syfte är att rendera webbinnehåll. För att uppfylladetta syfte kräver WebKit stödbibliotek. På Mac OS X används WebKit för att drivaSafari, Apples webbläsarflaggskepp.HTML, CSS och JavaScript är flexibla verktyg som är vitt använda i webbutveckling.Dessa verktyg används för att konstruera webbinnehåll, vilket användargränssnittetkommer bestå av i denna tes.Denna tes undersöker och listar fördelarna med att integrera WebKit i Spotifyklienten föratt utnyttja flexibiliteten som tillhandahålls i verktyg som görs tillgängliga tack vareWebKit. Tesen beskriver några av det överväldigande antal problem som stötts på underutvecklingens gång i detalj och reflekterar över eventuella metoder för att kringgå demsamt förklarar varför denna lösning, i många fall, kan ses som suboptimal.

  CLICK HERE TO DOWNLOAD THE WHOLE ESSAY. (in PDF format)