Title i) Baseball Statistics Viewer Author ii) Kwok Yu (no collaborators) Abstract iii) This is a web application to be used for viewing baseball statistics. I will be using AJAX for the front-end, and Java for the backend. The backend will do little more than provide XML and XSL for the client to use via Javascript. The purpose of the application will be to feel more like a desktop application than a traditional web application, in the spirit of the recent Google applications. What iv) The application will display baseball statistical data to the user, formatted as XHTML tables and SVG charts. The data will be sortable, and the user will be able to drill-down for more info on each player/team/statistic. Hopefully, I can make the SVG charts interactive also. The application will have a desktop feel to it in that the page will not have to be reloaded everytime more data is requested. Most of the processing will be handled by the client via Javascript. Why v) Ever since google came out with their Gmail, Suggest, and Maps applications, it is clear that web applications can be made to feel more responsive and interactive via Javascript. Data can be requested without interrupting the user's experience; this would be especially useful if you were drilling-down from team to player to year since you wouldn't have to deal with being sent to another page and have to navigate back. Also, a lot of bandwidth will be saved by transferring minimalistic XML (1-letter element names, etc.) rather than fully-formatted XHTML (this will add up with large data sets), since the XSL transformations will be done on the client. If you wanted to sort a particular way, the client could just send different parameters to the stylesheet rather than requesting the data again from the server. How vi) The backend for my framework will be Java. The server will be responsible for providing XML and XSL at the client's request. The heavy lifting will be done by the client via Javascript. The XML will be stored in several IFRAMEs on the client (so that the "Back" and "Forward" buttons work). When new data is needed, the source location of the appropriate IFRAME will be changed and Javascript in the IFRAME page will call Javascript in the parent page to display the data. The XML will be parsed through XMLHttpRequest and processed using XSLTProcessor, and output in XHTML and SVG. I will have to familiarize myself with Javascript and the HTML DOM. I will also have to research browser compatability issues since Javascript varies with each browser (I know that Gmail doesn't work will all browsers). Questions vii) I'm sure I'll have questions when I start working on it!!!