ads in video on demand for iptv - nada.kth.se · abstract ads in video on demand for iptv this...

77
Ads in Video on Demand for IPTV JOEL KALL Master of Science Thesis Stockholm, Sweden 2010

Upload: truongnhu

Post on 11-Aug-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

Ads in Video on Demand for IPTV

J O E L K A L L

Master of Science Thesis Stockholm, Sweden 2010

Page 2: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

Ads in Video on Demand for IPTV

J O E L K A L L

Master’s Thesis in Media Technology (30 ECTS credits) at the School of Media Technology Royal Institute of Technology year 2010 Supervisor at CSC was Hannes Ebner Examiner was Nils Enlund TRITA-CSC-E 2010:079 ISRN-KTH/CSC/E--10/079--SE ISSN-1653-5715 Royal Institute of Technology School of Computer Science and Communication KTH CSC SE-100 44 Stockholm, Sweden URL: www.kth.se/csc

Page 3: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

Abstract

Ads in Video on Demand for IPTVThis study aims to find what potential and limitations arise when developing a video-ad player for use in an existing IPTV architecture, together with an analysis on how different ad formats are recieved by the target audience. The architecture used in this study is the Media Fabric system developed by Ericsson, paired with the on-demand ad server developed by Videoplaza and used on many web-TV platforms such as TV4 Play and Kanal5 Play.

These systems were evaluated by developing an ad-plaing plug-in module for Media Fabric, which connects and communcates with Videoplaza systems before passing video information back to the Media Fabric user interface. This development was done in SVG and Javascript, programming languages also used in Media Fabric itself.

To investigate how ad formats are recieved by an audience, a few respondents were subjected to a staged TV-watching session with ads of different types. Their behavior was recorded and they were later questioned about their actions while watching the recording of their session. This is called stimulated recall interviewing. The respondents also answered questions about their TV and Internet habits.

The results are conclusive when it comes to development: both Media Fabric and Videoplaza systems are suitible for a plug-in of this type, but the hardware and abstraction software used to run Media Fabric on set-top-boxes are not powerful enough to support the functionality needed to create an attractive product. In the stimulated recall study, the users indicated that formats that resemble traditional TV formats are easier to comprehend, but other formats might be suitable as well, as soon as people get accustomed to them.

It is clear that more studies must be conducted so that this area can be monitored as technology and user bahvior changes in the near future.

Page 4: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

Sammanfattning

Reklam i beställningsvideo för IPTVDenna studie söker finna vilken potential och vilka möjligheter som finns när man utvecklar en reklamspelarmodul till en existerande IPTV-arkitektur, samt analyserar hur olika reklamformat mottages av publiken. Arkitekturen som undersökts i denna studie är Media Fabric, utvecklat av Ericsson, tillsammans med en on-demand video server utvecklad av VideoPlaza, vilken används av många olika Webb-TV-kanaler såsom TV4 Play och Kanal5 Play.

Dessa system utvärderades genom att utveckla en videospelarmodul för Media Fabric. Denna modul ansluter och kommunicerar med VideoPlaza system innan den skickar videoinformation tillbaka till Media Fabrics användargränssnitt. Programmeringen gjordes I SVG och Javascript, som är två av de programmerings-språk som använts för att ta fram Media Fabric.

För att undersöka hur reklamformat tas emot av användare fick ett antal respondenter titta på en iscensatt TV-session med reklam av olika typ. Deras beteende spelades in för att de senare skulle kunna intervjuas om sina handlingar medan de tittar på inspelningen. Denna intervjumetod kallas Stimulated Recall (stimulerad erinran). Respondenterna fick också svara på frågor om sina TV- och Internetvanor.

Resultaten är entydiga när det gäller utvecklingen av modulen: både Media Fabric och VideoPlaza system är lämpliga för en modul av denna typ, men hårdvaran och abstraktionslagren som används för att köra Media Fabric på IPTV-boxarna är inte kraftfulla nog för att ha stöd för de funktioner som krävs hos en attraktiv produkt. I intervjustudien framkom att reklamformat som liknar de hos traditionell TV är enklare att förstå, men andra format kan också fungera när väl tittarna vant sig vid dem.

Fler studier behövs på området så att det kan övervakas i takt med att teknologin och användarnas beteenden ändras i framtiden.

Page 5: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

AcknowledgmentsThis thesis work is the completion of my education in Master of Science in Engineering at KTH (Royal Institute of Technology, Stockholm, Sweden).

I want to acknowledge and thank anyone and everyone involved in this project, and all the great people that helped me along the way.

Thanks to my supervisor at KTH, Hannes Ebner, for review and suggestion support and for making this report better.

Another thank you goes out to my supervisor at VideoPlaza, Alfred Ruth, and all the other employees at VideoPlaza under the lead of Dante Buhay, Sorosh Tavakoli and Alfred Ruth, for never being too busy to explain to me how to move forward and for taking interest in my project.

I also want to thank the all project managers and technicians at Ericsson, especially Johan Englund and Niklas Björkén, with whom I worked the closest. Thanks also to the people at Ericsson usability lab, for helping out with interaction and user study design.

Finally I want to thank all the people participating in the user study and pilot study since this thesis work could not have been done without you.

Joel Kall

Stockholm, May 2010.

Page 6: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player
Page 7: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

Contents1. Abbreviations and concepts.........................12. Introduction.................................................4

2.1. Context.................................................42.2. Purpose.................................................52.3. Problems..............................................6

2.3.1. Technological limitations.............62.3.2. Ad formats....................................6

2.4. Constraints...........................................72.5. Disposition...........................................7

2.5.1. Background..................................72.5.2. Method.........................................72.5.3. Implementation............................72.5.4. User testing..................................82.5.5. Analysis........................................8

3. Background..................................................93.1. Technology...........................................9

3.1.1. IPTV.............................................93.1.2. Set-top-boxes...............................93.1.3. Web-TV......................................10

3.2. Ad contexts........................................103.2.1. Traditional TV............................103.2.2. Web-TV......................................113.2.3. IPTV...........................................12

4. Method.......................................................144.1. Implementation method.....................144.2. Qualitative research...........................154.3. Stimulated Recall...............................164.4. Method criticism................................17

5. Implementation..........................................195.1. Media Fabric......................................205.2. Videoplaza systems............................205.3. SVG/Javascript..................................215.4. The development................................21

6. User testing................................................256.1. Prerolls...............................................256.2. Postrolls.............................................266.3. Overlays.............................................266.4. Curtain fold........................................27

7. Analysis and conclusions...........................287.1. Implementation..................................28

7.1.1. Videoplaza..................................287.1.2. Media fabric...............................287.1.3. Motorola VIP1910 STB with Ekioh SVG browser.............................28

7.2. Ad formats..........................................308. Study discussion........................................319. Suggestions for further studies..................3310. References...............................................34

10.1. Books and published articles...........3410.2. Websites and e-resources.................3410.3. Unpublished resources.....................35

Appendix 1: Interviews (swedish).................36Frågor........................................................36

Inför intervjun......................................36Efter första sessionen...........................36Efter andra sessionen (med curtain fold borttaget eller tillagt)............................37

Respondent 1.............................................37Utan curtain..........................................37Med curtain..........................................38

Respondent 2.............................................38Med curtain..........................................39Utan curtain..........................................39

Respondent 3.............................................40Utan curtain..........................................40Med curtain..........................................41

Respondent 4.............................................41Med curtain..........................................41Utan curtain..........................................42

Respondent 5.............................................43Utan curtain..........................................43Med curtain..........................................43

Respondent 6.............................................44Med curtain..........................................44Utan curtain..........................................44

Appendix 2: Source code...............................46

Page 8: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player
Page 9: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

1. Abbreviations and conceptsAdobe Flash = A framework used to create applications that can be embedded into HTML pages.

Client = Computer or program that recieves data from a server. Typically one server can handle multiple clients, but not the other way around. Solutions where clients talk to each other are often called Peer-to-Peer (P2P) solutions.

Companion banner = A banner that is displayed beside a video player, where the content of the video or ads in the video player is matched with the ads displayed in the banner.

Back-end = A server solution designed to deliver data to other servers or clients. Commonly solutions use one central back-end that handles core data and multiple front-end servers that present this data to the clients.

Banner = An image ad commonly used on the WWW. Can use scripts or frameworks like Adobe Flash or Microsoft Silverlight to allow for animated banners.

Flash = See "Adobe Flash"

GUI = Graphical User Interface, the part of a program that is exposed to the user. GUI's have buttons, labels, forms etc, as opposed to command line interfaces where the user uses text commands to control the program.

HTML = HyperText Markup Language, a sort of programming language for creating hypertext document, commonly used as web pages on the WWW. The latest version of HTML, HTML 5, allows developers to embed video material on pages without using proprietary frameworks such as Adobe Flash or Microsoft Silverlight.

IP = Internetworking Protocol, a protocol used for communication between computers. Often used together with TCP (TCP/IP).

IPTV = Internetworking Protocol TeleVision, broadcasting video material via an IP link.

JavaScript = A programming language commonly used to make HTML pages dynamic. This code is run in the client browser instead of on the server, which is often useful. It also allows for updating parts of a web page without having to reload the entire page. It can also be used for other types of documents such as SVG.

Linux = An open-source operating system, used in a wide range of electronic equipment ranging from desktop computers and mobile phones to embedded systems such as network switches or TV-sets.

Microsoft Silverlight = A framework used to create applications that can be

1

Page 10: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

embedded into HTML pages.

Midroll = A video clip ad that is played inbetween programs or in a pause between two parts of a program.

Overlay = A small banner that is displayed on top of actual video content. Often these can be hidden by active user input, but not always. Can be animated, but is raely used for displaying video on top of video.

P2P = Peer-to-Peer, a type of data architecture where multiple client programs share data with each other, instead of all of them having to talk to the same server. This can give severe performance boosts to data-heavy applications, since the bandwidth of the server only needs to accomodate for a few clients, relying on these clients to deliver the data to other clients and so on. A widely known P2P protocol is Bit-Torrent.

Plug-in = A computer program designed to extend the functionality of another program.

Postroll = A video clip ad that is played after the actual video content.

RnD = Research and Development.

Preroll = A video clip ad that is played before the actual video content.

Silverlight = See "Microsoft Silverlight".

STB = Set-Top-Box, an electronic device used to feed video to a TV. These boxes are used for decrypting and accessing TV content distributed via the air, via cable or even via any IP network.

SVG = Scalable Vector Graphics, a markup language for creating graphical elements and documents. Some web browsers have support for SVG, which makes it a plausible replacement for HTML, once all browsers support it. SVG can be used to create more advanced graphical elements than HTML, such as round elements and gradients, without using images.

TCP = Transmission Control Protocol, a protocol used for communication between computers.

Web-TV = The concept on distributing video to visitors on the WWW, often through embedding an Adobe Flash or Microsoft Silverlight object on a standard web page. Some providers use HTML 5 instead of Flash or Silverlight.

WWW = World Wide Web, a globe-spanning network of computers that allows people to visit pages created by other people. Resides on top of the Internet.

2

Page 11: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

XML = EXtensible Markup Language, a markup and data syntax used by many data formats and programming languages, such as HTML and SVG

3

Page 12: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

2. IntroductionIn this chapter, the context in which this study is conducted is explained, as well as what problems need to be answered and how and why these questions are interesting. The purpose of this study and its initiators are presented. Also, the final part of this chapter declares what subjects are be treated, and what is left for coming studies.

2.1. ContextTV and the Internet have long been two separate phenomena. TV has been used for broadcasting moving images and audio to a large group of consumers who can only choose which channel, or broadcaster, to subscribe to (watch) at the moment. Internet, on the other hand, and the world wide web in particular, is a request-based infrastructure where the consumer specify which material to consume, when, and where. This means that these two medias traditionally (even though the Internet has not been around for long) has been used for completely different purposes and material. However, when TV-distributors start to realize the benefits of using an existing infrastructure (Internet) to distribute their content, this separation might be reduced. Already, many services have moved out on the IP-net (Internet Protocol), like telephony, mail and fax (Das, 2008). TV moving out on the net is a natural step in this development, and to some extent it has already begun. Many operators have begun to offer a service called IPTV, and a lot of content is offered through the TV station networks' own web services. For instance, most large TV- networks in Sweden (Kanal 5, TV4, TV3 and SVT, among others) have “play”-services, where visitors can watch some programs for free (with advertisement) or through premium payment programs.

There are considerable advantages for both broadcasters and their customers in moving the distribution platform out on the web. While distributors still need to invest in equipment to get the material out on the “air”, they need not worry about delivery to the final consumer, since this is taken care of by the Internet operators. In many cases, both these services are provided by the same company, but far from always. For the consumer, this new media allows them to view the material they want on times they choose themselves, which makes it a more attractive offer.

There is still, however, a discrepancy between web-TV and IPTV. IPTV today foremost resembles traditional TV, from the consumers point of view. There are a number of channels who broadcast their material in their predetermined order, on set times, and the only choice left to the consumer is what channel to watch. The difference from traditional TV is that the media stream is sent using an IP network, rather than through a cable network or on the air. Web-TV, on the other hand, offers the consumer the choice to watch any content, at any time at the click of a button. This is referred to as “on demand”-services. One downside to Web-TV is that the consumer must either watch through their computer screen rather than their TV set, unless they are technologically competent to rig their TV to use a computer as input

4

Page 13: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

signal. This is not a very complicated procedure, but it requires some knowledge, at least one should be aware that it is at all possible. It should be safe to assume that most consumers are not.

IPTV can bring these two worlds together, since it is technically possible to transmit any media stream to the consumer, at their on choice, so the IPTV customer can gain access to on demand TV. Before this can be commonly available though, the process needs to be more standardized, so that content providers can feel comfortable to release their material to the operators, while still keeping control of their material. In traditional TV, each channel broadcasts their own mix of programming and advertizing, so that they can manage their own relations with advertisers and keeping unwanted ads out of their product. IPTV is different. Today, packaging and advertizing is provided by the IPTV-operator, so the content provider will have to accept what ever ads and advertisers the operator chooses to package with their IPTV services.

2.2. PurposeVideoPlaza is a company helping web-TV-distributors (for instance Kanal 5 and TV4, who are also traditional TV broadcasters) with serving ads to visitors watching their material. Kanal 5, for instance, hosts their own material on their own web site, using a an Adobe Flash program to deliver videos to the visitor. In this context, ads are displayed, both video ads before, in between and after programs, and still or animated overlay ads that show on top of the chosen content. All these ads are served using VideoPlaza. This concept works by letting every user client (web browser), for each session (TV-series episode or movie), send a message to VideoPlaza servers, requesting ad clips and other content to display for the user. The VideoPlaza servers then return an answer, directing the user client to a series of files containing the ads to play before, during and after the clip session. It also directs the client to a number of overlay animations to display in even intervals throughout the session, on top of the video.

The distributor gains access to a web-based administration system, where they can set up ad campaigns and control which ads should be played during which clips, affecting the answers sent by the server to the client. This way, they can set up a particular campaign for a particular TV-series or otherwise. This allows the distributors to focus on their main operation: producing quality material, while being assured that the content is being satisfyingly monetized. The administration system provides tools to plan campaigns containing all different available forms of advertising. These can be scheduled to run on different times, in different geographical regions, to specific content, and even based on information the web-TV distributor has regarding demographics such as sex and age. It is also possible to generate reports on how campaigns are progressing and how many viewers has seen the different ads, for instance.

VideoPlaza is interested in finding out if their solution could work on the IPTV on

5

Page 14: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

demand market as well as on the web, but the differences between the two medias are hard to overlook. While the web is fairly standardized, so that one client solution is likely to work in many different platforms, there are dozens of different IPTV set top-boxes on the market, and developing client software for all of them is not feasible from an economic point of view. Some of them have functionality to browse the WWW, but very few has the requirements to download and view online video. For this, they would be required to run the Adobe Flash Player, a client application that does not work on the operating system these boxes are running.

The Swedish telecom company Ericsson, however, is developing a IPTV-platform than they plan to market and sell to operators, which would create somewhat of a standard on which to build client software. Ericsson and VideoPlaza therefore started collaborating around this issue, and this collaboration is the seed to this thesis. Exactly how Ericsson's IPTV-platform platform works, and how I can be used to distribute ads in an IPTV context, is explained in later sections of this report.

2.3. ProblemsThe following problems need to be answered in order to determine whether this particular setup is sufficient to bringing on demand TV to IPTV set-top-boxes using VideoPlaza ad serving technology and creating client software that works on Ericsson's IPTV platform.

2.3.1. Technological limitationsWhat technological limitations are there in the different systems involved? How can they be circumvented or resolved? What limitations do they infer on the end product?

These questions are interesting, because they might give some clue as to when and how true content-provider-controlled ads might make their way into on demand TV. Today, many on demand services rely on the operator injecting ads in streams or fetching them from a local server. Hopefully, this thesis shows whether standardized methods of displaying ads in on-demand IPTV is just around the corner, or require more research, if even feasible.

For answering these questions, a prototype ad serving module must be developed which will communicate with, on the one hand, a modern on-demand IPTV interface, and on the other, a state of the art ad serving system. By studying these systems and trying to create a functioning ad module between them, it should be possible to find out if these are the technologies we have been waiting for.

2.3.2. Ad formatsWhat commonly used Web-TV ad formats can successfully be used i the IPTV context? What makes them successful? What makes other formats fail?

6

Page 15: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

This thesis project aims to answer these questions to find out how future ad makers might need to change their perception of the media they are reaching viewers through. If the two different contexts make viewers behave in two drastically different ways, ad makes must take this into account when designing and targeting ads.

In conducting a qualitative user study, this project might provide some answers or signs that could show whether people behave exactly the same or drastically different, even if the exact difference may not be entirely clear.

2.4. ConstraintsThis project aims to answer questions about developing specific software for a predefined set of systems, and what limitations and possibilities they offer. In addition, the user study is conducted to to find considerable qualities in behavior and attitudes among people watching on-demand television with interactive ads, and discusses how they might relate to people watching regular broadcasted TV.

It is not a study on human-TV interaction in general, and neither does it answer any questions about how to create interfaces for on-demand TV. Concerning development, it is not to be seen as a tutorial on how to and how not to develop certain software, only as a reference to what problems and limitations this particular software development process encountered.

2.5. DispositionThis report is divided into five parts: background, method, implementation, user testing and analysis. Here the different chapters are presented and described. This information can also be found in the header of each chapter.

2.5.1. BackgroundIn order to present a comprehensible explanation of the study, this chapter presents some background information on the technology currently used in IPTV-solutions, and what ad formats are and have been used in common media in Sweden. This information is useful for understanding the study and its results.

2.5.2. MethodThis section consists of discussion about which methods where chosen and why. It also deals with some method criticism.

2.5.3. ImplementationThis chapter explains how the software was developed and what technologies are used in the architecture. It briefly reviews how Ericsson's IPTV-service is disposed

7

Page 16: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

and how VideoPlaza back-end works. Since this particular study involves a development process, where any obstacles hit during the process infers a study result, this chapter can be seen as a result report.

2.5.4. User testingStimulated recall interviews were chosen as a method of examining different ad formats and how they are percieved by the target audience. This chapter presents how the study was conducted and what results came out of it.

2.5.5. AnalysisIn this chapter, the results from the study is analyzed an discussed in order to investigate possible conclusions to be drawn from the material. Some of these conclusions have to do with the implementation possibilities and difficulties, some have to with how peers respond to the ad formats and implementation design in this new media.

8

Page 17: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

3. BackgroundIn order to present a comprehensible explanation of the study, this chapter presents some background information on the technology currently used in IPTV-solutions, and what ad formats are and have been used in common media in Sweden. This information is useful for understanding the study and its results.

3.1. Technology

3.1.1. IPTVWhen TV broadcasters use an IP network to distribute video material, this is called IPTV. However, there are some different types of IPTV to be aware of, especially since there is no clear distinction between them and they are all referred to as plainly IPTV.

Being strict, web-TV is also a sort of IPTV, since the Internet and the WWW (World Wide Web) is used to distribute video and audio material to the end consumer. But the abbreviation IPTV is more often used when it comes to plain “broadcasting” of TV, that is, where the consumer cannot choose when to watch the programs. It can also be used for TV on demand, as long as it is distributed via IP, which makes this area even more confusing. The importance of the distinction between these forms of IPTV lies in the fact that they are very different technically. When distributing TV on demand, each user can send a request to view some material to a server, which then answers with sending a stream of data (often encrypted) to the user client, which then displays the video for the consumer. The problem is that each data packet in the stream is addressed to the client that made the initial request, and even if two clients request the same program at the same time, two separate answers must be sent. This is a major performance issue compared to “broadcasted” IPTV where one stream is sent from the distributor, which is then forked at each node in the TV network (Röjne, 2006). That means that for all the households in one part of the town, the distributor can send only one stream, and at each router on the way, the stream is copied and sent away in all directions, until it finally reaches the end consumer. This cannot be accomplished with on-demand video, since it would require sending all streams to all end users all the time, which is not feasible.

3.1.2. Set-top-boxesSet-top-boxes are elec-tronic devices used by operators to decode and reformat video material sent to consumers via some distribution net-work, be it cable TV or IPTV. This device is in-stalled in the consumers

9

Figure 1: Motorola VIP1910, the STB used in this study

Page 18: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

home, and transforms a data stream sent by the operator, into a video signal the TV can interpret. The input signal may be digital or analog, encrypted or unencrypted and can use any standard or proprietary format. The output signal can be any that the TV can use, though most HD-boxes today use an HDMI (High-Definition Multimedia Interface) port to connect to the TV.

The box often serves more purposes than to only decode a signal. Most operators also install some software in the box, so that the consumer can access TV guides, radio streams and even play games using their remote control (Röjne, 2006). Some boxes have more raw computing power than others and can so be used for more advanced applications, for instance; with some boxes the user can even browse the web or download news, make phone calls or check the weather.

This study involved the Motorola VIP1910 (See figure 1) STB (Set-Top-Box), which runs a Linux-based operating system on top of a RISC processor with 128 MB of internal memory. There is also a version with a hard drive to allow for recording programs. This box is capable of retrieving and decoding a digital IPTV signal and sending it to a TV set using its HDMI output port (Motorola 1910 Specification sheet).

3.1.3. Web-TVIn web-TV, media streams are transmitted from a sender (the TV channel or website) to a reciever (the consumer). Todays most used technology, Adobe Flash, support Peer-to-Peer (P2P) streaming, however this is not widely used. Instead, for each consumer watching media on a certain Web-TV channel, one bit stream has to be transmitted, just like in on-demand IPTV. So for 100 viewers, 100 streams must be transmitted, even if they all watch the same clip at the same time. This is very bandwith intensive, which is a problem raising costs for the broadcaster. However, it allows for stations to offer a wider range of programming, in turn allowing viewers more options on what to watch, and when to watch it.

3.2. Ad contexts

3.2.1. Traditional TVTV is possibly the channel where most people come into contact with ads, since many TV-stations today are solely relying on advertising for revenue. The inflation of prices and value of TV advertising has been going on for a much longer time than for example in web marketing, which means that advertisers need to use more elaborate methods to attract attention to their ads. For instance, one method is to wait until the last minute of the ad spot before revealing what brand or product is being endorsed, thus creating suspense (Nicholson, 2006: 12). Another example which is common today is placing ads closer in time to the actual TV content, since there is a delay before the viewer can walk away from the TV, or switch channel. This method is often used in conjunction with an announcement that the ad break is over, only to be followed by one last ad spot. By doing this, a lot of viewers return to their sets or stays

10

Page 19: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

on the channel since their program is about to start, which gives the last ad spot a much larger audience.

In traditional TV, all content is broadcasted to a wide range of households and it is therefore impossible to deliver interactive advertisements, but it is also difficult and expensive to deliver different material to different viewers. This often means that a large portion of the ads are not directed to interested customers. Nicholson (2006: 138) states that attention to advertising decreases with increasing goal-awareness of the viewer, and analogous, attention to advertising increases with decreasing goal-awareness. While some TV-watching may be goal-oriented, most TV content encourage a more laid-back attitude. This might indicate that TV ads has the potential to gain more attention than many other ads, which might help explain the fact that advertising in TV is so popular, even though prices are high and targeting is limited to time and content-context-based targeting.

3.2.2. Web-TVAdvertising on the web is today very common, in fact, it is so common that advertisers often need to develop special methods to stand out in the commercial-saturated environment (Nilsson, 2006: 11). These methods are designed to catch the surfer's attention and make sure that this particular advertisement reaches it desired effect, for instance; moving images, clickable interfaces, sounds, changing colors and blinking. In the early days, some of these techniques were very common, though many studies have shown that some of them also enrages viewers, with unknown affect on the advertising effects (Nilsson, 2006: 13). This type of banner has gotten a bad reputation among advertisers and is now relatively uncommon.

In a web-TV context, the environment is similar to the web, but the content is closer to what one might find in a TV context, with minor or major discrepancies as to target groups and packaging. This poses new problems for advertisers, since commercials and ads must be adapted to fit this new hybrid context. Today, most Swedish web-TV channels use one or several of a few different ad formats; standard video rolls before and after the content as well as in pauses in between, overlay ads and banners. While video roll format is taken directly from the traditional TV commercials, which many viewers are accustomed, and the banners resemble those of other web content other than web-TV, overlay ads are a rather new phenomenon. In the United States of America, this type of advertising has been used for a while (Arrington, 2007), but in Sweden, the web-TV market is still relatively young and overlay ads are not yet very common. With increasing bandwidth amongst households and more technology-aware people in decision-making positions in families, the web-TV market is constantly growing, and so is the market for new ad formats. Still, it ought to be kept in consideration, that some actors on the web-TV market claim overlays are not particularly popular among advertisers (Arrington, 2007), perchance because they in a higher regard resemble the sometimes infuriating web banners.

A new interesting ad format used by VideoPlaza is the curtain fold, which allows the user to view prerolls and midrolls again, or view extended versions of those ads. It is animated so that it is perceived as a roll-out blind which contains links to these clips.

11

Page 20: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

It adds value to the user since some ads might be interesting and/or fun to watch. Also, it adds value to the advertiser since the most interested viewers might watch their ads again, increasing the exposure to the advertised product or service.

3.2.3. IPTVIPTV has for a long time been an IP-distributed version of traditional TV, partly because networks want to use their existing broadcasting standards, partly because viewers and advertisers might not yet be prepared to shift their habits into a more flexible distribution model. Some networks, however, have experimented with on-demand material, though new ad formats such as overlays are as of today not allowed in traditional TV in Sweden. Since Swedish law requires that in TV and radio contexts, a distinct indication must be broadcasted to separate ads from other content, and this indication must contain both audio and video, broadcasting overlays is not aesthetically feasible. Therefore, overlay ads in IPTV is not possible either. It is not entirely clear whether Web-TV succumbs to this law as well, though many Web-TV providers do utilize overlay ads.

Another limitation to the transition of standard TV to interactive TV is consumer hardware. IPTV viewers are, for technical reasons, required to install a so called Set-Top box, which in simple words is a small computer, capable of receiving video streams from a server in the operators network, in addition to displaying on-screen information such as channel info and TV guides. But while web-TV viewers, who often use a computer, can be subjected to more elaborate types of advertising, IPTV viewers must use Set-Top boxes which are much less powerful than a standard desktop or laptop computer. This creates many limitations as to what type of graphic material can be presented to the viewer, and these limitations propagate to the terms of making interactive advertising. For instance, it is very difficult to produce moving and interactive overlay ads, since the hardware is not fast enough to render these without lag.

Another area where IPTV differs from web-TV, is the user input methods. On a computer, the viewer has access to a sophisticated pointing device (mouse) and text input (keyboard). The Set-Top-boxes, however, only support more or less standard remote controls, which might include navigational buttons (up, down, left and right) as well as a few color-coded buttons and a numeric pad. This makes creating interactive interfaces and advertisements a challenge. Many interactive ads on the web rely on the user pointing and clicking objects on the screen, in the form of games and other similar activities, others gives the user an opportunity to input text, for a quiz-like experience, and other still use sound and music to attract the viewers attention. These common techniques are not available to the IPTV advertiser, since neither mouse, nor keyboard is available, and playing music or sound would severely disrupt the TV experience.

Still it is hard to simply accept the notion that IPTV might have to remain a subset of traditional TV, albeit with a different distribution model, so experiments with on-demand content and contemporary ad formats continue. Some companies have experimented with distributing what they call Interactive TV, where data from the

12

Page 21: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

user to the broadcaster is sent via a telephone link (Gawlinski, 2003), which might be seen as a light form of fully interactive on-demand television. Some of these companies still offer interactive TV, while most have crossed over from using proprietary phone-link communication to utilizing the Internet or other IP networks for user-to-broadcaster communication.

13

Page 22: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

4. MethodThis section consists of discussion about which methods where chosen and why. It also deals with some method criticism.

This project is based partly on a study on how different ad formats are perceived by TV viewers, and how different ad formats, adopted from the web-TV setting, gain attention, as well as their respective potential for attracting customers. The study involves a qualitative interview study with a small number of viewers, and aims to gather answers to a few of the questions stated before, but also to raise new questions which deserve to be investigated further.

4.1. Implementation methodThis study also involves developing a software module to make it possible to test both the technology involved and the users needed for the user testing.

To evaluate whether the finished software meets the requirements of an ad playing plug-in in any scientific way, these requirements must be determined. Here follows a set of functions the plug-in must be able to perform in order to pass as a consumer-approvable product, and thus answering the question about whether it is possible to develop such a product on these platforms. The functions are determined so as to make the finished plug-in as similar to VideoPlaza's web-TV plug-in as possible. This has several advantages; it allows for a smoother developing process since VideoPlaza's back-end is written for such clients, and it increases the chances of a good user experience since it relies on a proven and well-tested product.

Some functions are more important than others, but in this case we must identify a set of features that captures the essence of the Web-TV plug-in's capabilities. After some thought work, the following requirements where set. The plug-in must be able to:

• Request ad URLs from back-end

• Play prerolls

• Play midrolls

• Play postrolls

• Show overlays

It is also preferable, if not necessary, that the plug-in can display animated elements such as:

• Overlay browsing

14

Page 23: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

• Preroll curtain fold

To ensure that ads are relevant and interesting, cookies are used in the web version of VideoPlaza ad server, so that each user only needs to see a specific ad spot a set number of times, depending on the advertisers settings. Therefore it is valuable if the IPTV-software can:

• Set and read cookies

The development environment and final software is then evaluated on these points to determine if such an approach is possible at all, and if possible, if there are any circumstances that makes the setup unsuitable for software of this type.

For this development process, a method of development called “agile development” was chosen. This method implies an iterative working process, where prototypes are created in each iteration. This prototype is then tested and released, and the next development iteration begins, using the prototype from the last iteration as a base. This means that a working draft of the program can quickly be realized, which may not contain all the features of the finished program, but implements the desired core functionality. All iterations after that only adds functionality to the program, though some iterations might focus on bug fixing and improvement of previously imple-mented features.

This method was chosen because it is flexible and requires very little initial planning. Also it allows for changes in the requirements along the way, which might be negative in some situations. In a study development, however, the dynamics of agile develop-ment carries benefits not overshadowed by any drawbacks. Also, both VideoPlaza and Ericsson uses an agile method called “Scrum” for their respective processes, so falling in line with their work flows means a smoother development experience and an insight in the companies culture.

4.2. Qualitative researchQualitative studies, as opposed to quantitative studies, do not aim to produce exact results, evidence, probabilities or even indices to support a given hypothesis. Instead, the goal is to try to answer a few distinct questions and gather a more personal view on the problem at hand. Quantitative studies normally involve a large sample of the investigated population, exact problem definitions and sterile environments, to ensure that no factors other than variations in the sample may affect the end result. In qualitative research, the aim is instead to find a few signs that point towards a conclusion, and discuss how the different signs support or refute the hypothesis. It opens up for more interpretation of data, as opposed to the compiling and relating that make up most of the quantitative researchers work. This method of conducting studies is still young (Allwood, 2004: 10), but gained popularity the last decades.

While the differences between qualitative and quantitative research are easy to find, it is important to remember that these two methods are not direct opposites, but rather

15

Page 24: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

siblings in the research family. Some of the family members lean towards collecting data and compiling them, while some are more of the interpretive nature. Any given study may contain aspects of one or the other, in varying amounts.

4.3. Stimulated RecallThis particular study is one in the family of recall stimulated studies, using a method that has gained popularity over the recent years. In short, it is based on subjecting a person to whatever is to be tested or evaluated, video recording it, and watching the record together with the person (Gass and Mackey, 2000). This way, the subject is stimulated into remembering thoughts, impressions and reactions from the actual test, and has proven to be a valuable method for studying interactive processes such as language learning (Gass and Mackey, 2000).

Studying a TV viewers reactions to ads on the screen is an area where it is probable that stimulated recall is a good method for evaluation, since it is a passive occupation that does not require much physical action, other than pressing the remote buttons every once in a while. This means that:

• It is easy to view what the respondent is doing by only monitoring the TV screen, thus eliminating the need for discomforting and invasive taping of the respondents face or body.

• The respondents are not occupied with any demanding physical or mental work, and are therefore free to let their minds wander and think about what is being presented to them.

• The material presented can be tailored to fit this purpose, such as passive programming and calm music, so that the material does not take attention from the ads and ad interface. This makes sure the respondents remember their actions and thoughts after the session.

When using stimulated recall, the quantitative aspects of the study becomes even more clear, since there are virtually no questions asked to the subject (the subject is instead encouraged to speak whenever a reflection arises), and therefore the results between different subjects can be very differentiated. This makes it hard, if not impossible, to compile a list of answers and try to produce an exact result of the study. Instead, the study might give pointers that might make or break an hypothesis. In this case, these pointers may tell whether certain ad formats are irritating, attracting attentions, confusing or infuriating and so on.

A meeting with an employee working at the Ericsson Usability lab, resulted in many usable pointers and the study was conducted with her suggestions in mind. For instance, the first interview was not counted towards the total result, but was rather used as a test case to see what problems might occur in the testing session. This was very helpful since it would prove to be difficult to set up the system to work properly

16

Page 25: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

the first time.

This employee also suggested that five to ten respondents should be enough, which is convenient since it is difficult to find more people willing to spend up to an hour watching TV commercials. As long as the respondents are chosen with an appropriate blend of ages and levels of technical knowledge the results should not be consider-ably affected by a smaller sample size.

Many more suggestions were made in this meeting and most of them have been taken into account when designing and conducting this study.

The user testing was planned to be conducted at the usability lab at Ericsson s facilities in Kista, Sweden, where camera equipment and suitable displays and furniture is installed. However, since Ericsson s locales are very well guarded against security threats and unauthorized personnel, it was deemed hard for a non-employee (such as a student) to bring guests into the buildings. Therefore, the testing was conducted in the authors home instead. The same kind of equipment found in Ericsson's lab was installed there, and its geographical location and interior design was even more fitting for this study than the first intended location.

4.4. Method criticismA commonly reported problem with stimulated recall is that it is hard to know whether the view participants express are the true thoughts they had when first faced with the material (Gass, Mackey, 2000: 106). The views are sometimes though of as “tainted”, which means that the participants own presumptions and fabrications about what answers are plausible, acceptable and desired by the researcher. In addition, some memories may not be exactly recalled, due to the rapid decaying of human memory (Gass, Mackey, 2000: 113). This means that the possibility of false statements cannot be ruled out. This effect can be limited, though not entirely eradicated, by ensuring that little time passes between the first stimuli and the interview. The shorter time that passes between these instances, the more accurate the participant's memory recollection will be.

There are some problems that are not specific to stimulated recall, but to interview methodology in general. Some of these include participants omitting facts and thoughts due to various reasons, participant verbal skill limitations and thoughts being altered by the very process of expressing them (Gass, Mackey, 2000: 111-112). Many of these cannot be circumvented, and it is often up to the researcher to design interviews that limit these problems in any way possible. As always, the first step towards getting rid of a problem is to acknowledge that it exists.

For this particular study, some of these limitations make themselves observable. For instance, it is hard for people to criticize other peoples' work, especially if it was done by someone they know and care about. To try to avoid this problem, the participants in this study, while knowing the researcher, were not aware of who developed the

17

Page 26: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

program or who designed the ads and ad format. This diminishes the problem, while not eliminating it completely, since it is impossible to convince the respondents that the researcher has absolutely nothing to do with the development of the product, especially in such a small study with few researchers.

To cope with other common interview problems, such as misinterpretations and memory tainting, the questions were standardized, simple and straightforward, and the time between the first viewing of the ads and the recollection session, only a minute or two passed, so that the memories would not have time to decay.

In addition, the software development process chosen has had its fair share of criticism, mostly because of the fact that many misuse the expression “agile” for something more accurately called “lazy development”. This means that there is little planning, testing and following up on the development. True agile development, however, has the different stages of the product and their cycles mapped out from the beginning, while acknowledging the fact that situations might change along the way, and so must the software development (Fowler, 2005).

18

Page 27: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

5. ImplementationThis chapter explains how the software was developed and what technologies are used in the architecture. It briefly reviews how Ericsson's IPTV-service is disposed and how VideoPlaza back-end works. Since this particular study involves a development process, where any obstacles hit during the process infers a study result, this chapter can be seen as a result report.

These are the frameworks and hardware/software used to implement the VideoPlaza ad plug-in in the STB (See figure 2). Some of these are commonly available, some can only be found in this particular environment. The goal of this part of the study is to investigate if and how an ad plug-in can be developed, along with any obstacles or difficulties found along the way. These are the results of the study.

19

Figure 2: A chart over relationships of different parts of the system

Page 28: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

5.1. Media FabricMedia Fabric is the name of the IPTV platform Ericsson is developing. The proposed customer is any IPTV operator, such as Telia or Bredbandsbolaget, who do not wish to develop their own infrastructure for deploying user interface and on-demand content for IPTV, but already have the equipment and network for broadcasting video streams and other data over IP. By purchasing and installing Media Fabric in their IPTV environment, the operator is provided with a full-featured platform for streaming TV content to their customers.

The part of Media Fabric that is of most interest for this project is the Web Portals. Web Portals in Media Fabric is a collection of content providers who have signed on to deliver their material to the operator, and thus to the operators customers. This way, the end user is provided with many sources of on-demand material on their TV, instead of having to use their computer to access these channels via the web.

The customer can access Web Portals using the Media Fabric user interface running on a Set-top-box meeting the requirements for running the program. The user interface is not a native client program, however, but more like a specially designed web page which can be navigated with a remote control. In the Web Portals section of the interface, the content providers are presented with their logo and some descriptive text, and when a portal has been selected their assortment of shows, programs and movies is displayed. These can be navigated in different ways and sorted on title, date of airing and such. Some examples of what could fit in Web Portals in Sweden are TV4 Play, YouTube and SVT Play.

5.2. Videoplaza systemsVideoPlaza uses a proprietary XML-based (EXtensible Markup Language) format for communicating between their back-end and their clients. For each ad session (a single on-demand video clip, program or movie), the client requests information from the back-end about which video ads to play, which overlays to present and peripheral information such as language and settings. The back-end then provides the client with this information, based on calculations which take into account what campaigns are planned, when they run, where in the world they should be visible and much more. Ad material URL (Uniform Resource Locator), ad id's and titles are examples of the information the client needs to present ads. When the client has played a spot ad or displayed an overlay banner, it contacts the server again with this information, so that the back-end can accurately present impact numbers to the administrators, in order to provide reporting services for following up campaigns. This information is also used for calculating ad directions for clients, for instance; some campaigns may not be scheduled to run a set percentage of the sessions, but rather a predetermined amount of times, on total. To keep up with the set amount, the server must know how many spots have already been played, in order to calculate how often to play the spot in the near future to match the goal. The client also reports user actions such as clicking on banners, hovering the mouse pointer over banners and skipping spot ads.

20

Page 29: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

5.3. SVG/JavascriptThe Media Fabric client for Set Top-boxes is based on implementing a custom SVG (Scalable Vector Graphics) browser in the set-top-box, allowing it to access SVG material published on the Internet. This browser is developed by a company called Ekioh, and it allows set-top-boxes running Linux to browse SVG pages and has gain support for Javascript and other related standards. SVG is a format and programming language for creating graphics, animations and applications using an XML-based syntax. This means that it is possible to create shapes such as circles, squares and lines or patterns such as gradients or bit-mapped, while being able to animate any parameter of the objects and attaching the animations to events to allow easy scripting capabilities. It is also possible to script any parameter of any object in the same environment using Javascript. The concept is very similar to that frequently used on the WWW, where HTML (HyperText Markup Language) is scripted with Javascript to provide richer applications. In this case the elements being modified with Javascript are HTML elements, in Media Fabric, they are SVG elements. All keystrokes, by keyboard or remote control, can be captured and used for navigation.

The SVG user interface is hosted on a server running Media Fabric, to which the STB can connect and download material. When the interface has been downloaded, it acts as if it was any normal application running on the box itself, when it in fact is more similar to a web page, technologically speaking. There are many advantages with this model compared to installing a native software client on the box, for instance, any updates or patches can be released to the web server at any time, and all connecting clients will automatically use the latest version published, eliminating the need for software updates or client patching. Being able to only download the parts of the user interface that are currently being browsed, instead of having to download and install the entire program, is another advantage.

5.4. The developmentFor this study, an ad player plug-in had to be created, which would be able to communicate with the VideoPlaza back-end, getting info on which ad material to present to the viewer, and using the Media Fabric client software to accomplish this presentation. To standardize this plug-in framework, a communications interface was developed in conjunction with the technicians at Ericsson. This interface provides a skeleton for plug-in developers, allowing them to access functions and objects in the Media Fabric GUI (graphical user interface), while exposing its own functions and objects to Media Fabric in a standardized way. This makes it possible for other developers to create ad players, so that any content providers not willing to sign with VideoPlaza can use their own ad systems. Additionally, this procedure makes it easier to develop plug-ins since the limits and abilities of the system is exposed in the interface, so that developers do not need extensive documentation to gather know-ledge about them.

A testing GUI was also developed (See figure 3), so that the entire Media Fabric

21

Page 30: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

software would not have to be loaded in order to test the ad player.

Using the plug-in interface, the ad plug-in was developed and tested for the Motorola set top-box used by Ericsson at the moment. The plug-in is able to play prerolls, postrolls and display overlay banner ads for the viewer. It also has support for the curtain fold ad format that VideoPlaza uses in their web-TV ad player. Further-more, it successfully connects to the VideoPlaza back-end to fetch information about which ad spots to play, and reports back which spots have been played. All elements in the ad player are controllable by the user using the box's remote control.

Ericsson has fitted the STB with an SVG browser and Javascript interpreter, which enables the functionality necessary to develop this kind of software. The browser is standards-compliant, which means that it interprets code the same way any other standards-compliant browser would, which makes writing applications easier since developers do not need to adjust their code for different browsers. This is, however, often a best case scenario. In reality even standards-compliant browsers have exceptions to their interpretation, and use their own variants of certain parts of the coding language. This is true for the SVG browser in the STB used in this study as well. The reasons here are many, for instance some elements need to be coded in a specific way to fully take advantage of the hardware in the box, while in other cases the browser is not working as intended and problems must be circumvented.

A developer trying to create an ad player plug-in for the STB on this environment is faced with a number of problems. Some are due to bugs in the software, while some are due to the way SVG and Javascript works.

The <video> element in SVG is used for playing video. This can be interacted with in a number of ways like calling methods equivalent to play, pause or stop video. It can also be animated and scripted like any other element. Often it is also used with events so that a specific function can be called when the video element has finished play-back. The browser used in the STB, however, has a few exceptions. The most problematic issue is that there is currently no way for the STB to handle multiple video streams, which makes creating midrolls difficult, if not impossible. For midrolls to work, the program must pause the original video, play the ad spot, and then

22

Figure 3: Screenshot of a plug-in testing interface developed by Ericsson

Page 31: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

continue playback of the original video at the point the midroll was initiated. This is not possible since the STB can not pre-load two streams at one time, and completely unloading the original stream to play the ad spot stream makes it difficult to take up playback of the original stream at the correct point.

Animation in SVG is a simple matter, the only additional code needed is an <animation> tag within the element to be animated, which specifies what parameters should be animated, including what values and the speed and acceleration etc. of the animation itself. It can also be connected to event handlers so that one animation can trigger another or to trigger or stop animations using scripts. For the STB to handle animation smoothly, the browser has a special element called <scrollableGroup>. This element is a container within which one can place elements to be animated, so that their movement is smoothed out using hardware acceleration, taking advantage of the hardware performance in the box to provide a better user experience. The problem is that this element does not behave the same way normal SVG elements do. One example is that multiple scrollable groups can not be positioned on the same space of the screen, since they would then scroll each others content. This is most likely a bug, not intended behavior, but it still poses great problems for any developer trying to create animated elements. In addition, the STB's memory and computing resources are far inferior to those of a standard household computers, and therefore some graphical elements and animations are simply not possible to perform.

Another problem using SVG and Javascript, as opposed to flash (which VideoPlaza uses for their web-TV client) is the handling of client storage. In VideoPlaza flash client, some data is stored to keep track of which ads have been seen, so that rules regarding whether ads should be mandatory or not can be applied. This is not impossible to do with SVG and Javascript, but since all elements in the Media Fabric user interface shares the same “page”, or root element, local storage handling is problematic. While the use of HTTP (HyperText Transfer Protocol) cookies is possible, with the same limitations as in standard web applications, cookies can and will only be read by the domain that saved them in the first place. Since the plug-in shares the root element of all other Media Fabric modules, any data that is stored for the plug-in to use would also be transmitted to every request made to any location within the Media Fabric domain. After a few hours, the amount of data might grow very large, making all web requests unnecessarily slow.

Another problem that is hard to circumvent is the fact that many TV-sets have an option called “over scan” set to on by default. Over scanning means that the TV enlarges the picture, cropping a few pixels near the borders. The reason for this is that earlier, some video material had graphical artifacts near the edges which could disturb the viewer, so this option was enabled to eliminate that problem. For this application, over scanning is a problem because the position of the ad elements is often close to the edges, and any over scanning might hide those elements. To increase the problem further, some TV sets do not even have the option of turning off over scanning.

One of the most notable difficulties was the lack of a pointing device for interaction

23

Page 32: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

with ad elements, especially overlays. This has been covered earlier in this report, but it is worth mentioning that with the help of layout designers at VideoPlaza and people at the usability lab at Ericsson, it was possible to device a satisfying solution. The entire Media Fabric interface was design with a 5-button remote control in mind, and this concept could successfully be carried over to the ad player plug-in. At first, using up and down arrows to move graphical elements up and down was used, which worked fine while the only elements to control was the overlay ads. But with the introduction of the curtain fold, there were two elements which could be moved up and down, and the two buttons were no longer sufficient. The solution was to adopt the concept used in Media Fabric, where the up arrow moves user focus up, instead of a particular element, and the down arrow respectively.

24

Page 33: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

6. User testingStimulated recall interviews were chosen as a method of examining different ad formats and how they are percieved by the target audience. This chapter presents how the study was conducted and what results came out of it.

This particular study involved 6 people of different age and sex. It was also taken into account that they should possess different amounts of technical knowledge, as well as presenting different groups of TV-viewers, in terms of frequency and context. For more info on the respondents, see appendix A.

The subjects were then presented with a simplified video player (not Media Fabric) which implements the beforehand developed ad player. During the testing they would then watch a short clip with prerolls, overlays and postrolls. Each interaction sequence was filmed and then played back to the viewer while discussing their actions. This way more information could be gathered about the respondents thoughts and impressions, than would have been accessible by only observing. To complement this information, the respondents where also asked to answer a few questions about their TV habits as well as their impression of the ad player and formats.

Each respondent was presented with a version with curtain fold, as well as a version without it, in alternating order. This approach was chosen because earlier conversations with potential respondents as well as project members suggested the curtain fold concept might be hard for non-initiated users to understand. Presenting users with both versions might show whether this is true or false. For extensive information about the user testing procedure, see appendix B.

6.1. PrerollsPrerolls is an ad format that most viewers are accustomed to, as is explained in the section about ad formats. With this in mind, it is not very surprising that the information gained about prerolls from the study is not very extensive. Most respondents did not have much to say or think about prerolls since they have already been seeing them in other contexts. All respondents in the test have been watching TV before, and it is apparent that they take their values and opinions with them when moving to a new medium. For instance, the most notable desire among the subjects was the wish to skip the prerolls entirely. When later informed that in the live version, skipping ads is possible as long as it has been viewed once, and the content provider enables this option, most respondents approved of the format. Secondly, a few of them expressed contentment with the information displayed about how long the current spot is, and how many spots will be played in total. This would decrease the risk of the viewer walking away from the TV or direct their attention elsewhere.

25

Page 34: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

6.2. PostrollsMuch of the discussion about prerolls (See figure 4) is valid also for postrolls, since this format is also very common in traditional TV. How-ever, this format is also used in the Web-TV context, and some of the respondents with experience with Web-TV noted that if they were watching this content on their computer, they would have the ability to go to another page or close down their web browser, and would have done

so if it was possible. In the IPTV ad player used in this test, the viewer must wait for the postrolls to end before watching an-other clip, unless the content provider en-ables clip skipping as explained in the pre-vious paragraph. It is also interesting to note that these re-spondents claim they would have skipped

these ads if it was possible, even though this test only included one clip, and they knew there was nothing interesting to wait for after the prerolls. This supports the hypothesis that many viewers despise commercials in any case and context, regardless of the ads message and presentation and what they could be watching instead of the commercials.

6.3. OverlaysThe overlays (See figure 5) are interesting in the IPTV context since they combine an ad format frequently used on the web and in web-TV, with the convenience and interaction capacity of traditional TV. Here it is interesting to observe both how the format itself is received by the viewer, and if the interaction is intuitive enough so that viewers can operate the ad elements without extensive explanation.

The respondents in this test indicate that both issues should not pose problems for overlay ads in IPTV in the future. While many respondents claim the overlay ads are annoying and they do not watch them, at the same time many also reveal that they in fact have taken in the message in the ad. It is also clear that the ads might be more

26

Figure 4: Screenshot of a Brothers campaign preroll

Figure 5: An overlay example: Tele2 Kompis campaign

Page 35: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

invasive in certain programs, such as news or subtitled shows.

Regarding interaction, it seems that, at least after a few overlays have been presented and automatically hidden, all respondents were able to hide the banners as soon as they came up. Almost all respondents also tried browsing through the ads to see if there were more interesting messages. Only one, however, once decided to press OK to play a video ad, which was possible with all banners. Upon questioning this respondent answered that the reason was wanting to see if it would work at all, not that he was interested in the ad message itself.

6.4. Curtain foldThe curtain fold (See figure 6) was given extra attention in this test as it was chosen as a key difference between what might work in web-TV and what might work in IPTV. This is partly because of technical difficulties implementing the same kind of graphical in-tuitive explanation that is used in web-TV, but might also de-pend on the fact that many viewers of traditional TV are not accustomed to this type of graphical elements. VideoPlaza expressed a concern that if it is not implemented properly, viewers would not understand what this element is, or might not even notice it. And if they do, they will not interact with it and as such it will not add any value to neither the ad provider nor the content provider. Therefore, a large portion of the testing was designed to determine how viewers respond to the curtain fold.

The respondents in this test confirmed this hypothesis, since none of them interacted with the curtain fold, though a few of them noticed that it appeared, while staying unaware of its purpose and message. Some indicated that it might be confusing with too many elements on the screen. It was also apparent that choosing to use two versions of the software, one with curtain fold and another without it, was a good decision. The three respondents that were first presented with the version including curtain fold noticed that the second version lacked it, while the other three did not reflect on the fact that it appeared in their second session.

It is possible that, having been able to present the curtain fold in another fashion, more resembling the appearance and animation used in VideoPlaza web-TV client, the outcome would be different. This appearance makes it more clear that the curtain fold is a part of the preroll context, and that it can be interacted with using the mouse pointer. However, like stated before, limitations in the set-top-box made it impossible to implement this functionality without lag or other disturbing artifacts.

27

Figure 6: Curtain fold as used on TV4 Play

Page 36: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

7. Analysis and conclusionsIn this chapter, the results from the study is analyzed an discussed in order to investigate possible conclusions to be drawn from the material. Some of these conclusions have to do with the implementation possibilities and difficulties, some have to with how peers respond to the ad formats and implementation design in this new media.

7.1. Implementation

7.1.1. VideoplazaThe Videoplaza system for serving on-demand ad content is widely used on the web and as such it serves its purpose well. This system is built around the kind of client-server architecture that is very common on the web and resembles the system used for distributing on-demand TV over IP in this study. However, on some key points the architectures differ, which makes development of an ad plugin more difficult. These differences can be avoided or circumvented, however, and currently, no major issues exist that makes it impossible to use Videoplaza for on-demand IPTV ads. Some changes would have to be made to their back-end systems, but after discussing these issues with Videoplaza technicians, most of them could be quickly resolved.

7.1.2. Media fabricEricsson's IPTV system called Media Fabric is fully capable of fetching remote material and displaying it, which should meet the minimum requirements for running an ad player plug-in. The system was not set up for plug-in capabilities but this was quickly added when the study began, so that Ericsson and Videoplaza could collaborate around the subject. This plug-in API is not very extensive but covers the basic needs of an ad-player plug-in developer, though some other plug-in functionality might have be added to allow for other types of plug-ins.

For a developer familiar with SVG and Javascript there should be no major issues with Media Fabric. It is worth mentioning, however, that due to the open nature of Javascript, all plug-ins must be carefully controlled before they are implemented in the system, since there is no way of limiting what a plug-in can and cannot modify. This means that it is possible to create a plug-in that overrides default Media Fabric behaviour, which could be harmful to the operator or end user. For instance, it would be possible to direct streams to record video in order to redistribute it, which would not be very popular among content providers. That means that all plug-ins must be code-reviewd by Media Fabric technicians.

7.1.3. Motorola VIP1910 STB with Ekioh SVG browserAlmost all critical issues discovered in this study are related to the software running in the STB used. As seen in the results section, numerous software bugs exist and

28

Page 37: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

some of them limit what can be achieved in an ad player. Unfortunately, many of these limitations are fatal to any such project.

The SVG browser in the STB is standards-compliant only in some cases, while others force a developer to time-consuming bug-tracking and workarounds. Some of the elements do not behave in predicted ways and some even fail to do anything at all. Furhtermore, the hardware in the box is not powerful enough to run CPU-driven animations, as done on the web with Javascript. To cope with this, special browser-specific elements are introduced which use the GPU chip in the box to accelerate animation of these elements. However, they do not behave the same way a standard animated element would. Also, these non-standard elements only add to the amount of knowledge any SVG/Javascript-developer must have before trying to develop plug-ins for this system.

There are many more limitations and software bugs, see the "Implementation" chapter for more information on them. Following is a list of required and preferred functions determined in the "Problems" section. To draw a conclusion from this part of the study, each of these are analyzed to see whether the developed software meets these criteria.

• Request ad URLs from back-end – The developed software is able to perform this task without any major hitches.

• Play prerolls – This is possible and works very well. The only problem is that the video element does not report time values correctly, so the top bar displaying how much time is left of commercials before the program start is not always accurate.

• Play midrolls – This is not possible in the current version since the box can only handle one video stream at a time. For midrolls to work, the box needs to pause the content stream and keep it in memory while playing the ad stream.

• Play postrolls – Possible with the same reservations as prerolls.

• Show overlays – Possible and works well.

• Overlay browsing – Possible and works well.

• Preroll curtain fold – Possible, but hard to animate smoothly. This can probably not be used successfully until the STB can animate a paused video screen.

• Set and read cookies – Possible, but impractical, since the WWW domain the box navigates to is always the same – Media Fabric portal. This means that all cookies are set on this domain, and due to security constraints in all browsers (even desktop web browsers) one domain cannot set or read cookies

29

Page 38: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

from another domain. Therefore, all cookies must be set on the root domain which means that all cookie data is sent with each request to any external server, which means that data traffic is higher than necessary, and more importantly, all personal data can be read by any part.

It is the authors opinion that this particular software platform and hardware set up is unfortunately too technologically limited to offer more advanced types of advertising. Regular prerolls, midrolls and postrolls can be implemented and used just like in Web-TV and traditional TV, but interactive overlays, though successfully implemented in this study, might need more development especially if they are to be animated. The platform in general and the hardware in particular, needs more graphical processing power to handle these animations at an acceptable frame rate, so as to not annoy they user with a slow and unresponsive interface.

7.2. Ad formatsIt is not surprising that the results show that traditional ad formats such as prerolls, and postrolls are received as natural and intuitive. While being invasive to some degree, the users are accustomed to these formats and so do not complain about their existence. Some users are annoyed with them as with any TV commercial but accept them if that means they can watch high-quality TV material for free.

The non-traditional formats are received as natural by the younger and more Internet-habituated respondents, while the older conservative respondents are more reserved. This is also anticipated. It is interesting, however, that almost all respon-dents appreciated the overlay ad format, even though it is very uncommon in traditional TV in Sweden. This could be because of the careful thought that was put into making the overlays feel natural and intuitive, both in design and interaction behavior.

The results are rather conclusive; regular ad formats borrowed from traditional TV work very well in the on-demand context. Even overlays work rather well and most users can respond to them or at least notice them, and while a few do not understand how to use them (hide and/or browse), this is not a major drawback for the ad format. The curtain fold, however, is a new concept to most users and is very hard grasp. The author recommends that this ad concept is avoided until more viewers are familiarized with it, through their web-TV sessions or otherwise.

30

Page 39: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

8. Study discussionThe results of this study may or may not apply to any general situation. This chapter briefly discusses such applications. It also covers whether the software produced in this study can be used as a final consumer product, and what Ericsson and VideoPlaza might benefit from this project.

The purpose of this study has been to gain knowledge about the IPTV-market by studying one attempt at developing an architecture around it. This architecture is Ericsson's Media Fabric for IPTV in conjunction with VideoPlaza's services for serving on-demand video ads. There are many other actors on the market today and the results from this study may or may not apply to their efforts as well. Some con-clusions about user behavior and the limitations of set-top-boxes should apply to any actor establishing in on-demand IPTV, but the fast pace of IT development along with changing user habits might invalidate these results in a near future, to some extent.

This study was conducted in fall 2009 using a pre-release version of Media Fabric together with an ad-serving system not created to serve ads to set-top-boxes. It is possible, or even probable, that much has changed since then and some of the conclusions drawn in this report may no longer be accurate. For instance, the bugs and limitations in the software running on the set-top-box are likely to be fixed soon, if it has not been already. When talking to technicians at Ericsson, it was clear that the development of Media Fabric was going at a fairly fast pace, since this particular department of Ericsson RnD has adopted an agile approach to software development. This is a further indication that today, the problems mentioned might no longer exist. It is even plausible that the plug-in developed in this study does no longer work on an up-to-date version of Media Fabric.

The software developed in this study is not a final product ready for customers. It is merely a test project designed to purposely encounter obstacles so that solutions to them can be found. This means that if a live integration between Media Fabric and VideoPlaza is ever to be launched, the code produced in this study would have to be reviewed and modified before release. There is also need for further testing, both technically, aesthetically and interaction-wise. It is likely that a whole new plug-in would have to be developed, taking the experience of this study into account.

The author recently discussed the matter with one of VideoPlaza's employees, and it seems that Ericsson and VideoPlaza's collaboration continues on into the near future. Ericsson benefits from this project since they are now able to inform their potential customers that an ad-serving monetizer has been developed for Media Fabric and that it is ready for such use, granted the plug-in is adopted to cope with any changes in the system. This increases the value of Media Fabric and makes it easier to attract operators and content providers. It is not likely, however, that they will use the direct result from this project, but rather use it to develop their own software. This study might then serve as a guide to what obstacles must be overcome to successfully implementing such software. This way, they would not have to make the same mistakes the author did while developing this plug-in.

31

Page 40: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

VideoPlaza's gain in this project is two-fold; they get an insight into the IPTV-market along with a powerful partner in Ericsson, and they can benefit from being the first ad-serving monetizer system being implemented in Media Fabric. It is likely that some content providers are new to the concept of digital on-demand content, and having the first service available to them when they integrate into Media Fabric is a great advantage before any competitors. This is also dependent on whether a final plug-in is ever developed. Even if this never happens, VideoPlaza still benefits from having scouted the field when it comes to technical implementation and user perception, since it gives them greater knowledge whenever a similar opportunity arises in the future. Together with another study (also a KTH project) being conducted parallel to this study, VideoPlaza are well prepared for on-demand video ad serving in IPTV.

32

Page 41: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

9. Suggestions for further studiesHere some suggestions are presented on what needs more investigation, so as to cover the area better in the future than it has been covered in the past. This study is an important step into examining this market and it is the authors wish that more studies of this kind and other can be expected.

This is a fast moving market and the technological advances continue to catch pace. Therefore the most interesting further study, when it comes to the implementation part, would be to conduct a similar study in a few months time. The limitations mentioned in this report may already be fixed and any company could be on, or on the way to, the market already. It could even be Ericsson and their Media Fabric, since they have been working on this for some time. It would also be interesting to see what opinions both operators and content providers have on the subject, and what their plans for this expanding market are.

Regarding the audience's reception of new types of ad formats and context, it should also be valuable to conduct a similar survey within a few years, since user habits change rapidly on the web and should do so when it comes to media consumption in front of the TV as well.

Both these subjects should also be more thouroughly investigated by independent researchers, using larger sample sizes and even more controlled circumstances than was possible to achieve in this study.

33

Page 42: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

10. References

10.1. Books and published articlesAllwood, C.M (ed) (2004) Perspektiv på kvalitativ metod, Lund: Författarna and Studentlitteratur

Bell, J (2005) Introduktion till forskningsmetodik [Doing Your Research Project], Lund: Studentlitteratur

Gass, S. M. and Mackey, A.(2000) Stimulated recall methodology in second language research, Mahwah: Lawrence Erlbaum and Associates

Gawlinski, M (2003) Interactive television production, Oxford: Focal Press

Nilsson, C. P. (2006) Attention to Advertising, Stockholm: Author

Röjne, M (2006) Digital-TV via mark, satellit och kabel, Lund: Studentlitteratur

10.2. Websites and e-resourcesArrington, M. (2007) Ok, ok. All of you (even YouTube) invented video overlay ads “first”, [Online], Available: http://www.techcrunch.com/2007/08/23/ok-ok-all-of-you-even-youtube-invented-video-overlay-ads-first [2009-11-25]

Das, K (2008) IP Based Technologies, [Online], Available: http://www.ipv6.com/articles/applications/IP-Based-Technologies.htm

Fowler, M (2005) The New Methodology, [Online], Available: http://martinfowler.com/articles/newMethodology.html

Templeton, B. (n.d.) The future of TV Advertising, [Online], Available: http://www.templetons.com/brad/tvfuture.html [2009-11-24]

34

Page 43: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

10.3. Unpublished resourcesMotorola 1910 Specification sheet, [Online], Available: http://www.motorola.com/staticfiles/Business/Products/TV Video Distribution/Set-tops/IP Set-tops/VIP1920/_Documents/Static Files/VIP1900-9_specsheet_090508.pdf

Yahoo! Explore the Internet, [Online], Available: http://smithsonian.yahoo.com/internethistory.html

Radio- och TV-lag (1996:884), [Online], Available: http://www.riksdagen.se/webbnav/index.aspx?nid=3911&dok_id=SFS1996:844&rm=1996&bet=1996:844

35

Page 44: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

Appendix 1: Interviews (swedish)Det som anges här är svaren på de strukturerade frågorna i intervjuerna. Varje intervjusession innehöll öven två sektioner där respondenten fick se sin session filmad och dennes agerande diskuterades, vilket reciteras här mycket kort. Det är därför svårt att dra några direkta slutsatser enbart från svaren i denna bilaga.

Frågor

Inför intervjun1. Hur ofta tittar du på vanlig TV (analog eller digital linjär TV, d.v.s. att

programmen sänds enligt en tablå, istället för att man kan välja när programmen ska starta)?[Varje dag] [2-3 gånger per vecka] [En gång per vecka] [2-3 gånger per månad] [Mer sällan]

2. Hur ofta tittar du på on demand-material via datorn (Webb-TV typ TV4 Play, YouTube eller liknande)?[Varje dag] [2-3 gånger per vecka] [En gång per vecka] [2-3 gånger per månad] [Mer sällan]

3. Har du en dator kopplad till din TV eller vet hur man gör att koppla in det?[Ja] [Nej]

4. Har du ett TV-abonnemang som ger dig on demand-material (exempelvis ViaSat on demand)?[Ja] [Nej]

5. Hur ofta tittar du på on demand-material på TV'n (Om du har on demand-abonnemang eller har kopplat en dator till TV'n)?[Varje dag] [2-3 gånger per vecka] [En gång per vecka] [2-3 gånger per månad] [Mer sällan]

6. Hur ofta tittar du på köpt eller hyrt material på TV'n (DVD, blu-ray eller liknande)?[Varje dag] [2-3 gånger per vecka] [En gång per vecka] [2-3 gånger per månad] [Mer sällan]

7. Hur ofta går du på bio?[Varje dag] [2-3 gånger per vecka] [En gång per vecka] [2-3 gånger per månad] [Mer sällan]

Efter första sessionen1. Vad har du för spontan åsikt om reklamgränssnittet?

36

Page 45: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

2. Vad tyckte du om fjärrkontrollen?

3. Var det något du tyckte var irriterande?

4. Var det något du tyckte fungerade bra?

5. Skulle du vilja ha tillgång till en sådan här tjänst hemma (kort beskrivning av tjänsten)

6. Om ja på 5, vad är det som gör att en sådan tjänst är attraktiv?

Efter andra sessionen (med curtain fold borttaget eller tillagt)1. Märkte du någon skillnad mot förra gången?

2. Vilken version tyckte du var bäst?

3. Varför var den versionen bättre?

Respondent 11. [Varje dag]

2. [En gång per vecka]

3. [Nej]

4. [Nej]

5.

6. [Mer sällan]

7. [Mer sällan]

Utan curtainPRE - ingen reaktion

Videostart - Dålig kvalitet på videon tycker jag

OL1 – Tryckte bort den eftersom jag inte ville se reklam

OL2 – Hårtorkar går bort, skönt att det var lätt att ta bort [notera att respondenten registrerade att det var en hårtork på bilden]

37

Page 46: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

OL3 – Samma igen, jag vill inte se reklam, jag vill höra om Rosengård.

1. Du menar reklamgrejorna som kom upp? Det såg bra och proffsigt ut men jag tittar inte på reklam. Så därför knäpper jag bort det, och det gick ju lätt att knäppa bort.

2. Helt OK

3. Hela idén med att få reklam medan man tittar på något, till exempel ett nyhetsprogram, det är rätt påträngande.

4. Att man kan knäppa bort reklamen

5. Nej, jag skulle vilja ha så på reklam över huvud taget, att man kan knäppa bort dem. Även reklamen mellan program. Vad gäller on-demand så verkar det bra om man kan ta bort reklamen. Egentligen är det irriterande om det är i ett nyhetsprogram!

6.

Med curtainPRE – La märke till texten där uppe om ½

CU – Uppfattade inte att den var där, eller jag såg att det var något men inte vad

OL1 – Hårtork bort [respondenten råkade är trycka två gånger och fick fram CU]

OL2 – [Kom aldrig eftersom CU var framme]

POST – Vad hände nu? Reklam mitt i nyheterna? Det gick inte heller att ta bort.

1. Ja. Här kunde man inte ta bort reklamen. Den kom ju bara helt plötsligt, och så stod det 1 utav 2, och den gick inte att ta bort. Alltså videoklippen som kom innan filmen.

7. Det här var absolut sämre

8. Den kändes mindre kontrollerbar om man säger så.

Respondent 21. Mer sällan

2. Varje dag

38

Page 47: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

3. Ja

4. Nej

5. 2-3 per vecka

6. 2-3ggr per månad

7. Mer sällan

Med curtainPRE – ingen reaktion

OL1 – Missade den helt, men den försvann av sig självt

OL2 – Såg att den fanns och började bläddra. Jag förstod att det gick att bläddra tack vare de jättestora pilarna. Jag gjorde det för jag var nyfiken på hur det funkar, men sen tappade jag intresset eftersom jag inte fick någon preview av vad som dolde sig bakom reklamen. Därför tryckte jag inte på OK. Sedan dolde jag den.

POST – Tänkte mest på att det var stiliga män

1. Jo det var ju trevligt. Jag bläddrade bara på en av dem.

2. Jag tittade knappt på den. Kändes jättebra, rätt standard.

3. Ah, mer att dom inte gjorde nånting [i videon]. Det var väl bara 2 stycken reklamer som poppade upp? Och de kom inte direkt... De var inte direkt störande.

4. Tja... Nej jag vet inte, det funkade ganska bra.

5. Ja, jo men det är quite awesome.

6. Varför? Jag vet inte, man kan se det man vill när man har tid, och inte måste följa en tabell, blir mindre stressigt. Så får man mer tid till annat.

Utan curtainPRE – Jag tyckte om Electrolux mer än AudioVideo

OL1 – Den försvann aldrig, så jag tryckte ner den. [väntade inte tillräckligt länge]

OL2 – Jag ville se om det var någon skillnad, så jag bläddrade. Jag väntade sen på att den skulle försvinna men den gjorde inte det så jag tryckte ner den. Det var lite dumt

39

Page 48: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

att jag bläddrade för jag tappade bort storyn i filmen.

OL3 – Jag letade efter paus, men sen tryckte jag bort reklamen istället.

POST – Ooh reklam! Men det är inget jag skulle sitta kvar och vänta på.

1. Det var lite mer animerat! Jag vet inte om det var skillnad eller om det var jag som trodde det, men att reklamen stannade kvar istället för att åka ner?

2. Det första var bättre.

3. Det är lite störande att ha dem där så jag tog bort dem.

Respondent 3

Utan curtainPRE – Reagerade inte. Det var trevligt att veta hur länge man måste vänta, då blir man mindre benägen att klicka bort [byta kanal?]

OL1-3 – Jag kollade vad det var för något, det var lite störande med reklam som poppar upp.

Jag läste att det stod OK någon gång men då hade jag inte fjärren i handen.

Jag kollade vad det var för reklam av nyfikenhet, men kände inte för att testa och trycka OK. Hade jag varit mer van vid systemet så hade jag gjort det. Om det hade varit mer textreklam hade det varit mer störande

POST – Hade jag suttit vid datorn hade jag tagit bort det. Men man står väl ut, som med vanlig TV. Det är skönt att slippa se samma reklam som innan.

1. Lite småstörande. Men det hade nog vart jobbigare om det hade varit text att läsa. Fast man uppmärksammade den i alla fall!

2. Jag använde inte den.

3. Se 1.

4. Jag vet inte...

5. Reklam hela tiden istället för reklampauser? Med vanliga reklampauser också? Nej, om man ändå ska se reklam så ser jag inte fördelen. Om det inte är mindre reklam. Här kan man ju välja om man vill se reklamen. Det kan jag gå med på. Jag kan också köpa reklampauser om de är väldigt korta

40

Page 49: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

6.

Med curtainPRE -

CU – Jag såg den, men det var inga fler än den första va? Jag såg inte texten.

OL1 – Jag lekte lite och bläddrade, det funkade bättre med klippet. Den gick ner automatiskt.

Jag ville veta vad det var för något och störde mig på att alla tre var samma bild. Jag landade på Volvo för den smälte in i filmen. [Volvo var den sista av tre, därför kom OL inte upp igen]

POST – Brothersreklamen var konstig. Siba kändes bekant.

1. Reklamen som poppade upp kom bara en gång. Att man kunde bläddra, men det kanske man kunde förut också?

2. Nämen den här gången var bättre. Var den här reklamsnutten längre?

3.

Respondent 41. [2-3 gånger per vecka]

2. [Varje dag]

3. [Ja]

4. [Nej]

5. [Varje dag]

6. [Mer sällan]

7. [Mer sällan]

Med curtainPRE – Mysig reklam [AudioVideo]

CU – Jag förstod inte Electrolux-slingan

41

Page 50: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

OL1 – Jag var inte beredd, det blev för mycket på en gång där i början

OL2 – [doldes automatiskt, respondenten frågade om man kunde dölja den]

OL3 – Nu förstod jag att man kunde gömma den. [respondenten dolde OL3 efter ca 10 sekunder]

1. Den andra var väldigt mysig. AudioVideo alltså. Jag tyckte det funkade bra med nedräkningen och så. Den första OL såg jag inte, men när OBH Nordica kom så såg jag. Det känns lite undermedvetet att det ploppar upp utan att man märker det.

2. Den kändes bra

3. Volvo-reklamen tycker jag var irriterande för den kom när det var som mest spännande

4. Så fort jag tryckte på hide så gömdes den

5. Om det är mycket mindre reklam så kanske. Om man kan gömma reklamen så är det kanske värt det.

6.

Utan curtainPRE – De kom i omvänd ordning än förra gången

OL1 – Jag dolde den snabbt, tryckte inte OK för jag visste inte vad som skulle hända då. Jag reagerade på att det var 2 av samma reklam, någon var volvo, minns inte vad den sista var. Jag bläddrade för att testa och se om det fanns någon ny reklam, som jag inte sett.

POST – Jag undrade varför han [intervjuaren] valde Siba istället för Elgiganten [respondenten arbetar på den senare] Det var en tråkig reklam, Brothers var roligare, lite maffialiknande.

1. Mm i början var de i omvänd ordning. Sen kände som att jag själv fick välja när reklamen skulle poppa upp. Det var ingenting där uppe [CU]. Det var inte samma video.

2. Det här var bättre.

3. Nu var det som att jag såg reklamen för jag visste hur det fungerade.

42

Page 51: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

Respondent 51. [2-3 gånger per vecka]

2. [Varje dag]

3. [Ja](Har datorn kopplad till tvn)

4. [Nej]

5. [Varje dag]

6. [Mer sällan]

7. [2-3 gånger per månad]

Utan curtainPRE – Jag såg när de skulle sluta, med tiderna. Jag vill mest slippa helt

OL1 – Oj man kan trycka OK [respondenten tryckte OK men på grund av teknikproblem spelades ingen reklam upp. Henrik var dock den enda som provade detta] Jag blev nyfiken eftersom man kunde göra något. Men sen vågade jag inte trycka igen. Jag trodde först att själva videoklippet var reklamen.

1. Det var bra att man såg hur lång tid det var kvar på reklamen. Det var lite lurigt med kontrollerna ner/upp för att styra reklamen

2. Den var schysst

3. Det var irriterande att det pluppade upp saker.

4. Det var lite irriterande att man inte kan ta bort OL

5. Ja

6. Då är det inte så mycket reklam, jag har hellre valfri reklam. Det är lite konstigt att man får 3 av samma reklam OL dock

Med curtainPRE – Jag väntade på att videon skulle börja

CU – Jag såg den på en gång, men sen försvann den och kom aldrig tillbaka

OL1 – Jag dolde den [respondenten uppfattade dock att det var Volvo]

43

Page 52: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

OL2 – Bort. Det var mer fart i den

OL3 – Jag tänkte på att Rebecca [respondentens flickvän] har någon OBH-pryl som jag inte sett på länge [respondenten uppfattade alltså varumärket]

POST – Det var lite småjobbigt med reklam efter videon. Jag hade stängt ner den om det hade gått.

1. Det var litte jobbigare eftersom kom saker ovanifrån också.

2. Lite sämre

3. Man behövde tänka mycket mer för att hålla reda på alla saker som rör sig

Respondent 6

Med curtainCU – Jag röde den ej. Visste vad det var för något, men jag gillade inte elementet alls. Jag vill att reklam ska täcka hela bilden.

OL1 – Jag rörde den ej. De var lika jobbiga.

OL2 – Jag tryckte inte bort den för det var en symbol som sa att man inte fick trycka, men det kan ha varit för att jag satt på fjärrkontrollen

OL3 – Jag rörde den inte, jag ville se reklamen och så vet jag att den ändå försvinner så småningom.

1. Jag kände igen reklamen, jag har den där dammsugaren. Och den är inte särskilt ny

2. Jag rörde inte fjärrkontrollen

3. Var det meningen att man skulle förstå japanskan?

4. Nej. Men Brothersreklamen hackade

5. Jag skulle hellre kunna betala bort reklamen än att ha den här typen av reklam

Utan curtainPRE – Siba visade sin reklam igen [teknikproblem] och Ergo Rapido [dammsugaren i Electrolux reklam] är inte alls ny. Brothersreklamen hackade.

OL1-4 [respondenten rörde inte fjärrkontrollen]

44

Page 53: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

1. Det var inte lika mycket reklam. Det var knappt någon reklam, jag tror inte at man kan bläddra. Jag vill inte kunna välja bort reklamen heller, det är bättre att bli påtvingad den tycker jag. Reklamen ska komma till en, så man kan vara passiv. Upplösningen var dålig på videon. Jag saknar också att kunna se en reklam igen om man vill, och så borde det vara en liten textremsa som säger vilken artist som gjort musiken till reklamen.

2. Det var bättre

3. För det var inte lika mycket reklam

45

Page 54: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

Appendix 2: Source codeThis is the complete source code for the ad player Media Fabric plug-in developed in this study. Note that VideoPlaza and/or Ericsson might prohibit usage of this code in any commercial or non-commercial service. Source code begins on next page.

46

Page 55: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 47 / 68

June 23, 2010 Crimson Editor

// A simple example of an ad player which implements functionality for// hi-jacking viewing of a clip, showing a preroll before and postroll// after the clip.//// This example also displays an overlay when a video is paused, and supports// viewing the overlay in both windowed and fullscreen mode.//// Video files used are specified in main.js (mainVideo and adVideos variables)

var videoplazaAdPlayer = {

// -- Variables which will be set automatically ---------------------------

/*** videoPlayer is a proxy to the actual video player element.* It consists of the following properties:* play(videoUrl) - play a video url* stop() - stop the video currently playing* pause() - pause the video currently playing* resume() - resume a paused video* width - the current width of the video player window* height - the current height of the video player window* isFullscreen - true or false** The reference to the video player will be set before init() is called!*/

videoPlayer: null,

// -- Interfaces which must be implemented --------------------------------

/*** Called when the ad player is loaded. This could be at any time,* and is not bound to any particular state in the MF application.* This function will, though, always be called before any other of this* player's functions are called.* @param adPlayerContainer [SVGObject] the parent container in which* you can create your SVG elements*/

init: function(adPlayerContainer,siteID){

this.alertBox("init");

this.curtainActive = true;var qs = location.href.split("?")[1];

if(qs){

var qsValues = qs.split("&");

for(var i = 0;i<qsValues.length;i++){

var pair = qsValues[i].split("=");if(pair[0]=="nocurtain" && pair[1]=="true")

this.curtainActive = false;

}}

this.parent = adPlayerContainer;this.boxID = "123456";this.resourceUrl = "http://kalldevelopment.se/test/";

this.siteID = siteID || "a8abc279-e7c3-4fd5-8fad-07e641074518";

this.alertBox(this.siteID);

Page 56: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 48 / 68

June 23, 2010 Crimson Editor

this.ticketUrl = "http://staging.videoplaza.com/proxy/distributor?sid=" + this.siteID + "&tt=preroll,overlay,postroll&bid=" + this.boxID;

this.logUrl = "http://staging.videoplaza.com/proxy/tracker?sid=" + this.siteID;},

/*** Called when the ad player is not needed anymore and will be unloaded* from the system. Note that init() could be called on the player at any* later time after destroy() has been called, to re-load the player should* it be needed. Also not that destroy() might never be called.*/

destroy: function(){this.cleanUp();

},

/** Called when the user initiates playing of a video file (not ads, but* actual content).* @param videoUrl [String] the url to the video file*/playVideo: function(videoUrl,clipLength,clipTags,clipFlags){

if(clipLength)this.clipLength = clipLength;

elsethis.clipLength = 300;

this.clipTags = clipTags;this.clipFlags = clipFlags;

this.alertBox("playVideo");

this.overlayIndex = 0;this.curtainIndex = 0;this.prerollIndex = -1;this.postrollIndex = -1;this.overlayVisible=false;this.curtainVisible=false;

this.prerolls = new Array();this.prerollDummies = new Array();this.svgCurtains = new Array();this.postrolls = new Array();this.postrollDummies = new Array();this.overlays = new Array();this.svgOverlays = new Array();

this.svgG = tools.newElement(svgNS, "g", {"transform": "scale(1)"

});

//overlay containerthis.overlayContainer = tools.newElement(ekiohNS,"scrollableGroup");this.overlayContainer.setAttributeNS(svgNS,"x",0);this.overlayContainer.setAttributeNS(svgNS,"y",590);this.overlayContainer.setAttributeNS(svgNS,"width",1280);this.overlayContainer.setAttributeNS(svgNS,"height",130);this.svgG.appendChild(this.overlayContainer);

//curtain containerthis.curtainContainer = tools.newElement(ekiohNS,"scrollableGroup");this.curtainContainer.setAttributeNS(svgNS,"x",0);this.curtainContainer.setAttributeNS(svgNS,"y",0);this.curtainContainer.setAttributeNS(svgNS,"width",1280);this.curtainContainer.setAttributeNS(svgNS,"height",130);this.svgG.appendChild(this.curtainContainer);

this.svgForbidden = tools.newElement(svgNS,"image",{"width": 100,"height": 100,

Page 57: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 49 / 68

June 23, 2010 Crimson Editor

"x": 590,"y": 310,"opacity": "0"

});this.svgForbidden.setAttributeNS(xlinkNS,"href",this.resourceUrl+"forbidden.png")

;var svgForbiddenFadeOut = tools.newElement(svgNS,"animate",{

"attributeName": "opacity","dur": "1s","from": "1","to": "0","begin": "indefinite","fill": "freeze","id": "forbiddenFadeOut"

});this.svgForbidden.appendChild(svgForbiddenFadeOut);this.svgG.appendChild(this.svgForbidden);

this.parent.appendChild(this.svgG);

this.updateOverlayAnimations();this.updateCurtainAnimations();

this.mainVideo = videoUrl;this.resize();

this.fetchTicket();

this.playPreroll();},

/*** Called when a video clip starts playing in the video player* @param eventData [Object] an object with event info (right now only* url to the video, clip duration (if available)* and the current position):* {* url: "http://../vid.mpg",* duration: 5391, // seconds (or null)* position: 4.23* }*/

onVideoBegin: function(eventData){},

// Called when a video clip ends/stops playing in the video playeronVideoEnd: function(eventData){

this.alertBox("onVideoEnd");

if(this.videoPlaying == "preroll")this.playPreroll(); //plays the next preroll, playPreroll() plays mainVideo

if prerolls are overelse if(this.videoPlaying == "clip"){

this.hideCurtain();this.hideOverlay();clearTimeout(this.overlayTimer);

this.playPostroll();}else if(this.videoPlaying == "postroll")

this.playPostroll(); //play the next postroll, playPostroll() ends playbackif postrolls are over

else if(this.videoPlaying == "step2")this.playClip(true);

else if(this.videoPlaying == "overlayvideo")this.playClip(false);

},

Page 58: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 50 / 68

June 23, 2010 Crimson Editor

// Called when a video clip is paused in the video playeronVideoPause: function(eventData){},

// Called when a video clip is resumed from pause in the video playeronVideoResume: function(eventData){},

// Called when a video clip is stopped in the video playeronVideoStop: function(eventData){},

// Called when video is moved from windowed playback to fullscreenonFullscreenOn: function(eventData){

this.resize();},

// Called when video is scaled from fullscreen to windowed playbackonFullscreenOff: function(eventData){

this.resize();},

// Called when user exits the current clip so that necessary cleanup can be doneonExitFromVideo: function(eventData){

this.cleanUp();},

// To ignore a key event and let the video player execute its default// behavior, you must return false to indicate that you will not handle that// particular event.onKeyUp: function(){

this.alertBox("onKeyUp");

if(this.videoPlayer.isFullscreen && this.videoPlaying=="clip"){

if(this.overlayVisible)this.hideOverlay();

else if(!this.curtainVisible)this.showCurtain();

elsethis.showForbidden();

}else if(this.videoPlayer.isFullscreen)

this.showForbidden();else

return false;

},

// You must return false for this key if// 1. video is not in full screen mode, and// 2. no current overlay needs to handle this keyonKeyDown: function(){

this.alertBox("onKeyDown");

if(this.videoPlayer.isFullscreen && this.videoPlaying=="clip"){

if(this.curtainVisible){

this.hideCurtain();var self = this;this.overlayTimer = setTimeout(function(){self.showOverlay();},self.

overlay_interval);}else if(!this.overlayVisible)

this.showOverlay();else

this.showForbidden();}else if(this.videoPlayer.isFullscreen)

Page 59: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 51 / 68

June 23, 2010 Crimson Editor

this.showForbidden();else

return false},

onKeyLeft: function(){

this.alertBox("onKeyLeft");

if(this.videoPlayer.isFullscreen && this.overlayVisible)this.previousOverlay();

else if(this.videoPlayer.isFullscreen && this.curtainVisible && this.videoPlaying=="clip")this.previousCurtain();

else if(this.videoPlayer.isFullscreen)this.showForbidden();

elsereturn false

},

onKeyRight: function(){

this.alertBox("onKeyRight");

if(this.videoPlayer.isFullscreen && this.overlayVisible)this.nextOverlay();

else if(this.videoPlayer.isFullscreen && this.curtainVisible && this.videoPlaying=="clip")this.nextCurtain();

else if(this.videoPlaying=="preroll" && !this.currentAd.mandatory)this.playPreroll();

else if(this.videoPlaying=="postroll" && !this.currentAd.mandatory)this.playPostroll();

else if(this.videoPlayer.isFullscreen)this.showForbidden();

elsereturn false

},

// You must return false for this key if no active overlay requires this// key for interactiononKeyEnter: function(){

this.alertBox("onKeyEnter");

if(this.videoPlayer.isFullscreen){

if(this.overlayVisible && this.videoPlaying=="clip")this.playOverlayVideo();

else if(this.curtainVisible && this.videoPlaying=="clip")this.playStep2();

else if(this.videoPlaying=="step2")this.playClip(true);

else if(this.videoPlaying=="overlayvideo")this.playClip(false);

elsereturn false;

}else

return false;},

// -- Your own functions and variables here ------------------------------

alertBox: function(message) {alert("\n\n\n " + message + "\n\n");

},

cleanUp: function() {

Page 60: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 52 / 68

June 23, 2010 Crimson Editor

this.alertBox("cleanUp");

if(this.svgG){

this.parent.removeChild(this.svgG);}

this.svgG = null;this.overlayContainer = null;this.curtainContainer = null;

this.prerolls = null;this.prerollDummies = null;this.svgCurtains = null;this.postrolls = null;this.postrollDummies = null;this.overlays = null;this.svgOverlays = null;

this.svgCountDown = null;this.svgCountDownText = null;

clearTimeout(this.overlayTimer);

this.videoPlaying = "none";

},

createCurtain: function(ad) {

this.alertBox("createCurtain");

//adds a new svg curtainvar svgCurtain = tools.newElement(svgNS, "g",{

"transform": "translate("+(this.svgCurtains.length*1280)+",-80)","opacity": "0"

});

var svgHelpShow = tools.newElement(svgNS,"image",{"width": 133,"height": 22,"x": 20,"y": 80,"id": "curtain_" + this.svgCurtains.length + "_help_show"

});svgHelpShow.setAttributeNS(xlinkNS,"href",this.resourceUrl+"help_show_up.png");svgCurtain.appendChild(svgHelpShow);

var svgHelpHide = tools.newElement(svgNS,"image",{"width": 239,"height": 22,"x": 20,"y": 80,"id": "curtain_" + this.svgCurtains.length + "_help_hide"

});svgHelpHide.setAttributeNS(xlinkNS,"href",this.resourceUrl+"help_hide_down.png");svgCurtain.appendChild(svgHelpHide);

//fadein/outvar svgFadeIn = tools.newElement(svgNS,"animate",{

"attributeName": "opacity","dur": "0s","from": "0","to": "1","begin": "indefinite","fill": "freeze","id": "curtain_" + this.svgCurtains.length + "_animateFadeIn"

});svgCurtain.appendChild(svgFadeIn);

Page 61: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 53 / 68

June 23, 2010 Crimson Editor

var svgFadeOut = tools.newElement(svgNS,"animate",{"attributeName": "opacity","dur": "5s","from": "1","to": "0","begin": "indefinite","fill": "freeze","id": "curtain_" + this.svgCurtains.length + "_animateFadeOut"

});svgCurtain.appendChild(svgFadeOut);

var svgFadeOutFast = tools.newElement(svgNS,"animate",{"attributeName": "opacity","dur": "0s","from": "1","to": "0","begin": "indefinite","fill": "freeze","id": "curtain_" + this.svgCurtains.length + "

_animateFadeOutFast"});svgCurtain.appendChild(svgFadeOutFast);

//add background if there is oneif(ad.curtainFold!=""){

var svgCurtainImage = tools.newElement(svgNS,"image",{"x": 0,"y": 0,"width": 1280,"height": 80

});svgCurtainImage.setAttributeNS("http://www.w3.org/1999/xlink","href",ad.

curtainFold);svgCurtain.appendChild(svgCurtainImage);

}else{

var svgCurtainBG = tools.newElement(svgNS,"rect",{"x": 0,"y": 0,"width": 1280,"height": 80,"opacity": "0.5","fill": "#000000"

});svgCurtain.appendChild(svgCurtainBG);

}

this.curtainContainer.appendChild(svgCurtain);this.svgCurtains[this.svgCurtains.length]=svgCurtain;

},

fetchTicket: function() {

this.alertBox("fetchTicket");

//get tagsthis.users = this.videoPlayer.getCurrentUsers();this.tags = "";for (var user in this.users){

if(this.users.hasOwnProperty(user))this.tags += this.users[user].gender + this.getAgeSpan(this.users[user].

age) + ",";}//if no users were logged in, use family

Page 62: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 54 / 68

June 23, 2010 Crimson Editor

if(this.tags=="")this.tags = "family,city";

var requestUrl = this.ticketUrl + "&tags=" + this.tags + this.clipTags + "&ct=" +this.clipLength + "&flags=" + this.clipFlags;

this.alertBox(requestUrl);

//get ticket from backendvar request = new XMLHttpRequest();request.open("GET",requestUrl,false);request.send(null);

if(request.status==200){

var XML = request.responseXML;

//get <ticket> tagsvar XMLtickets = XML.getElementsByTagName("ticket");

//loop through all ticket attributesfor(var k=0;k<XMLtickets[0].attributes.length;k++){

var attribute = XMLtickets[0].attributes[k];

//get overlay start time (subtract 1000 because of fade-in)if(attribute.name.substring(attribute.name.length-6)==":start")

this.overlay_start = attribute.value*1000;

//get display time for overlayselse if(attribute.name.substring(attribute.name.length-8)==":display")

this.overlay_display = attribute.value*1000;

//get display time for overlayselse if(attribute.name.substring(attribute.name.length-9)==":interval")

this.overlay_interval = attribute.value*1000;

//get languageelse if(attribute.name.substring(attribute.name.length-5)==":lang")

this.lang = attribute.value;

attribute = null;}

//get <ad> tagsvar XMLads = XML.getElementsByTagName("ad");

//loop through the xml <ad> tagsfor(var j=0;j<XMLads.length;j++){

//create asset objectvar ad = new Object();ad.banner = "";ad.url = "";ad.step2Url = "";ad.mandatory = true;ad.curtainFold = "";ad.curtainText = "";

//loop through all ad attributesfor(var k=0;k<XMLads[j].attributes.length;k++){

var attribute = XMLads[j].attributes[k];

//get ad typeif(attribute.name.substring(attribute.name.length-5)==":type")

ad.type = attribute.value;

Page 63: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 55 / 68

June 23, 2010 Crimson Editor

//get ad idelse if(attribute.name.substring(attribute.name.length-3)==":id")

ad.id = attribute.value;

//get ad mandatory strategyelse if(attribute.name.substring(attribute.name.length-3)==":ms" &&

attribute.value=="false")ad.mandatory = false;

attribute = null;}

//get XML params for each advar XMLparams = XMLads[j].getElementsByTagName("param");

//loop through the <param> tagsfor(var i =0;i<XMLparams.length;i++){

//ad spot urlif(XMLparams[i].attributes[0].value=="step1_spot_400")

ad.url = XMLparams[i].attributes[1].value;

//ad spot lengthif(XMLparams[i].attributes[0].value=="step1_end_time")

ad.length = XMLparams[i].attributes[1].value;

//step 2 urlelse if(XMLparams[i].attributes[0].value=="step2_spot_400")

ad.step2Url = XMLparams[i].attributes[1].value;

//curtain textelse if(XMLparams[i].attributes[0].value=="curtain_text")

ad.curtainText = XMLparams[i].attributes[1].value;

//curtain foldelse if(XMLparams[i].attributes[0].value=="curtain_fold")

ad.curtainFold = XMLparams[i].attributes[1].value;

//ad overlay bannerelse if(XMLparams[i].attributes[0].value=="banner")

ad.banner = XMLparams[i].attributes[1].value;

//ad overlay videoelse if(XMLparams[i].attributes[0].value=="video_400")

ad.url = XMLparams[i].attributes[1].value;

}

XMLparams = null;

//add urls to ad arraysif(ad.type=="preroll"){

if(ad.url!=null && ad.url!="" && ad.url!=undefined){

if(this.curtainActive)this.createCurtain(ad);

this.prerolls[this.prerolls.length] = ad;}else

this.prerollDummies[this.prerollDummies.length] = ad;}else if(ad.type=="overlay"){

if(ad.banner!=null && ad.banner!="" && ad.banner!=undefined){

//adds a new svg overlay

Page 64: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 56 / 68

June 23, 2010 Crimson Editor

var svgOverlay = tools.newElement(svgNS, "g",{"transform": "translate("+(240+(this.svgOverlays.

length*1280))+",0)","opacity": "0"

});

var svgHelpShow = tools.newElement(svgNS,"image",{"width": 133,"height": 22,"x": 0,"y": 698,"id": "overlay_" + this.svgOverlays.length + "

_help_show"});svgHelpShow.setAttributeNS(xlinkNS,"href",this.resourceUrl+"

help_show_down.png");svgOverlay.appendChild(svgHelpShow);

var svgHelpHide = tools.newElement(svgNS,"image",{"width": 239,"height": 22,"x": 0,"y": 698,"id": "overlay_" + this.svgOverlays.length + "

_help_hide"});svgHelpHide.setAttributeNS(xlinkNS,"href",this.resourceUrl+"

help_hide_up.png");svgOverlay.appendChild(svgHelpHide);

//fadein/outvar svgFadeIn = tools.newElement(svgNS,"animate",{

"attributeName": "opacity","dur": "0s","from": "0","to": "1","begin": "indefinite","fill": "freeze","id": this.svgOverlays.length + "_animateFadeIn

"});svgOverlay.appendChild(svgFadeIn);

var svgFadeOut = tools.newElement(svgNS,"animate",{"attributeName": "opacity","dur": "5s","from": "1","to": "0","begin": "indefinite","fill": "freeze","id": this.svgOverlays.length + "

_animateFadeOut"});svgOverlay.appendChild(svgFadeOut);

//new imagevar svgImage = tools.newElement(svgNS,"image",{

"x": 0,"y": 720,"width": 800,"height": 100

});svgImage.setAttributeNS("http://www.w3.org/1999/xlink","href",ad.

banner);svgOverlay.appendChild(svgImage);

//new handle

var svgHandle = tools.newElement(svgNS,"image",{"x": 702,

Page 65: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 57 / 68

June 23, 2010 Crimson Editor

"y": 700,"width": 98,"height": 20

});svgHandle.setAttributeNS(xlinkNS,"href",this.resourceUrl+"annons.

png");svgOverlay.appendChild(svgHandle);

this.overlayContainer.appendChild(svgOverlay);

this.svgOverlays[this.svgOverlays.length]=svgOverlay;

this.overlays[this.overlays.length] = ad;

}

}else if(ad.type=="postroll"){

if(ad.url!=null && ad.url!="" && ad.url!=undefined){

this.createCurtain(ad);this.postrolls[this.postrolls.length] = ad;

}else

this.postrollDummies[this.postrollDummies.length] = ad;}

}

XML = null;XMLtickets = null;XMLads = null;

//this.svgCurtainBG.setAttributeNS(svgNS,"width",(this.prerolls.length+this.postrolls.length)*1280);

//set the text on the curtainsfor(var i = 0;i<this.svgCurtains.length;i++){

var currentAd = null;if(i<this.prerolls.length)

currentAd = this.prerolls[i];else

currentAd = this.postrolls[i-this.prerolls.length];

//add textvar svgCurtainText = tools.newElement(svgNS,"text",{

"text-anchor": "middle","fill": "white","x": 640,"y": 50,"font-size": 30,"font-face": "Trebuchet"

});

svgCurtainText.textContent = currentAd.curtainText;this.svgCurtains[i].appendChild(svgCurtainText);

//add left arrowif(i!=0){

var svgArrowLeft = tools.newElement(svgNS,"image",{"x": 20,"y": 22,"width": 21,"height": 36

Page 66: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 58 / 68

June 23, 2010 Crimson Editor

});svgArrowLeft.setAttributeNS(xlinkNS,"href",this.resourceUrl+"

arrowLeft.png");this.svgCurtains[i].appendChild(svgArrowLeft);

}

//add right arrowif(i!=this.svgCurtains.length-1){

var svgArrowRight = tools.newElement(svgNS,"image",{"x": 1239,"y": 22,"width": 21,"height": 36

});svgArrowRight.setAttributeNS(xlinkNS,"href",this.resourceUrl+"

arrowRight.png");this.svgCurtains[i].appendChild(svgArrowRight);

}

}

//set the text on the svg handlesfor(var i = 0;i<this.overlays.length;i++){

//add textvar svgHandleText = tools.newElement(svgNS,"text",{

"text-anchor": "middle","fill": "white","x": 751,"y": 714,"font-size": 18,"font-face": "Trebuchet"

});svgHandleText.textContent = "Ad " + (i+1) + " of " + this.overlays.length

;this.svgOverlays[i].appendChild(svgHandleText);

//add left arrowif(i!=0){

var svgArrowLeft = tools.newElement(svgNS,"image",{"x": -50,"y": 720,"width": 50,"height": 100

});svgArrowLeft.setAttributeNS(xlinkNS,"href",this.resourceUrl+"

arrowLeftBG.png");this.svgOverlays[i].appendChild(svgArrowLeft);

}

//add right arrowif(i!=this.overlays.length-1){

var svgArrowRight = tools.newElement(svgNS,"image",{"x": 800,"y": 720,"width": 50,"height": 100

});svgArrowRight.setAttributeNS(xlinkNS,"href",this.resourceUrl+"

arrowRightBG.png");

Page 67: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 59 / 68

June 23, 2010 Crimson Editor

this.svgOverlays[i].appendChild(svgArrowRight);}

}}

},

getAgeSpan: function(age) {var ageSpans = new Array(0,3,7,12,15,20,25,30,35,40,45,50,55,60,70,200);

for(var i = 0;i<ageSpans.length;i++){

if(age >= ageSpans[i] && age<ageSpans[i+1]){

return ageSpans[i] + "-" + (ageSpans[i+1]-1);break;

}}

},

hideCountDown: function() {

this.alertBox("hideCountDown");

if(this.svgCountDown)this.svgCountDown.setAttribute("visibility","hidden");

if(this.svgCountDownText)this.svgCountDownText.setAttribute("visibility","hidden");

},

hideCurtain: function(fadeFast,showOverlay) {this.alertBox("hideCurtain");

if(this.curtainActive && this.curtainVisible){

this.curtainContainer.getElementById("animateCurtainUp").beginElement();this.curtainContainer.getElementById("curtain_" + this.curtainIndex+"

_animateFadeIn").endElement();

this.curtainVisible=false;

this.updateCurtainAnimations();

//if countdown is to be shown, fade out fastif(fadeFast)

this.curtainContainer.getElementById("curtain_" + this.curtainIndex+"_animateFadeOutFast").beginElement();

//otherwise fade out slowelse

this.curtainContainer.getElementById("curtain_" + this.curtainIndex+"_animateFadeOut").beginElement();

for(var i = 0;i<this.svgCurtains.length;i++){

document.getElementById("curtain_" + i + "_help_show").setAttribute("display","");

document.getElementById("curtain_" + i + "_help_hide").setAttribute("display","none");

}}

if(showOverlay){

var self = this;setTimeout(function(){self.showOverlay();},self.overlay_start-4000);

}

Page 68: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 60 / 68

June 23, 2010 Crimson Editor

},

hideOverlay: function() {this.alertBox("hideOverlay");if(this.overlayVisible){

for(var i = 0;i<this.svgOverlays.length;i++){

document.getElementById("overlay_" + i + "_help_show").setAttribute("display","");

document.getElementById("overlay_" + i + "_help_hide").setAttribute("display","none");

}

this.overlayContainer.getElementById("animateDown").beginElement();this.overlayVisible=false;

this.updateOverlayAnimations();

//set timeout to show the next onevar self = this;clearTimeout(this.overlayTimer);

this.overlayTimer = setTimeout(function(){self.nextOverlay();},(this.overlay_interval-1000));

//start fading outdocument.getElementById(this.overlayIndex+"_animateFadeIn").endElement();document.getElementById(this.overlayIndex+"_animateFadeOut").beginElement();

}},

logView: function(ad) {

this.alertBox("logView");

var logUrl = this.logUrl + "&e=0";

//if its not a dummy ad, add ad id and event typeif(ad!=null && ad.id!=null && ad.id!="" &&ad.id!=undefined)

logUrl += "&a=" + ad.id;else

logUrl += "&a=0";

//sending log asynchronouslyvar request = new XMLHttpRequest();request.open("GET",logUrl,true);request.send(null);

logUrl = null;},

nextCurtain: function() {

this.alertBox("nextCurtain");

if(this.svgCurtains.length>this.curtainIndex+1){

document.getElementById("curtain_" + (this.curtainIndex+1)+"_animateFadeIn").beginElement();

clearTimeout(this.overlayTimer);

this.curtainContainer.getElementById("animateCurtainLeft").beginElement();this.curtainIndex++;this.updateCurtainAnimations();

}else

this.showForbidden();},

Page 69: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 61 / 68

June 23, 2010 Crimson Editor

nextOverlay: function() {

this.alertBox("nextOverlay");

if(this.svgOverlays.length>this.overlayIndex+1){

this.overlayContainer.getElementById("animateLeft").beginElement();this.overlayIndex++;this.updateOverlayAnimations();

//if its visible, set Timeout to hide itif(this.overlayVisible){

document.getElementById((this.overlayIndex)+"_animateFadeIn").beginElement();

var self = this;clearTimeout(this.overlayTimer);this.overlayTimer = setTimeout(function(){self.hideOverlay();},this.

overlay_display);}//if its not visible, show it in 500mselse{

var self = this;clearTimeout(this.overlayTimer);this.overlayTimer = setTimeout(function(){

self.showOverlay();},500);

}}else

this.showForbidden();},

playClip: function(showCurtain) {

this.alertBox("playClip");

this.hideCountDown();

this.videoPlaying = "clip";

this.videoPlayer.play(this.mainVideo);

var self = this;clearTimeout(this.overlayTimer);if(showCurtain){

this.showCurtain(true);this.overlayTimer = setTimeout(function(){self.hideCurtain(false,true);},4000

);}else{

this.overlayTimer = setTimeout(function(){self.showOverlay();},this.overlay_start);

}

//show the first overlay here

},

playOverlayVideo: function() {

this.alertBox("playOverlayVideo");

Page 70: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 62 / 68

June 23, 2010 Crimson Editor

if(this.overlays[this.overlayIndex]!=null && this.overlays[this.overlayIndex].url!="") {

this.hideCurtain();this.hideOverlay();clearTimeout(this.overlayTimer);

//this.logView(this.overlays[this.overlayIndex]);

this.videoPlaying = "overlayvideo";this.videoPlayer.play(this.overlays[this.overlayIndex].url);

var self = this;setTimeout(function(){self.showCountDown(0,0,true);},500);

}},

playPostroll: function() {

this.alertBox("playPostroll");

//play a postroll if there is a next oneif(this.postrolls.length > this.postrollIndex+1 &&

this.postrolls[this.postrollIndex+1]!=null &&this.postrolls[this.postrollIndex+1].url!="")

{this.postrollIndex++;

//log info to the backendthis.logView(this.postrolls[this.postrollIndex]);

this.videoPlaying = "postroll";

this.currentAd = this.postrolls[this.postrollIndex];this.showCountDown(this.postrollIndex+1,this.postrolls.length,false);

this.videoPlayer.play(this.postrolls[this.postrollIndex].url);

}//if there is no next one, stop playbackelse{

//log all preroll dummiesfor(var i = 0;i<this.postrollDummies.length;i++)

this.logView(this.postrollDummies[i]);

this.hideCountDown();this.videoPlaying = "none";playing = false;

//this.videoPlayer.end();}

},

playPreroll: function() {

this.alertBox("playPreroll");

//play a preroll if there is a next oneif(this.prerolls.length > this.prerollIndex+1 &&

this.prerolls[this.prerollIndex+1]!=null &&this.prerolls[this.prerollIndex+1].url!="")

{this.prerollIndex++;

//log info to the backendthis.logView(this.prerolls[this.prerollIndex]);

Page 71: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 63 / 68

June 23, 2010 Crimson Editor

this.videoPlaying = "preroll";

this.currentAd = this.prerolls[this.prerollIndex];this.showCountDown(this.prerollIndex+1,this.prerolls.length,false);

this.videoPlayer.play(this.prerolls[this.prerollIndex].url);

}//if there are no more prerollselse{

//log all preroll dummiesfor(var i = 0;i<this.prerollDummies.length;i++)

this.logView(this.prerollDummies[i]);

this.playClip(true);

}

},

playStep2: function() {

this.alertBox("playStep2");

//this.hideCurtain();

this.hideOverlay();clearTimeout(this.overlayTimer);this.hideCurtain(true);

var self = this;setTimeout(function(){self.showCountDown(0,0,true);},500);

this.videoPlaying = "step2";

//if index is in prerollsif(this.curtainIndex<this.prerolls.length) {

//this.logView(this.prerolls[this.curtainIndex]);

//play step2 if available, otherwise play same clip againif(this.prerolls[this.curtainIndex].step2Url!="")

this.videoPlayer.play(this.prerolls[this.curtainIndex].step2Url);else

this.videoPlayer.play(this.prerolls[this.curtainIndex].url);}//else play postrollelse {

this.logView(this.postrolls[this.curtainIndex-this.prerolls.length]);

this.videoPlayer.play(this.postrolls[this.curtainIndex-this.prerolls.length].url);

}

},

previousCurtain: function() {

this.alertBox("previousCurtain");

if(this.curtainIndex>0){

clearTimeout(this.overlayTimer);document.getElementById("curtain_" + (this.curtainIndex-1)+"_animateFadeIn").

Page 72: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 64 / 68

June 23, 2010 Crimson Editor

beginElement();

this.curtainContainer.getElementById("animateCurtainRight").beginElement();this.curtainIndex--;this.updateCurtainAnimations();

}else

this.showForbidden();},

previousOverlay: function() {

this.alertBox("previousOverlay");

if(this.overlayIndex>0){

document.getElementById((this.overlayIndex-1)+"_animateFadeIn").beginElement();

this.overlayContainer.getElementById("animateRight").beginElement();this.overlayIndex--;this.updateOverlayAnimations();

if(this.overlayVisible){

var self = this;clearTimeout(this.overlayTimer);this.overlayTimer = setTimeout(function(){self.hideOverlay();},this.

overlay_display);}

}else

this.showForbidden();},

resize: function(){

this.alertBox("resize");

if (this.svgG){tools.setAttributes(this.svgG, {

"transform": "scale("+(this.videoPlayer.width/1280)+")"});

}},

showCountDown: function(index,count,chosenClip) {

this.alertBox("showCountDown");

clearInterval(this.countDownInterval);

//create svg if its not already createdif(this.svgCountDown) {

this.svgCountDown.setAttribute("visibility","visible");}else {

this.svgCountDown = tools.newElement(svgNS,"rect",{"x": 0,"y": 0,"width": 1280,"height": 50,"fill": "#000000","opacity": "0.5","visibility": "visible"

});this.svgG.appendChild(this.svgCountDown);

}if(this.svgCountDownText) {

this.svgCountDownText.setAttribute("visibility","visible");

Page 73: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 65 / 68

June 23, 2010 Crimson Editor

} else {this.svgCountDownText = tools.newElement(svgNS,"text",{

"text-anchor": "left","fill": "white","x": 20,"y": 32,"font-size": 18,"font-face": "Trebuchet","opacity": "0.5","visibility": "visible"

});this.svgG.appendChild(this.svgCountDownText);

}

if(chosenClip)this.svgCountDownText.textContent = "Playing ad. Press OK to go back to your

clip.";else if(this.currentAd.length>0){

var self = this;self.updateCountDown(index,count);this.countDownInterval = setInterval(function(){self.updateCountDown(index,

count);},500);}

},

showCurtain: function(auto) {

this.alertBox("showCurtain");

if(this.curtainActive && !this.curtainVisible && this.videoPlaying=="clip" &&this.svgCurtains.length>0)

{

//start fading indocument.getElementById("curtain_" + this.curtainIndex+"_animateFadeOut").

endElement();document.getElementById("curtain_" + this.curtainIndex+"_animateFadeOutFast")

.endElement();document.getElementById("curtain_" + this.curtainIndex+"_animateFadeIn").

beginElement();

this.hideOverlay();if(!auto)

clearTimeout(this.overlayTimer);

this.curtainContainer.getElementById("animateCurtainDown").beginElement();this.curtainVisible=true;

this.updateCurtainAnimations();

for(var i = 0;i<this.svgCurtains.length;i++){

document.getElementById("curtain_" + i + "_help_show").setAttribute("display","none");

document.getElementById("curtain_" + i + "_help_hide").setAttribute("display","");

}}

},

showForbidden: function() {document.getElementById("forbiddenFadeOut").beginElement();

},

showOverlay: function() {

Page 74: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 66 / 68

June 23, 2010 Crimson Editor

this.alertBox("showOverlay");

if(!this.overlayVisible && this.videoPlaying=="clip" && this.overlays.length>0){

this.hideCurtain();

//start fading indocument.getElementById(this.overlayIndex+"_animateFadeOut").endElement();document.getElementById(this.overlayIndex+"_animateFadeIn").beginElement();

this.overlayContainer.getElementById("animateUp").beginElement();this.overlayVisible=true;

this.updateOverlayAnimations();

//set timeout to hide it againvar self = this;clearTimeout(this.overlayTimer);this.overlayTimer = setTimeout(function(){self.hideOverlay();},this.

overlay_display);

for(var i = 0;i<this.svgOverlays.length;i++){

document.getElementById("overlay_" + i + "_help_show").setAttribute("display","none");

document.getElementById("overlay_" + i + "_help_hide").setAttribute("display","");

}

//log back to VPthis.logView(this.overlays[this.overlayIndex]);

}},

updateCountDown: function(index,count) {

if(this.svgCountDownText) {

this.svgCountDownText.textContent = "Ad " + index + " of " + count + ".";

if(this.videoPlaying=="preroll" && index == this.prerolls.length)this.svgCountDownText.textContent += " Your clip begins in ";

else if(this.videoPlaying=="postroll" && index == this.postrolls.length)this.svgCountDownText.textContent += " Ending playback in ";

elsethis.svgCountDownText.textContent += " Next ad in ";

this.svgCountDownText.textContent += parseInt(this.currentAd.length-this.videoPlayer.getCurrentPosition()) + " seconds.";

}

},

updateCurtainAnimations: function() {

this.alertBox("updateCurtainAnimations");

//leftvar oldAnimationLeft = this.curtainContainer.getElementById("animateCurtainLeft")

;if(oldAnimationLeft)

this.curtainContainer.removeChild(oldAnimationLeft);

var newAnimationLeft = tools.newElement(svgNS,"animate",{"id": "animateCurtainLeft","attributeName": "ekioh:scrollX","dur": "0.5s",

Page 75: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 67 / 68

June 23, 2010 Crimson Editor

"begin": "indefinite","fill": "freeze","from": (this.curtainIndex*(1280)),"to": ((this.curtainIndex+1)*(1280))

});

this.curtainContainer.appendChild(newAnimationLeft);

//rightvar oldAnimationRight = this.curtainContainer.getElementById("animateCurtainRight

");if(oldAnimationRight)

this.curtainContainer.removeChild(oldAnimationRight);

var newAnimationRight = tools.newElement(svgNS,"animate",{"id": "animateCurtainRight","attributeName": "ekioh:scrollX","dur": "0.5s","begin": "indefinite","fill": "freeze","from": (this.curtainIndex*(1280)),"to": ((this.curtainIndex-1)*(1280))

});

this.curtainContainer.appendChild(newAnimationRight);

//upvar oldAnimationUp = this.curtainContainer.getElementById("animateCurtainUp");if(oldAnimationUp)

this.curtainContainer.removeChild(oldAnimationUp);

var newAnimationUp = tools.newElement(svgNS,"animate",{"id": "animateCurtainUp","attributeName": "ekioh:scrollY","dur": "0.5s","begin": "indefinite","fill": "freeze","from": -80,"to": 0,

});

this.curtainContainer.appendChild(newAnimationUp);

//downvar oldAnimationDown = this.curtainContainer.getElementById("animateCurtainDown")

;if(oldAnimationDown)

this.curtainContainer.removeChild(oldAnimationDown);

var newAnimationDown = tools.newElement(svgNS,"animate",{"id": "animateCurtainDown","attributeName": "ekioh:scrollY","dur": "0.5s","begin": "indefinite","fill": "freeze","from": 0,"to": -80

});

this.curtainContainer.appendChild(newAnimationDown);},

updateOverlayAnimations: function() {

this.alertBox("updateOverlayAnimations");

//leftvar oldAnimationLeft = this.overlayContainer.getElementById("animateLeft");if(oldAnimationLeft)

this.overlayContainer.removeChild(oldAnimationLeft);

Page 76: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

videoplaza.js 68 / 68

June 23, 2010 Crimson Editor

var newAnimationLeft = tools.newElement(svgNS,"animate",{"id": "animateLeft","attributeName": "ekioh:scrollX","dur": "0.5s","begin": "indefinite","fill": "freeze","from": (this.overlayIndex*(1280)),"to": ((this.overlayIndex+1)*(1280))

});

this.overlayContainer.appendChild(newAnimationLeft);

//rightvar oldAnimationRight = this.overlayContainer.getElementById("animateRight");if(oldAnimationRight)

this.overlayContainer.removeChild(oldAnimationRight);

var newAnimationRight = tools.newElement(svgNS,"animate",{"id": "animateRight","attributeName": "ekioh:scrollX","dur": "0.5s","begin": "indefinite","fill": "freeze","from": (this.overlayIndex*(1280)),"to": ((this.overlayIndex-1)*(1280))

});

this.overlayContainer.appendChild(newAnimationRight);

//upvar oldAnimationUp = this.overlayContainer.getElementById("animateUp");if(oldAnimationUp)

this.overlayContainer.removeChild(oldAnimationUp);

var newAnimationUp = tools.newElement(svgNS,"animate",{"id": "animateUp","attributeName": "ekioh:scrollY","dur": "0.5s","begin": "indefinite","fill": "freeze","from": 0,"to": 110,

});

this.overlayContainer.appendChild(newAnimationUp);

//downvar oldAnimationDown = this.overlayContainer.getElementById("animateDown");if(oldAnimationDown)

this.overlayContainer.removeChild(oldAnimationDown);

var newAnimationDown = tools.newElement(svgNS,"animate",{"id": "animateDown","attributeName": "ekioh:scrollY","dur": "0.5s","begin": "indefinite","fill": "freeze","from": 110,"to": 0

});

this.overlayContainer.appendChild(newAnimationDown);

}

};

Page 77: Ads in Video on Demand for IPTV - nada.kth.se · Abstract Ads in Video on Demand for IPTV This study aims to find what potential and limitations arise when developing a video-ad player

TRITA-CSC-E 2010:079 ISRN-KTH/CSC/E--10/079--SE

ISSN-1653-5715

www.kth.se