- introduction of mashup technologies
- basic assignment(s) -- map(s), flow(s) & diagram(s)
- server technologies -- the (W)AMP stack
- technical issues -- services & protocols
- student presentation of concept final assignment(s)
- services -- flickr, amazon, google, etc.
- interaction -- model(s) of immersion
- presentation of final assignment(s)

contents
The course presents advanced web technology, that allows for the development of data-driven dynamic web applications,
using web services, such as google maps and AJAX, XML and JSON, in the Rich Internet Applications, provided by flex /as3.

Recommended literature: Professional Web 2.0 Programming, by Eric van der Vlist, Danny Ayers, Erik Bruchez, Joe
Fawcett, Alessandro Vernet
Online reference(s):

prerequisite(s):
CS1 -- computer & network architecture(s)

goal(s) & attainment target(s)
The course aims at providing
- awareness of available web 2.0 services, tools, APIs and SDKs
- familiarity the design and development life-cycle of data-driven rich-media applications
- fluency with flex in combination with AJAX and web services
- full literacy with developing moderately complex media rich applications
Students are expected to have a sufficient degree of creativity, and will be stimulated to explore the wealth of available
technologies to make stunning applications.

place in curriculum:
NM3 is an advanced course for NM students. As a follow-up on NM1 and NM2 it allows, in combination with CS3: Data
Driven Applications, to build fully-functional, professional web sites, such as social community sites.

application area & motivating example(s)
Current Web 2.0 sites allow for user contributed content, including media content such as images and video. many of the
existing sites, such as youtube and flickr, moreover, offer APIs to use and store content by means of web services.
Mashups allow for quickly developing prototypes, incorporating web services, that in it self may act as media portals,
providing web services to for other communities. Many interesting sites of this type are developed in the domain of cultural
heritage, in particular historical musems and museum of contemporary art.

teaching method(s)
The course will be organised around lectures, which will introduce basic examples and which will provide an in-depth
explanation of the technologies. The assignments will consist of a series of basic exercises and a final exercise
In which the students are required to develop a moderately complex dynamic web application.

Regular feedback will be given in classroom sessions where students present their work as well as via online comments or
email. Grading will be based on basic assignments, the final assignment project with documentation, as well as an essay
in which a topic of choice, either technical or in relation to the application of web services in the development of digital
learning or educational games, is discussed in more depth.

special facilities;
computer lab & presentation facilities

topic(s)
- data-driven applications -- XML vs JSON
- client-side processing -- AJAX vs Flex
- web-services -- REST vs SOAP
- map(s) -- geo-tagged data mashup(s)
- social network(s) -- user contributed content
- experience design -- immersive interface(s)
- security & privacy -- exploit(s) & hack(s)

NM3 target(s)
- skill(s) -- scripting, configuration, use of service APIs
- knowledge -- APIs, protocols, REST & SOAP
- theory -- web 2.0, social networks
- experience(s) -- construction of moderately complex mashup
- attitude -- craftmanship, creativity

inspiration(s) -- (serious) mashups

session(s)
- introduction of mashup technologies
- basic assignment(s) -- map(s), flow(s) & diagram(s)
- server technologies -- the (W)AMP stack
- technical issues -- services & protocols
- student presentation of concept final assignment(s)
- services -- flickr, amazon, google, etc.
- interaction -- model(s) of immersion
- presentation of final assignment(s)

basic(s) -- web 2.0 mashup(s)
- flow(s) -- presenting time-ordered data
- map(s) -- presenting geo-tagged information
- diagram(s) -- presenting abstract structure(s)

final(s) -- web 2.0 mashup(s)
- map-based information system -- using umap with flex/as3
- web-service driven game -- e.g. based on RSS-feeds
- information game -- e.q. collaborative fitness game

reference(s)
- Flickr Mashups, by David A. Wilkinson, Wrox
-- info)
- Amazon.com Mashups, byFrancis Shanahan
-- info
- del.icio.us Mashups, by Brett O'Connor
-- (info)
- Web APIs with PHP, by Paul Reinheimer, Wrox
-- (info)
- Professional Adobe Flex 2 (Programmer to Programmer) by Rich Tretola, Simon Barber, and Renaun Erickson -- (amazon)
- Visualizing the Semantic Web: XML-based Internet and Information Visualization by Vladimir Geroimenko -- (amazon)
- A. Eliëns, topical media & game development -- media.eliens.net


advice for the student(s)
Given the overwhelming number of web services, APIs,
language environments and server technologies, you really have no other option
than make a
choice and
focus on
one particular API and try to get the most out of it.
Do not forget the
issue of design, and try to
develop an
interface that is both
functional and
visually appealing.
An obvious choice is to take a
(google) map
component and combine this with one or more services.
As an extra challenge, think of how to incorporate
your mashup in a
game context, or even make
a
service-driven game.
