-TML logo-

T-111.5360 WWW Applications (4 cr) P


Current

08.01.2009 The course's web page is now on Noppa.

23.04.2008 The feedback form is now open.

15.04.2008 Timetable of the workshop has been published.

11.02.2008 The SVG lecture will begin at 16:45 on 5th of March.

30.01.2008 Presentation topics have been assigned to the pairs.

28.01.2008 The lecture on SVG has been confirmed. It will be on 5th of March.

Content

  1. Topic
  2. Requirements
  3. Enrollment
  4. Lectures
  5. Presentation Topics
  6. Presentation Phases
  7. Exercise Topics
  8. Exercise Instructions
  9. Exercise Phases
  10. Timetable
  11. Workshop
  12. Grading
  13. Personnel
  14. Old Pages

Topic

The objective of the WWW Applications course is to study recent developments in web technologies. The course focuses especially on WWW based applications and compound documents.


Requirements

To pass the course, the students have to do the following. The presentation and exercise assignment are done in groups of two.

  1. Attend to the lectures and the workshops.
  2. Give the presentation.
  3. Do the exercise work.
  4. Act as an opponent in the final workshop.
  5. Give course feedback.

Enrollment

The number of participating students is limited to 20. Enrollment to the course happens through Web topi and it will be closed on 20th of January 2008. After the enrollment, please submit following information to Mikko Pohja by email (see contacts below):

The students will be selected to the course based on the given information. The results of the selection process will be send by email.


Lectures

Lectures will be in room T5 on Wednesdays at 16:00. First lecture is on 23 January 2008.

The dates and the topics of the lectures are:


Presentation Topics

The course topic will studied further in student presentations, which will be given in the end of the course. The topics will be more specific than the lectures.

The topics of student presentations are listed below.

XML Binding Language 2.0 (XBL 2.0)

The XML Binding Language (XBL) can be used to bind scripts, event handlers, CSS, and more complex content models in another document to elements. It can also be used to implement new DOM interfaces. Finally XBL allows arbitrary tag sets to be implemented as widgets. For example, XBL could be used to implement the form controls in XForms or HTML.

Window Object

Window object provides a global namespace for web scripting languages, access to other documents in a compound document by reference, navigation to other locations, and timers.

AJAX

Asynchronous JavaScript and XML (AJAX) is a web development technique for creating interactive web applications. The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, so that the entire web page does not have to be reloaded each time the user requests a change.

AJAX Toolkits

Compare few most popular AJAX toolkits. For example:

Extensible Application Markup Language (XAML)

Extensible Application Markup Language (XAML) by Microsoft is a declarative XML-based language used to define objects and their properties, relationships and interactions. XAML is used extensively in the .NET Framework 3.0 technologies, particularly in Windows Presentation Foundation (WPF), where it is used as a user interface markup language to define UI elements, data binding, eventing, and other features, and in Windows Workflow Foundation (WF), in which workflows themselves can be defined using XAML.

Mobile Web Iniative (MWI)

The aim of the Mobile Web Initive (MWI) is to improve mobile web browsing. It includes a Best Practise, Device Description, and Test Suites working groups.

XPath

XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer.

Web Mashups

Web mashup combines data from more than one source into a single Web application.

OpenLaszlo

OpenLaszlo is an open source platform for creating Web applications. OpenLaszlo programs are written in XML and JavaScript and transparently compiled to Flash or DHTML. The OpenLaszlo APIs provide animation, layout, data binding, server communication, and declarative UI.

Flex

Flex is a framework for building dynamic, interactive rich Internet applications. Flex applications are delivered on the web via the Flash Player or to the desktop via Adobe AIR.


Presentation Phases

The student presentations are done in four phases:

  1. Topic (Deadline 28.01.2008)
  2. Pre-study (Deadline 13.02.2008)
  3. Slides (Deadline 02.04.2008)
  4. Presentation (23.04.2008, Workshop)

Exercise Topics

To get practical experience the students have to do exercise work. The idea is to implement one of the use cases described in the Section 2 of Compound Document Use Cases and Requirements Version 2.0, which is available at

The students can choose the exact use case by themselves.

The use case and the used technologies does not have to relate with the group's presentation topic.


Exercise Instructions

The implementated Web application should be based on compound documents, i.e., more than one markup language should be used. Those include XHTML, XForms, SMIL, XBL, and SVG among the others. Try to utilize XML Events to deliver information between languages. The exercises are intended to be done in a declarative manner, that is, try avoid Javascript as much as possible. The prototype should run in some browser, which supports compound documents. The students must find a suitable browser for their project. Examples are Firefox, Opera, and X-Smiles. More information on compound document formats can be found from CDF home page. There are links to the relating specifications.

The focus of the exercise is on the client-side formats and combination of them. Even though the use cases describe whole applications, the exercise is mainly on the user interface part of use cases. Implement the functionality of your application through the XML languages instead of Javascript.

The server-side logic can be rather simple. That is, you don't have to use data bases etc. if you don't want to. Implement server-side logic as much as needed, but remember that focus is on UI technologies. You don't have to use separate server to demonstrate your application.


Exercise Phases

The exercises will be done in five phases:

  1. Topic (Deadline 12.02.2008)
  2. Work Plan (Deadline 27.02.2008)
  3. Mid-term demo and experience exchange (19.03.2008)
  4. Final demo (Workshop 23.04.2008)
  5. Final submission (Deadline 07.05.2008)

Timetable

The weekly meetings take place on Wednesdays in seminar room T5. The first meeting is on 23.1.2008. A timetable of the course is given below.

Date Event Topic
23.01. Lecture General Arrangements (Mikko Pohja)
28.01. Deadline Presentation Topic Selection
30.01. Lecture Widgets (Mikko Pohja)
06.02. Lecture Compound Document Formats (Petri Vuorimaa)
12.02 Deadline Exercise Topic Selection
13.02. Deadline Presentation Pre-study
13.02. Lecture Different approaches to Web UI authoring: XForms and HTML5 (Mikko Honkala, Nokia)
20.02. Lecture Time and animations in Web Applications (Guido Grassel, Nokia)
27.02. Deadline Exercise Work Plan
05.03. Lecture SVG (Ossi Nykänen, TUT) NOTE: Lecture begins at 16:45.
19.03. Presentation Mid-term Demo and Experience Exchange Session
02.04. Deadline Final Slides
23.04. Presentation Workshop (approx. from 9:00 to 17:00)
07.05. Deadline Final Version of the Exercise

Workshop

The presentations and exercises are presented at the end of the course in a full-day workshop on 23.04.2008 in seminar room A106. Each group is assigned an opponent group, who will comment the presentation in addition to the course personnel. The opponents have to prepare 2-3 questions both about the presentation and the exercise.

Each group should first present their presentation (max 20+5 minutes) and then their exercise demo (max 10+5 minutes). The timetable of the workshop is given in the table below.

Time Topic Group Opponents
9:00 Organization
9:15 AJAX Tapani Niemi
Antti Kauhanen
Lei, Xuan
9:55 AJAX Toolkits Miiku Jaakkola
Ren Hai
Stenman, Lavi
10:35 Break
10:50
XPath Peter Silon
Abu Rashid
Rantala, Viitanen
11:30
Window object Otto Miettinen
Mikko Lampi
Sanz, Llorca
12:10 Lunch break
13:00 XBL 2.0 Juho Rutila Silon, Rashid
13:40 OpenLaszlo Ville Rantala
Jani Viitanen
Miettinen, Lampi
14:20 Break
14:35 XAML José Raúl Benito Sanz
Jordi Gil Llorca
Niemi, Kauhanen
15:15 Flex Jing LEI
Zhiyi XUAN
Jaakkola, Hai
15:55-16:35 Web Mashups Jenni Stenman
Mikael Lavi
Rutila

Grading

The grading of the course will be based on presentation, exercise, and participation. The final grade is a weighted average of:

The presentations will be graded based on the quality of the oral presentations, structure of the presentations, and quality of the references. The exercises will be graded based on the difficulty of the topic, the amount of work (i.e., how the group has used their time and resources), completeness, originality and elegance of the implementation, and the included documentation. Quality is more important than quantity. The participation will graded based on the number of attended weekly meetings (i.e., lectures, presentations, etc.). The workshops are obligatory.


Personnel

The course personnel are:

Professor Petri Vuorimaa

Researcher Mikko Pohja

Researcher Alessandro Cogliati


Old Pages

Old course web pages are available here:

-Contact- -TML home page- -Search- -Suomeksi- -HUT home page-

Valid XHTML 1.0!