Download Elbonia: Project Presentation

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

URL redirection wikipedia , lookup

Transcript
Elbonia: Project Presentation
Andreas Ehn
Mattias Engblom
Oscar Göthberg
Johan Hesselberg
Magnus Hult
Nicklas Ilebrand
Andreas Mattsson
http://www.nada.kth.se/projects/proj03/elbonia/
7th May 2003
Contents
1 About
1.1 The Contractor’s Project Background . . . . . . . . . . . . . . .
2
2
2 Functionality
2.1 News feed . . . . . .
2.2 Server . . . . . . . .
2.3 Client . . . . . . . .
2.3.1 User interface
2
3
3
3
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Computer Environment
4
A The
A.1
A.2
A.3
5
5
5
5
development process
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
About Extreme Programming . . . . . . . . . . . . . . . . . . . .
Experience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
About
Members:
Andreas Ehn, project management
Mattias Engblom, client development
Oscar Göthberg, RSS support
Johan Hesselberg, news feed
Magnus Hult, server development
Nicklas Ilebrand, client development
Andreas Mattsson, server development
Contractors:
Antony Hartley, Synergenix
Alex Jonsson, Medieteknik, KTH
Project Elbonia aims at building a client/server application for distributing
news to very simple, mobile clients (primarily cellular phones, SonyEricsson
T300 in particular).
The news resources from the server consist of bitmap images that fill the
client’s screen, and image maps to tell the client what parts of the images that
are clickable and what happens when they are clicked.
Computing is, as far as possible, carried out on the server side. The client
only needs to show bitmap images and be able to navigate links.
The end users is anyone with a mobile device who wants to get the latest
news. Thus, the client must be simple and intuitive to use.
1.1
The Contractor’s Project Background
There are a number of standards of how to tag news, among them NewsML [2]
and TTNITF [10]. A neutral XML-structure is transformed on the server or
the client to prepare it for presentation on screen.
This project will develop a server which serves news from local file or URI
stored in one of the the de facto XML formats on the market.
The terminal used will be SonyEricsson T300, where the browser only will
be able to handle raw bitmap images together with clickable areas (client side
image maps).
One possible method could be to use XML-FO and/or SVG for transforming
the XML structure. Navigation, readability and presentational structure are all
very important.
The project group co-operates with Dr. Alex Jonsson, NADA/Medieteknik
and Antony Hartley on Synergenix AB – developers of Mophun, the world’s first
mobile gaming console and a provider of swedish daily news.
The server should run in a Linux environment. An example of a programming environment is LAMP (Linux, Apache, MySQL and PHP). Cocoon2 from
the Apache project could be used for XML transformations and give good insight in the XML world and the future of digital publishing.
2
Functionality
The system basically consists of three parts; one that deals with news feed from
different sources, one server and one client (the one that is run on the phone,
that is).
2
2.1
News feed
The news feed manager is written in Java and features a flexible plugin architecture in order to deal with very different ways of receiving news feed. Once
news are received, they are converted to images using other plugins and put in
the server directory area for downloading.
2.2
Server
Due to shortcomings in current clients (mainly SonyEricsson T300), we haven’t
been able to use a standard web server like Apache. Instead, we’re using the
Elbonia server, a server that communicates with clients using the Elbonia Transfer Protocol (ETP) and serving news items on request. The server can be run
on a broad range of operating systems including Solaris, FreeBSD, OpenBSD,
NetBSD, Mac OS X and GNU/Linux.
2.3
Client
The client is basically a browser. It keeps a connection to a news server and
issues requests for news items that the user wants. The client also features basic
navigation such as scrolling, selecting and clicking on links and going back in
the page history.
The client is written for Synergenix’s gaming platform Mophun and should
run on any device providing it. Care has been taken to support different screen
sizes as well as to detect whether a client has enough graphics capabilities to
display received images.
2.3.1
User interface
There are many limitations involved with making a graphical user interface
for screens as small as that of the T300. We are limited to a resolution of
101x80 pixels, and thus there is only room for a very small amount of displayed
information.
Therefore the client user interface is simply the content displayed on the
phone’s screen, with “hot spots” that link to other content. The user can navigate to the different links in the displayed content, pick one, and go somewhere
else.
3
3
Computer Environment
We’ve developed Elbonia using mainly the following hardware and software:
Client:
Windows 2000 on IA-32.
SonyEricsson T300.
Mophun SDK 1.4[9].
Server:
Solaris 8 on Sparc.
GNU development tools (gcc, autoconf, automake, make)[7], Java[8].
Documentation:
LATEX[6],
Doxygen[11],
LATEX2HTML[3].
Web site:
Zope[1], Plone[5].
Javadoc,
References
[1] Zope Corporation. Zope. World Wide Web, http://www.zope.org/, 2003.
[2] International Press Telecommunications Council. The NewsML Website.
World Wide Web, http://www.newsml.org/, 2003.
[3] Nikos
Drakos.
LATEX2HTML.
http://www.latex2html.org/, 2001.
[4] Elbonia.
Elbonia project web page.
http://www3-d.nada.kth.se/elbonia/, 2003.
World
World
Wide
Wide
Web,
Web,
[5] Alexander Limi et. al. Plone. World Wide Web, http://www.plone.org/,
2003.
[6] Mittelbach et. al.
The LaTeX Project.
http://www.latex-project.org/, 2003.
[7] Free Software Foundation.
http://www.fsf.org/, 2003.
GNU.
World Wide Web,
World
Wide
Web,
[8] Sun Microsystems. Java. World Wide Web, http://java.sun.com/, 2003.
[9] Synergenix. The Mophun API Reference Guide. World Wide Web,
http://www.mophun.com/download_check.php?id=101, 2002.
[10] Tidningarnas Telegrambyrå. TTNITF version 3.2. World Wide Web,
http://www.tt.se/tekspec/ttnitfv3_2.doc, 2002.
[11] Dimitri van Heesch.
Doxygen.
http://www.doxygen.org/, 2003.
World
Wide
Web,
[12] Don Wells. Extreme Programming: A gentle introduction. World Wide
Web, http://www.extremeprogramming.org/, 2003.
4
A
The development process
A.1
Introduction
The Elbonia Project group has, during the time frame of the Elbonia client and
server development, used the Extreme Programming (XP) [12] methodology, a
simple yet effective iterative software development method.
A.2
About Extreme Programming
The Extreme Programming development process suggests a number of methods
one can use to achieve better results in software development projects.
At the basis of XP is an iterative development cycle, with each iteration
containing some of the following steps:
• Prototyping
The development of the final product is often based on a first prototype,
which is then extended step by step, with more and more requirements
fulfilled, until the final product.
• Testing
Continous testing of the product as it is being refined. Testing occurs
alongside development, and is not a separate phase afterwards.
• Refactoring
The programmer should always try to refine the individual components in
the system to do exactly what they’re meant to, and nothing more. This
makes the design cleaner, easier to maintain, and less “hairy”.
• Communication
Having continous communication and discussions with the customer, and
treating changing requirements as a natural part of the development process, ensures that there’ll be less bad suprises and time strain when there
are changes in the project specifikation.
A.3
Experience
The Elbonia project members have only good things to say about the use of XP
methology and thinks that XP has been fundamental for the completion of the
project.
Especially the iterative nature of XP, i.e. continually reviewing the progress
and making adjustments to the project plan and the technologies used.
For instance when the notion of using SVG in the news transformation layer
of the server didn’t appear to be as feasable as first thought it was discarded
in favour of a more simplified news transformation path (see the protocol from
the March 20th meeting at the Elbonia project web page [4]).
Furthermore, the XP pair programming has by itself greatly reduced time
needed for coding and debugging, and the continous contact with the customer
have helped us proceed according to plans.
5