Project Timeline

Finished:

  • Familiarize self with Newton Package Format.
  • Create Package Browser tool to examine the contents of various newton packages.
  • Use Package Browser to familiarize self with Newton Book Part format.
  • Refresh knowledge of Objective C, familiarize self with enough of the Cocoa libraries as to get started writing Newton X Press.
  • Learn Interface Builder.
  • Build a NSDocument based application in XCode and Interface Builder, learn the layout of reading in data, interacting with it, and saving it out again.
  • Port package parsing algorithms from Packge Browser to Newton X Press, in order to read a newton package into memory.

Currently in progress:

  • Convert book contents from memory into an editable format, placing them in the respective text fields and interface elements.
    • Move meta-data (Book name, author name, creation date etc.) from the book into text-fields. (Done!)
    • Move text from the book into an NSTextStorage, tie this to a set of NStextViews, one per page. (Done!)
    • Support spell checking, and spell checking as you type. (Done!)
    • Extract font and size information, applying it to sections of the text as needed. (Done!)
    • Extract style information (bold, italic, super/subscript, underline etc.) and apply it to sections of the text as needed. (Extraction done, can't apply Bold / Italic to text yet.)
    • Extract Chapter markers. (Done)
  • Determine initial interface elements required to do basic editing of books.
    • Convince NSTextViews and the Font Systems in mac os X to use the bitmap-only Espy Sans font, and apply bold / italic etc. to the New York font. (Stalled - may be replaced with building new, os X compatible TrueType fonts myself)
    • Determine how non-standard fonts are represented in books.
    • Determine a replacement for NSDatePicker, which is not supported before Mac OS 10.4.
    • Figure out how to portray, create, edit, and remove Chapter markers. (70% complete)

For the Future:

  • Figure out how custom package icons and graphics are stored within a Newton Package.
  • Extract custom package icons and graphics from the book, converting them to a useful format, and placing them in the NSTextViews / Picture-Wells of the interface.
  • Support adding images to books. (including converting various graphic formats to that used in Newton Books.)
  • Support saving a new / altered newton book out to .pkg files.
  • Include an "Avi's Backdrop Creation Mode", designed to facilitate easily making packages containing background images for Avi's Backdrop. Hopefully contrast/brightness, crop, resize, and maybe rotate functionality can be included.
  • Support within-book hyperlinks.>/li>
  • Performance enhancements (Opening large books in the current version takes FOREVER to paginate.)