This project has been quite a learning experience for me so far. While I have used JavaScript in the past to do fairly trivial things, this was the first time that I used it to do something fairly heavy. It's also my first experience programming for the Mozilla Platform. While I'm quite experienced in Python, C++, Zope, and lots of other languages / platforms / environments, this was my first shot at working with the Mozilla / JavaScript combination so please be kind (and of course helpful criticism will be appreciated -- I'm sure there has to be some better ways to do some of the things I had to do that I'm just not savvy enough with JavaScript yet to see). Going through this code will undoubtedly be rough, not just because of my inexperience with Mozilla and JavaScript but also because of the inherent complexity of the Newton book format. The following page has a lot more documentation on the Newton book format itself that should make understanding some of this code much simpler: http://metcs.bu.edu/~feneric/cs331/Archives/Project2002/ I also have a few notes that I can provide on request that will illuminate a few other somewhat ambiguous corner of the format spec. There are still quite a few things left to do. Expect more user controls and things like bookmarks in the future.