Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

32
Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1

Transcript of Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Page 1: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Next Generation Web Apps

Towards Transformative UX

Maristella Matera, Matteo Picozzi

1

Page 2: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Modern Web applications 2

Social

Web 2.0user involvement in the

creation of contents

IntegrationData Integration

Application Integration

User Interface Integration

modernWeb applications

culture of participation

[Fischer 2009]

public APIs

Active co-creation of

knowledge and new ideas

Web Mashupswidgets

Development of

data sources

Page 3: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Computing paradigms

Mainframe computing1 computer / multiple users

1965

Client-server computingComputer networks / multiple users

1985

“The network is the computer” (John Gage, Sun Microsystems, 1984)

SaaSDaaSHaaS

Cloud computingThe Cloud / ALL the users

2005+

“The cloud is the computer”

3

Page 4: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

The developers’ point of view…Availability on the Web of ready-to-use “building blocks”:

•Software services (content, functionality) accessible throuhg public Web APIs to build composite applications

•API: Application Programming Interfacea defined set of HTTP request messages, along with a definition of the structure of response messages, which is usually in XML or JSON format [wikipedia.com]

5

Page 5: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Mashups

Mashup: young integration practice using the Web as platform.

Some definitions:

“...a mashup is a web application that combines data from more than one source into a single integrated tool…” [wikipedia.com]

“...you can integrate two or more […] Web APIs to create something new and unique, known as a mashup…” [IBM web site]

Similar terms: service mashups, data mashups

6

Page 6: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Mashup = Integration in the Web 2.0 way

Highly user-driven:• Oftentimes the actual providers of

content/functionality are not even aware of being “wrapped”

• Google Maps example: initially skilled users «hacked» the code of the application

Strong evolution: from hacking to first systematic development approaches in a few

years

7

Page 7: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Let’s see an example

Composed of:Google Maps (http://maps.google.com)

Craigslist (http://www.craigslist.com)

8

The HousingMaps application(http://

www.housingmaps.com)

A utility for finding a house for sale or for rent

Page 8: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

A mashup example

HousingMaps (http://www.housingmaps.com)http://maps.google.comhttp://www.craigslist.com

GoogleMaps

Own application logic/UI

Craigslist

Page 9: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Mashup architecturesources:• Videos• Images• Maps• News• RSS feeds• Social contents•…

mashup web site

browser

Public interfaces(API, RSS, …)

requestresponse

Data manipulation:• embedding• aggregation• integration

10

Page 10: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

The simplest case: EmbeddingTo add a multimedia object in a Web page, it is sufficient to copy an HTML “snippet” into the HTML code of my Web page

HTML code

flickr

foto

youtube

BROWSERRendered Web page

11

Page 11: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Youtube videos 12

Page 12: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

HTML page embedding 13

Page 13: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

HTML embedding

<body>

<iframe id="FlickrFrame" src="http://www.flickr.com/search/?q=milan" name="Flickr" style="width:600px; height:500px; border:

0px"></iframe> <iframe id="AmazonFrame" src="http://amazon.com/s/?url=search-alias%3Daps&field-

keywords=milan" name="Amazon" style="width:600px; height:500px; border:

0px"></iframe> </body>

</html>

14

Page 14: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Content Aggregation15

Google News

Page 15: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Visual Aggregation

http://newsmap.jp (aggregates from Google News)

16

Page 16: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Integration17

www.housingmaps.com

Page 17: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Components• Collections:

• ProgrammableWeb (www.programmabelWeb.com)

• Mashery (developer.mashery.com/apis)• …

• Ecosystems: offer software components that are «compatible» and «integrable» to build composite applications

• WordPress (www.wordpress.org )offer a large set of widgets and the possibility to include corresponding plugins into the development workspace

• Netvibes.com: a portal with a huge number of widgets

18

Page 18: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Let’s build some examples

1. Wordpress plugins

2. HTML embedding: The Expo Mashup

19

Page 19: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

“There are creative people all around the world, hundreds of millions of them, and they are going to think of things to do with our basic platform that we didn’t think of”

Vinton Cerf – Google

20

User-driven innovation

Page 20: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Lightweight development process

Component discovery

and selection

Composition and

immediate deployment

Use and evolution

Mashup ideaComposition tool/

sandbox

sandbox

22

Page 21: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Mashup development manually

Select the components (e.g., GMaps API and the Craigslist RSS):• Include GMaps component• Define a layout for the RSS feed• Set markers through GMaps API

Problems• Manual development for skilled programmers• Manual parsing of RSS feed• No common Web API format

26

Page 22: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Assisted development

Mashup tools/platforms

• Simplify the overall development process, enabling even the less experienced user to mash up own applications

27

Page 23: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Aggregation: widget portals

31

netvibes.com

Page 24: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Content extraction 32

Page 25: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Examples

1. Dapper for content extraction + Netvibes

2. Our tools

33

Page 26: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

How the mashup paradigm can transform UX?

36

Page 27: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Transformative UX37

Chasm between operating systems and packaged applications Latzina, Beringer. ACM Interaction, March 2012

(http://www.sapdesignguild.org/community/readers/reader_latzina_beringer.asp)

Page 28: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Transformative UX Spaces of interaction

where users can realize their current goals by moving across various task contexts

Elastic systems where data objects (content) and functions (capability) are detached and can be moved into different task contexts (container)

User interfaces emerge at runtime

39

Page 29: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

The long tail of the SW market40

Page 30: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Web engineering: evolutionEvolution of web application development:

Manual development: static (plain HTML) and dynamic (PHP, JSP,...) pages coded via simple text editors or dedicated tools

Tool-aided development: authoring tools enable developers to reason on the application content and «structure»; the tools automatically generate the code

Mashup development: we are going toward the user-driven development of web applications

41

Page 31: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Mashup: pros42

“Lightweight” applications reduced amount of code to be written; just the

code for integrating APIs

«Lightweight» development availability of tools who do not require many technical skills – e.g., pipes

Low (o zero) costs for gathering data

Rapid developmentReduced time-to-market, quick prototyping

42

Page 32: Next Generation Web Apps Towards Transformative UX Maristella Matera, Matteo Picozzi 1.

Mashup: cons43

Dependency from the online data sourcesdata quality, performances, service availbility and reliability, change in the service policy (licensing, acess restrictions, etc.)

APIs: standards e versioning

Intellectual property and copyright “right to remix”: in which measure?

43