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:
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.
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:
And here is another snapshot, showing a Page of subtype Music:
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:
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.