Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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