0



10Jan2011

FatPhone: a tour

FatPhone, our open source FatWire project,  is an implementation for FatWire Content Server of the iWebKit open source template.

The code is already written, but will be made public in a series of blog posts. In addition I plan to drop the code into a GitHub content repository. I have still to decide the best way to release the code, any suggestion is welcome.

Once implemented FatPhone in your ContentServer, you will be able to access the site with an iPhone and you will see something like this:

FatPhone home page

SitePlan

The website is not, of course, just static html: instead it can be fully managed using ContentServer backoffice. Each web page in the site is built using the SitePlan.

For example the siteplan corresponding to the home page is the following:

Basically, each page is rendered using its children as elements of the page.

There are special decorations for each page (implemented as associated elements) to accomodate for titles and separators.

Pages in my design are basically containers for list of elements.

Page Subtypes

Since there are different kind of lists in an iPhone user interface, we have different subtypes for Page. For each subtype we have a different rendering.

For example, the first screenshot shows the rendering of a Page with subtype HomePage. The followingn screenshot is the rendering of a Page with subtype Products:

FatPhone product pageAnd here is another snapshot, showing a Page of subtype Music:

Mobile FlexFamily

Of course, not everything is a list of elements, so we do not have only Page rendered as a list. There is some real content somewhere!

We defined a FlexFamily to store the "real content". Here is a snapshot of such a FlexFamily:

Using that family , we can add for example a text page like this:

FatPhone textual content

What is next?

Snapshots are taken from the current version of FatPhone. I am actually writing a new version, cleaning up all the code, solving a few design problems and cleaning up everything for release.

I am still unsure how to release the code, and since there are not so many Fatwire Open Source projects (except FatClipse, I am aware of none). I am experimenting with a few possibilities.

I hope now you have a good feeling of what FatPhone is.

All the implementation details and the code will be made public in the next few weeks through this blog. Stay tuned.

Posted by msciab
10Jan2011