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
- Topic
- Requirements
- Enrollment
- Lectures
- Presentation Topics
- Presentation Phases
- Exercise Topics
- Exercise Instructions
- Exercise Phases
- Timetable
- Workshop
- Grading
- Personnel
- 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.
- Attend to the lectures and the workshops.
- Give the presentation.
- Do the exercise work.
- Act as an opponent in the final workshop.
- 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):
- Name and student number
- Home university and study program
- Major and minor subject
- Current study year
- Courses taken in multimedia/digital media
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:
- 23.01.2008 General Arrangements (Mikko Pohja, TKK)
- 30.01.2008 Widgets (Mikko Pohja, TKK)
- 06.02.2008 Compound Document Formats (Petri Vuorimaa, TKK)
- 13.02.2008 Approaches to Web UI authoring: XForms and HTML5 (Mikko Honkala, Nokia)
- 20.02.2008 Time and animations in Web Applications (Guido Grassel, Nokia)
- 05.03.2008 at 16:45 Scalable Vector Graphics (SVG) (Ossi Nykänen, TUT)
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 (programming), Wikipedia
- Ajax: A New Approach to Web Applications
- The XMLHttpRequest Object, W3C Working Draft
AJAX Toolkits
Compare few most popular AJAX toolkits. For example:
- Google Web Toolkit
- Dojo
- Zimbra's Kabuki AJAX Toolkit
- Yahoo! AJAX Library
- Microsoft Atlas
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:
- Topic (Deadline 28.01.2008)
- First, the students have to form a group two persons and select 2 or 3 most interesting presentation topics. Then, they should send the topics in priority order to Mikko Pohja by email. The topics will be assigned to student groups on 30 Jan 2008.
- Pre-study (Deadline 13.02.2008)
- The pre-study has to include a short introduction to a topic, content plan of the presentation, and most important references. The pre-study should be written in text and be 2-3 pages long. There should be 6-12 references, of which max 2 can be so called web references. Other references should be conference and journal articles, books, standards, white papers, etc.
- Here are some links to most important digital libraries:
- Slides (Deadline 02.04.2008)
- The final version of the presentation should be about 12-20 slides. Please, include some examples in your presentation. The slides should be send to Mikko Pohja either in html or pdf format. The dealine is 02.04.2008. After that the teachers will give feedback on the slides. In additions, student opponents will be assigned for each presentation. The opponents can ask questions regarding the presentation and give comments on the topic in general.
- The corrections to the slides have to be made before 16.04.2008, when you have to send the final version of the slides to Mikko Pohja by email. The slides will be presented in full-day workshop on 23.04.2008. The presentations should last 20 minutes plus 5 minutes for discussion.
- 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:
- Topic (Deadline 12.02.2008)
- The student groups are the same as in presentation. Each group has to select 2 or 3 most interesting exercise topics. Then, they should send the topics in priority order to Mikko Pohja by email. The topics will be assigned to student groups on 13.02.2008.
- Work Plan (Deadline 27.02.2008)
- The work plan should include:
- Short introduction to the topic
- Used software
- Goals and limitations of the exercise
- Brief use case description
- Main tasks to be done
- Group's own milestones
- The deadline for work plans is 27.02.2008.
- Mid-term demo and experience exchange (19.03.2008)
- In the mid-term demo and experience exchange session, the students present their topic to other students and they must demonstrate the current state of their exercise. The demo has to contain at least two markup languages, which interacts with each other at some degree.
- In addition to the short demo, students should tell what problems (e.g., flaws on browser support) they faced so far and how they overcame them or, if unsolved, ask if others have solved them.
- Final demo (Workshop 23.04.2008)
- The exercise demos will be presented in Workshop on 23.4.2008 in seminar room A106. The demos should be final. The presentations will last 10 minutes plus 5 minutes discussion.
- Final submission (Deadline 07.05.2008)
- The final submission of the exercise has to be ready on 7th of May 2008. The final submission has to include:
- Source code
- Installation and execution instructions
- List of used software
- Short description of functionality
- NOTE: The source code can be made clearer and better commented for the final submission, but all the features must be present already on the workshop.
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:
- 40% Presentation
- 40% Exercise
- 20% Participation
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
- Email Petri.Vuorimaa(at)tml.hut.fi
- Tel. 09-451 4794
- Room B121
Researcher Mikko Pohja
- Email Mikko.Pohja(at)hut.fi
- Tel. 09-451 5260
- Room B131
Researcher Alessandro Cogliati
- Email Alessandro.Cogliati(at)tml.hut.fi
- Tel. 09-451 6230
- Room B133
Old Pages
Old course web pages are available here:




