• Non ci sono risultati.

3 The state of the art

N/A
N/A
Protected

Academic year: 2021

Condividi "3 The state of the art"

Copied!
35
0
0

Testo completo

(1)

3 The state of the art

Mashups are a collection of modular web applications. Instead of considering the state of the art in mashups, which is not significant in our study, we have been looking for the most successful applications in social networking, collaborative appointment booking, news, weather forecasting and entertainment.

A lot of social network websites do exist at the time of writing. We have selected the most popular ones since popularity is a key success factor. The selected social network websites are Facebook, for its impressive user base growth, mySpace, the most popular social network website, and Twitter, which is particular since it started as a microblogging service whose only aim was to provide personal status updates accessible by the user's friends or by everyone according to the user preferences.

For the collaborative appointment booking we have considered Google Calendar, Doodle and Eventful, the second being used widely in Switzerland. Doodle is characterized by simplicity and ease of use while Google Calendar gives the user a lot of features more than Doodle does. Finally, Eventful is characterized by the ability of tracking events occurring in a particular location, tough users are able to look for events anywhere too.

(2)

In considering the state of the art of news services we have been focusing in the best suitable technology to deliver third party provided news. The best of breed of technology in the field is tied to the established news feeds technologies: RSS and ATOM. They enable mashups to link a lot of news feeds without much trouble since they are a generally accepted standard.

A lot of services may be classified as entertainment. We have spotted the big opportunities offered by user generated polls considering the ease of implementation and the big success they have got in the social platform landscape. Furthermore, we have considered You Tube! video provisioning for mobile devices, targeting technology enthusiast users.

3.1 Social network websites

The concept of social network website has been introduced in the previous chapter. Now we will have a closer look to the most successful applications in terms of established user base and growth rate.

We will start with a brief history of each social network website followed by an overview of the most relevant features ending with an analysis on why and how people use social networking websites.

(3)

History notes have been taken mainly from [15], [16] and [17]. The social network websites features object of our analysis are not exhaustive. We have only selected those that have proven to be most interesting for the majority of users or that have shed light on usage patterns.

3.1.1 Facebook1

Facebook2 is a social networking website launched on February 4th,

2004, founded by the formerly Harvard student Mark Zuckerberg. Originally designed for the Harvard College students, Facebook was gradually opened to other colleges, high schools and some large companies, all represented by the Facebook concept of “network”. Having an account on Facebook required users to have an active email address from one of these supported institutions. This contributed to create a degree of trust.

For example, an user claiming to be an Harvard College student was required to have an active email address issued by the Harvard College. Though this cannot ensure that such an user is currently an Harvard College student (the account may be not cancelled after the

1 http://www.facebook.com

2 The name refers to the paper face books depicting members of the campus community that some U.S. schools use to help new or existing community members to know other people on campus.

(4)

student graduation or after the student left college) at least it grants that the user has been affiliated by the institution.

Trust was crucial in early networks since the visibility of other users' profiles was restricted to those within the same network3.

Since September 11th, 2006 anyone thirteen or older may join. The

opening of Facebook to Internet users caused its user base to grow, especially in 2007. Facebook site's traffic ranking is the 7th, according

to Alexa4.

Features

Facebook offers a set of predefined features to its users. Moreover, it lets third party developers to add new applications and customize their look and feel by means of the Facebook Mark-up Language (FBML), a variant of HTML. We will not consider any of these applications but we would like to point out that this one is a noteworthy feature for a social platform because it is a powerful way to provide new functionality with little effort from the web application development team.

3 Actually, school-based networks maintain their social borders. In general the viewing of detailed profile data is restricted to users from the same network or confirmed friends. Moreover, Facebook strongly encourages and enforces users to identify themselves by their real names instead of nick names.

(5)

The first feature of Facebook is “the wall”. Each user has one which is visible to anyone who can access the user profile. Users can leave text messages or attachments. These messages are supposed to have a public nature and are generally short. Posts on the wall are listed in chronological ordered. Private conversations are supported too. Facebook offers email like facilities: private messages and an in box. The “Photos” application is one of the most popular of Facebook. It gives users the opportunity to create photo albums and to share them with other Facebook users. For each album it is possible to define the album name, the location where the photos were shot, the album description and the visibility. Facebook poses no limit to the number of pictures a user can submit but only to the number of pictures for each album. It is also possible to send picture directly from the user mobile phone.

In February 2007 Facebook introduced “Gifts”. As the name suggests, Gifts is used to send gifts to one's Facebook friends. It is possible to send gifts that anyone can see in a person profile, private gifts that only the recipient can see and anonymous gifts, which anyone can see but without knowing who sent it.

The “Marketplace” is a space where users can post or view classified ads for free. It is mostly used for selling ads and housing.

(6)

One of the most interesting features of Facebook is “poke”, a contentless message. Pokes were introduced as a feature without any specific purpose. Users usually give pokes different meanings ranging from a nudge to attract the attention of another user or to implicitly say “I'm thinking of you”, to a sexual advance. The meaning of poke is shared between the couple of users that are poking each other. This meaning can be tied to the relationship between the users or to the context in which poking happens. Another interesting phenomenon are “poke wars” where “a pair of users repeatedly poke one another

back and forth over a period of time”[8]. Pokes are reported to the

user as notification in its login page and a poke back response is suggested in the notification itself.

The “status” feature is common in many instant messaging applications. It is a way to tell everybody what the user is actually doing or how he is feeling. For this reason the status messages in Facebook were prepended with “User name is”. This is not more a requirement since December 2007, due to the fact that users like to use status messages also for other purposes, like reporting a famous citation they have just read or heard. Anyway, “is” is still suggested in the text box used to type the new user status.

The last feature we analyse is “Events”. Users can create events entry to organize social gatherings or to inform other Facebook users about

(7)

other important happenings, meaningful for the community. To create an event, the user must provide some required information, like the event name, the host, the event type, the start and end times and data about the location where the event will take place. It is a user choice to make the event visible only in one of its networks or available to all Facebook users. Moreover, the user can choose to make the event open to anyone, only for guests it chooses or secret, so that only the guests will be aware of the event information, though the event visibility will be unaffected. Other options include the possibility for users to post videos or photos, to show or not the guest list and to enable other accessory features.

3.1.2 MySpace

It was the summer of 2003 when eUniverse (now Intermix Media) launched MySpace. The division who developed the website was granted all the financial, technical and human resources needed for the project. It was supervised by Brad Greenspan who managed Chris DeWolfe (the current MySpace CEO), Josh Berman and Tom Anderson5 (the current MySpace president) and a team of developers

and resources provided by eUniverse.

5 Tom Anderson is the first friend of any user signing up on MySpace. The number of Tom Anderson friends is used to count the number of open accounts in MySpace.

(8)

The strategy of eUniverse to build up a consistent user base to MySpace was based on its own employees and users6 of other existing

web based applications. The very first MySpace users were eUniverse employees. They started to invite their friends to join the platform and the company even launched a contest where the winner would be the employee who would sign up the most users.

In July 2005 Rupert Murdoch's News Corporation bought MySpace and eUniverse for 580 million dollars. The 100 millionth account was created on August 9th, 2006.

As of January 2007 there are over 200 millions accounts. MySpace is 6th in the Alexa rank and is the third most popular website in the

United States. Features

MySpace profiles contain two short sections describing the user and its likings: “About me” and “Who I'd like to meet”. They also contain an “interests” and “details” sections to give people the possibility to describe themselves.

MySpace also provides a blog and image uploading features. The user can choose one of the images uploaded to be the “default image”: the user's face in MySpace.

(9)

Below the user's friends space we find the “comments” section. The user's friends can leave comments visible to anyone. The profile owner can delete any comment or require any comment to be approved before being shown. Once the user account is deleted, every comment left on other profiles by that user will be deleted and replaced with a comment saying that the profile no longer exists.

Part of the MySpace profile is customizable. Users can enter HTML (Hypertext Mark-up Language) in some profile areas. Flash based content can be embedded in the profile this way, but no JavaScript is allowed. It is also possible to add music to the profile page using the “MySpace Music” service. Users may provide further profile customization by entering CSS (Cascading Stile Sheets) to override the page default style sheet using the “MySpace editor”. CSS may be used to change font and colours but cannot be used to the maximum extent because of the structure of the underlying HTML provided by the profile page7. Anyway there are a lot of independent web sites

offering layout design utilities to simplify this task. To fulfil the user needs of profile customization MySpace has recently added a “Profile

Customizer” that changes the MySpace default code for the

customized profile and produces better results.

7 CSS entries are provided by means of a <style> tag in the body section of the HTML document. This causes the CSS to be applied while the page is being shown by the browser producing a disturbing effect.

(10)

MySpace has different profile options for musicians profiles. Artists are allowed to upload up to six MP3 songs, may insert tour dates and videos. The uploader must obviously own the rights to use the songs. To sign up as a musician an “Artist Signup” link is provided. This MySpace feature has proven popular among MySpace users and many music bands, notorious or not, are actually using MySpace to promote their songs and to keep and get in touch with fans.

MySpace offers other features not directly tied to the user profile.

“Bulletins” are posts on a bulletin board. They may be visible to all the user's friends or, more frequently, to only a subset of them. Bulletins are used to deliver the same messages to a set of users without having to send them to each user. Some users use them to deliver chain messages about a specific topic.

The “Groups” feature allows a group of users to share a common page and a message board. They can be created by anyone and they have a moderator, which chooses to allow or deny other users to join the group.

“MySpace IM” is an instant messenger for MySpace and it is a standalone application for Microsoft Windows. The user logs in with the same email associated with its MySpace account and is instantly notified of new friends requests, comments or messages.

(11)

“MySpace TV” is a feature currently in beta version. It has been introduced in early 2007 and its features are similar to those of the You Tube! video sharing website.

“MySpace News” has been launched in April 2007. It displays news from RSS feeds submitted by users and allows them to vote each news. The most voted news will have an higher rank.

“MySpace Classifieds” offers classifieds listings, like the Facebook marketplace feature.

3.1.3 Twitter

Twitter born as a research and development project inside a start-up company, Obvious LLC8, in March 2006. The company started to use

it internally before launching it officially in October 2006.

In a very short time the service gained popularity and in March 2007 won the 2007 South by Southwest Web Award in the blog category. In April 2007, Obvious LLC spun off the service as a separate entity: Twitter Incorporated.

Twitter is a micro blogging service with rudimentary social networking features. It allows users to send “tweets”: text based short messages up to 140 characters. Tweets are a reply to the rhetorical

(12)

question “What are you doing?”. They can be thought as user status updates or very short blog posts (hence the term microblogging).

Twitter is designed to be device agnostic. Users are able to post their tweets by sms, a web interface, an instant messenger or any third party developed application.

Each Twitter user has a profile page where all the posted tweets are shown. Each user has a list of users it is following and one of followers: users that have signed up for receiving the user status updates. The user can opt in to restrict the delivery of tweets only to those in its circle of friends, but the default is to deliver tweets to anyone.

User profile is minimalistic. It does not require detailed information about the user but allows them to define a picture, a location, full name and user name and a 160 character biography. It also allows for simple profile customization by means of a “Design” feature. The user can also set its mobile phone number or instant messenger9 user name

to receive notifications of followed users posts. There is also a “Public timeline” feature that shows posts sent by users worldwide. Direct messaging is supported too. Twitter users have an inbox where they receive private messages and a list of messages sent to other users.

(13)

The rudimentary social features are summarized in the “Stats” section in the user profile, where the number of “Following”, “Followers” and “Favorites” users is shown, and in the “People” section, that shows the picture of all the people known by the user.

3.1.4 Usage patterns and behaviour in social network websites

From a comparative analysis of Facebook and MySpace we can see that they share most common functionalities: private messaging, status message, groups, events and friends listings are only some of them. Even if they have similar functionalities they have profound differences that may be partly ascribed to their different origin and user base and both aspects are tightly coupled.

As we have seen above, Facebook started as an Harvard only website. Then it expanded towards other universities. This made Facebook famous as the social network website for college students.

MySpace opened to anyone since its beginnings. At first, users were aged between 20 and 30. The 2004 was the year of the music bands. In the late 2004 teens started to sign up in mass to MySpace, becoming famous as the teen social network website in 2005.

Since September 2007, when Facebook opened to Internet users this distinction became fuzzier. In a blog post [18] Boyd reports on qualitative studies she made in the USA on which types of teenagers

(14)

sign up to Facebook or alternatively to MySpace. She argues that the true distinction between MySpace and Facebook users is a class division. She identifies two classes of teenagers: hegemonic and subaltern. Hegemonic teens are on the Facebook side while subaltern prefer MySpace. She has devised similar aspects analysing the phenomenon in the U.S. Army: younger soldiers, usually the most poor and less educated soldiers, tend to sign up on MySpace while officers, many of whom have already received college training have mostly Facebook accounts. The post has been highly criticized due to a misunderstood of the Boyd position and of the fact that it was not an academic article but only an article “based on my observations in the

field”. Anyway these qualitative feelings were confirmed and

measured by a recent quantitative study [19].

Facebook and MySpace have then different users. Anyway, some people uses both and other social networking websites too. There may be many reason behind such a behaviour but one of the most important is related to social context.

In a computer mediated context, like that of a social network website, users do not know who they will speak to. Even if this may seem an obvious consideration, many users are not aware of it because they think that only their actual friends will be their audience. Considering that one of the main reason for a person to join a social network is to

(15)

keep in touch with people one already knows, many people associate the social context to this list of friends, without realizing that one day they could experiment a context conflict. This happened so far into the former successful social networking website, Friendster10, and nothing

excludes this may happen again in MySpace and Facebook as their user base grows.

An example of context conflict would be for a teenager to have its mother in its list of friends. The conflict arise because it is not possible to behave in an unique way that perfectly suit both one's mother and friends.

The solution found by users to overcome this problem is to use different social network websites, one for each social context11. This,

in turn, poses the problem of being active on many platform. A situation that risks to be very time consuming. To help users to overcome this problem some software vendors propose the use of “social web browsers”, one of which is Flock12. These applications

aggregate user accounts on different social networking websites and give users the ability of being instantly notified on everything happens in the overall user's social space.

10 http://www.friendster.com

11 A suggested reading to understand how to really overcome the issue, for those passionate of literature, is “One, No one and One Hundred Thousand”, a novel written by the Italian writer Luigi Pirandello, published in 1936.

(16)

It is important to understand which features are used by social network website users. In August 2007, Compete Inc. reported on which areas within Facebook have been most users. The results are summarized in figure 3.

Excluding the member start page, it results that the the principal activities are profile browsing, interaction with third party Facebook

Figure 3 : Faceboo k activity brea k do w n. Size rep rese nts total n u m b er of users, sh a de u s a g e

(17)

applications and pictures browsing. These are the most intensively performed activities too.

Another question to answer on social network websites is about what factors affects their success or failure and what lessons have been learnt since now.

For software designers one important lesson is that they have to be able to adapt the website on the basis of what users ask. This points out how it is important to have an iterative development model with short iterations targeted to emerging user needs or to an adaptation of existing features to what users suggest.

Moreover, the web application and the hardware infrastructure must scale well as the user base grows. A slow website could be tolerated for some days, but if the problem is not addressed and solved in a short time many users may become less active or, worst, may leave the site.

After the analysis on the field of social network websites we step through the world of microblogging applications like Twitter. We can define microblogging as “a form of blogging that allows users to write

brief text updates (usually less than 200 characters) and publish them, either to be viewed by anyone or by a restricted group which can be chosen by the user. These messages can be submitted by a variety of

(18)

means, including text messaging, instant messaging, email, MP3 or the web”13.

An interesting article[20] exposes the findings on users' motivation in using micro blogging services and on how they use them.

The authors propose a taxonomy of user intentions on Twitter:

Daily Chatter: the largest use of twitter is to post tweets that talk

about daily routine or what people is currently doing.

Conversations: in Twitter there is no direct way for people to

comment or reply to friend's posts. Early adopters overcame this by using the @ symbol followed by the user name to reply. This form of communication is present in one eighth of the all post data collection and was used by 21% of users in the study sample.

Sharing information or URLs: About 13% of all the posts

contain some URL in them14.

Reporting news: many users report latest news or comment

about current events. Some automated users or agents post

13 http://en.wikipedia.org/wiki/Micro-blogging

14 For long URLs many users use URL shortening services like TinyURL (http://www.tinyurl.com)

(19)

updates like weather reports or news from RSS feeds due to easy access to the Twitter developer API.

The authors also provide a taxonomy of users:

Information source: An information source is also a hub and has

a large number of followers. The frequency or regularity of updates seems to be not as relevant as the valuable nature of the updates for a user to be an information source.

Friends: Most relationships fall into this broad category.

Information Seeker: A person who might post rarely but follows

other users regularly.

An user may play multiple roles in different communities or can have multiple intentions. The latter have led some user being overwhelmed by microblogging services. The suggestion coming from the article authors is to provide the ability to categorize friends into groups and features that facilitates conversations and news sharing.

From a geographical perspective, Twitter users are mostly concentrated in three continents: North America, Europe and Asia, with about 45% of users living in North America. Noteworthy, links across continents are fewer than those in the same continent15.

15 These findings are aligned with observations that the probability of friendship between two users is inversely proportionate to their geographic proximity.

(20)

3.2 Events and calendar applications

Collaborative appointment booking is about letting people cooperate in synchronizing their own time to fix meetings. Meetings can be characterized by the quintuple (where, when, why, how many people?, how much time?) which we call the meeting context.

The meetings we are interested in are characterized by an user that organizes a meeting (initiator) and the invited users (guests). The guests may decide to accept (in which case they are called participants) or to decline the invite.

According to meeting context guests may be able to choose among different meeting times or the initiator can define some constraints on the number of participants needed for the meeting having place.

There are many different web applications offering collaborative appointment booking services, but three of them are worth of notice: Google Calendar, Doodle, which is used by many people in Switzerland, and Eventful, an event search service where event information is provided directly by users.

3.2.1 Google Calendar

Google Calendar16 is a general purpose AJAX web based calendar

application developed by Google.

(21)

The core concept is “calendar” that may be seen a collection of events related to an aspect of one's life (e.g.: personal calendar, work calendar, sport calendar, and the like).

Users may define one or more calendars and decide to share some of them with other users. For each calendar it is possible to specify if it has to be private, public or visible only to a list of users.

The main screen shows a calendar with the current planned events. It is possible to show the current day, week, month or next four days events and to choose which calendars have to be shown. A mini calendar reports in bold the days with already planned events.

(22)

To add new events the user has simply to click on the calendar at the event start time. An event lasting one hour is created by default and shown in an event box. The duration can be changed by half our intervals by dragging down the handle at the bottom of the event box. Anyway, fine event tuning is possible by double clicking on the event box. A new screen is shown where the user can specify an event description, a guest list and remainder options17.

If the event involves inviting guests, they can reply to the invite even if they do not have a Google account, which is required only for the event initiator. Google will send an email to each guest with a link to the event page to accept or decline the invite and optionally write a comment to be shown to all event participants.

Google Calendar also allows to import calendars from other web based services (like Yahoo! Calendar) or desktop applications (like Microsoft Outlook) and to publish one in XML, iCal or HTML format. It is also possible to embed a calendar in a web site by copying an html snippet provided for each calendar.

The value of this service is that it is possible to aggregate multiple calendar information incoming from different sources. The user is able to see immediately if it will be free or busy to participate to a particular event or what events it has to attend to.

(23)

Google Calendar is also accessible from a mobile phone browser. The web interface is simplified presenting the events of the day in a chronologically ordered list. The user can move back and forth by day and show event details by selecting one of the events in the list.

3.2.2 Doodle

Doodle18 is substantially a web based poll service and, probably, the

most simple one. It provides two types of poll: text and date. User login is not required to initiate a poll or vote.

The text poll consists of providing a set of options to a list of people. It is possible to define a text poll in two steps. In the first one the poll initiator has to provide a title, an optional description, its own name, an optional email address if it likes to be notified each time someone express a preference. The second step consists in the initiator to provide the list of the options to be voted.

The date poll is useful to reach an agreement on a meeting date. It may be defined in a three steps process. The first one coincides with the one seen in the text poll case. The second step requires the initiator to define a set of dates in the future. The last one allows the initiator to define time intervals for each day defined in the previous step.

(24)

In both cases, Doodle will create an URL that represents the poll and will show it to the poll initiator. It, in turn, will send this URL to all the people it wants to vote.

Doodle does not worry about how the URL is sent to voters. It does not handle the poll invitation process delegating this task to the poll initiator.

Doodle also creates an URL to provide a poll administration interface that lets the initiator modify or delete the poll or to export the results in Microsoft Excel format.

The success of Doodle lies in its extreme simplicity, high efficacy and the ability to initiate polls without having to subscribe to the service. The following figure shows an example of a date poll in Doodle.

(25)

3.2.3 Eventful

Eventful19 is a web application centred on providing its user

community with event creation, discovery, promotion, tracking and sharing services which is based on the idea of user generated content.

19 http://www.eventful.com/

(26)

When the user accesses the Eventful homepage, the web application tries to identify the visitor geographical location to serve all the events known to be held in the user city surroundings.

Eventful users can search for events worldwide by time, location, performer, and descriptive keyword. Searches can be associated with smart calendars that are automatically updated as soon as new events match the provided search criteria.

(27)

Another popular feature of Eventful is Demand. Demand allows users to demand their favourite celebrities in their town. Users are asked to provide the name of the demanded celebrity, a description of what they demand to it (e.g.: A concert, a conference) and the location where they want the celebrity to go.

The demand is created and the user issuing the demand is now provided the tools to promote its demand: widgets to add to MySpace page or blog, promotional emails, post on personal blog or a bookmark on facebook, digg, delicious or reddit20.

Eventful offers a Demand service for performers and celebrities where they can find information about where and how much they are demanded21. In practice it may be viewed as “an essential part of the online marketing toolkit” for them, citing Eventful website itself.

A calendar export service is provided too for Microsoft Outlook, Yahoo! and Google calendar applications.

Each user has a My Eventful page where it can specify a list of events it is interested in (a watch list), a list of favourite performers (which

20 Reddit (http://reddit.com) is “a source for what's new and popular on the web”, delicious (http://del.icio.us) is “a social bookmarking website, which means it is designed to allow you

to store and share bookmarks on the web...” and digg (http://www.dig.com) is “a place for people to discover and share content from anywhere on the web”. Follow the web links for

further information.

21 U.S. politicians like John Edwards or Barack Obama have been using Eventful for their 2008 presidential campaigns and a new famous group, Pretty Ricky, organized the 2007 tour entirely on their fans demands on Eventful.

(28)

allows the user to be notified of nearby upcoming events involving them) and venues and a list of events from the combined watch lists of all user's friends on Eventful. It is also possible to save searches and to be informed of new events matching them.

Eventful allows third party developers to access and interact with the eventful database through an API. Any use of the Eventful API22

requires a valid current key per application. Keys cannot be shared between applications but the same user can ask for any number of keys.

3.3 News services

One of the most interesting applications for mobile data services is the news provisioning. Users can access news in real time from on-line magazines and be informed about weather forecasts wherever they are. An interesting option is to provide additional news and forecasts on the basis of the geographical context of the user if the service is available.

In this context we will give a brief overview of the RSS technology and its applications in news and weather forecasts provisioning.

22 http://api.eventful.com/docs fully documents the Eventful API. Interface libraries are available for Java and other languages like Ruby, Python, Perl and others. They are available at http://api.eventful.com/libs

(29)

3.3.1 Really Simply Syndication23

Really Simply Syndication (RSS) is “a Web content syndication

format”. RSS is a dialect of XML and RSS files must conform to the

XML 1.0 specification[21]. There have been many releases of the RSS standard. The current one is RSS 2.0.10.

RSS have a widespread use in on-line magazines, weblogs, commercial sites, podcasts and all those industry sectors where the need to publish frequently updated content arises.

The following is a sample RSS 2.0 file: 1. <?xml version="1.0"?> 2. <rss version="2.0"> 3.    <channel> 4.       <title>Liftoff News</title> 5.       <link>http://liftoff.msfc.nasa.gov/</link> 6.       <description>Liftoff to Space Exploration.</description> 7.       <language>en­us</language> 8.       <pubDate>Tue, 10 Jun 2003 04:00:00 GMT</pubDate> 9.       <lastBuildDate>Tue, 10 Jun 2003 09:41:01 GMT</lastBuildDate> 10.      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 11.       <generator>Weblog Editor 2.0</generator> 12.      <managingEditor>editor@example.com</managingEditor> 13.      <webMaster>webmaster@example.com</webMaster> 14.      <item> 15.         <title>Star City</title> 16.         <link>http://liftoff.msfc.nasa.gov/news/2003/news­starcity.asp</link> 17.          <description>How do Americans get ready to work with Russians aboard the  International Space Station? They take a crash course in culture, language and  protocol at Russia's &lt;a href="http://howe.iki.rssi.ru/GCTC/gctc_e.htm"&gt;Star  City&lt;/a&gt;.</description> 18.         <pubDate>Tue, 03 Jun 2003 09:39:21 GMT</pubDate> 19.         <guid>http://liftoff.msfc.nasa.gov/2003/06/03.html#item573</guid> 20.      </item> 21.       <item> 22.         <description>Sky watchers in Europe, Asia, and parts of Alaska and Canada  will experience a &lt;a  href="http://science.nasa.gov/headlines/y2003/30may_solareclipse.htm"&gt;partial  eclipse of the Sun&lt;/a&gt; on Saturday, May 31st.</description> 23.         <pubDate>Fri, 30 May 2003 11:06:42 GMT</pubDate>

23 Our main source on RSS has been the RSS advisory board: http://www.rssboard.org/rss-specification

(30)

24.         <guid>http://liftoff.msfc.nasa.gov/2003/05/30.html#item572</guid> 25.      </item>

26.   </channel> 27. </rss>

Listing 1: Sample RSS 2.0 file

At the top level (row 2) we find the <rss> element with a mandatory version attribute that specifies the RSS version the document conforms to. At row 3 we find the only <channel> element that an RSS document must contain. It specifies channel information like the channel title, description, language, image and other metadata. A channel may contain any number of <item> elements. They usually represents a story or a news article. In this case the <description> contains a summary of the article and the <link> element points to the url of the full article. The <pubDate> element indicates when the item has been published while <guid> contains an unique item identifier. Even if the RSS has a specification it does not have an XML schema description. In other words it is not possible to perform automatic RSS document validation. The RSS elements defined in the RSS specification does not have an XML namespace to support backward compatibility. Anyway, since the RSS 2.0 specification it is possible to extend RSS by means of modules. RSS feeds may contain elements not described in the specification “only if those elements are defined

(31)

3.3.2 RSS Parsing with ROME24

Since there are a lot of RSS versions in use on the web, it is desirable to be able to read RSS feeds without having to worry about the RSS parsing details. The answer we have found to this problem is ROME. ROME supports almost all RSS versions25 and provides an useful

mechanism to extend the RSS parser capabilities if the RSS document contains modules without having to modify the original ROME distribution.

The approach of ROME is to parse any feed item and to store the parsed data into standard beans: the Channel bean for RSS feeds and the Feed bean for Atom26 feeds. Both are subclasses of the WireFeed

bean which contains elements that are common to RSS and Atom. To get a WireFeed instance we have to set up first a WireFeedInput to parse the RSS document. Rome provides an XmlReader class to fetch a feed over HTTP, determine the character encoding, and provide the input stream. Once we have created an XmlReader instance providing it an URL, we can call the WireFeedInput build method passing the reader instance as a parameter. The WireFeedInput will parse the RSS document and will build and fill in a WireFeed instance (since RSS is

24 ROME (all feads lead to Rome) “is a set of open source Java tools for parsing, generating

and publishing RSS and Atom feeds.” [23]

25 RSS 0.90, RSS 0.91 Netscape, RSS 0.91 Userland, RSS 0.92, RSS 0.93, RSS 0.94, RSS

1.0, RSS 2.0, Atom 0.3, and Atom 1.0

(32)

an XML dialect, ROME uses the JDOM27 XML parser to parse RSS

feeds behind the scenes).

500.private WireFeed getWireFeed(final WireFeedInput feedInput, final String rssUrl)  throws FeedException  { 501. final HttpURLConnection conn; 502. try { 503. conn = setConnection(rssUrl); 504. conn.connect(); 505. final InputStream is = new  BufferedInputStream(conn.getInputStream()); 506. final XmlReader xmlReader = new XmlReader(is); 507. final WireFeed wireFeed = feedInput.build(xmlReader); 508. return wireFeed; 509. } catch (MalformedURLException e) { 510. log.error("Malformed url: "+rssUrl+". Please check  configuration"); 511. return null; 512. } catch (IOException e) { 513. log.error("Unable to open an HttpConnection to url: "+rssUrl,e); 514. return null; 515. } catch (IllegalArgumentException e) { 516. log.error("No parser available for feed at url: "+rssUrl,e); 517. return null; 518. } catch (FeedException e) { 519. final String errorMsg =  520.       "An error occurred while parsing of feed at url:"+rssUrl; 521. log.error(errorMsg, e); 522. throw new FeedException(errorMsg, e); 523. } 524. }

Listing 2: NewsChannelManagerBean.java. Parsing an RSS feed with ROME.

Once we have the WireFeed bean we can access the channel Items by using the getItems() method.

This ends our brief overview of ROME. We will see how the extension mechanism works in a later section when we will describe the implementation of the YahooWeather RSS module.

(33)

3.4 Entertainment

Mobile Entertainment services mainly involves gaming applications, but also music and video playing and mobile TV (though these services still do not have the wide user base that gaming applications have).

Apart from gaming, RSS technology comes handy for music and video playing. It is possible, in fact, to use RSS technology for media contents as for news feeds.

We have just scratched the mobile entertainment world surface offering video feeds taken from the popular You Tube! service. Indeed, You Tube! offers video feeds in mobile supported 3GP video format, but unfortunately it does not provide an RSS feed at the time of writing, but only an html page. We have been forced to infer the information from the XHTML page of the latest video added to You Tube!, this requiring for continuous maintenance as the XHTML page structure eventually changes.

We think video streaming will not be the most used feature, mainly because mobile fares are computed on the quantity of byte transferred. This represents an intrinsic strong barrier for most users, since video streaming involves the transfer of a huge quantity of bytes. With the availability of flat rate pricing video streaming will probably succeed in gaining popularity among mobile users.

(34)

3.4.1 YouTube!

YouTube! “is a video sharing website where users can upload, view

and share video clips” [25]. To upload videos on YouTube! the user

must be registered, but unregistered users can watch most of the available videos and subscribe to content feeds. Registered users can also comment videos or post video responses.

YouTube is a widely used service. As of February 20, 2008 the number of video clips posted in February is of about 65,00028, about

3250 video clips per day.

YouTube's video playback technology is based on Flash 9 and uses the H.263 codec. This technology allows the site to display videos with a good quality without installing any video player plug-in. Even if Flash also requires a plug-in, it is widely used and the YouTube video player works well also with third party players running on Linux machines like gnash.

Users may upload videos in many formats, but YouTube will convert them into Flash Video format (FLV) and other formats to make the video accessible from other devices, like the Apple iPhone or mobile phones in general.

(35)

Usually each page showing a YouTube video clip contains the full HTML needed to link to it within another page. With the growing interest on weblogs and social network websites this feature has been widely used29.

YouTube launched YouTube Mobile on June 2007. It is based on

XHTML and uses 3GP videos with H263/AMR30 codec and RTSP31

streaming. It is available via a web interface or via a Mobile Java application developed by YouTube. We will hack the web interface to extract the video content and serve it through the mobile social platform.

29 MySpace users have started to embed YouTube videos since the beginnings.

30 AMR (Adaptive Multi-Rate) “is an audio data compression scheme optimized for speech coding ... adopted as the standard speech codec by 3GPP in October 1998 and is now widely used in GSM and UMTS.

Figura

Figure 3 : Faceboo k activity brea k do w n. Size   rep rese nts total n u m b er  of users, sh a de  u s a g e
Figure 4 : T h e Google Calen d a r  a p plicatio n.
Figure 5 : A  d a te poll wit h  Doodle.
Figure 6 : T h e  e ve n t f ul h o m e  p a ge.

Riferimenti

Documenti correlati

Dispositional resilience optimal regulation (OR) and openness to life experiences (OL) dimensions, perceived physical health (PHYS), personal satisfaction about relationships

Lo ha fatto da un lato giocando sulla ri- valità tra i “militari in divisa” e i “militari in borghese”, rafforzando lo stato maggiore e indebolendo il Dipartimento della

We present a method for the preparation of bulk molybdenum tips for Scanning Tunneling Microscopy and Spectroscopy (STM-STS) and we assess their potential in performing high

plaques are a source of prognostic biomarkers for adverse cardiovascular events. 64) Duran MC, Mas S, Martin-Ventura JL, Meilhac O, Michel JB, Gallego-Delgado J, Lazaro A,

vidual member stars in the cluster. In each panel, the intersection of the dashed lines delimits a 1σ area around the average value. Star-to-star error bar is indicated. Star #7

Figure 4 (a) reports the details of the simulated reflectivity spectrum of a patterned area, having D =2 µm and G =4 µm, in the long-wavelength region. The reflectivity

Two cold thermopeaking and two warm thermopeaking simulations are conducted by quickly cooling the water by 3–4°C during the warm season and by warming the water by 2–3°C during

The structural modification in terms of anatase cell distortion is highlighted by the shift of the anatase (101) diffraction peak towards lower 2θ values for