0



19Jun2011

FatPhone v0.5 supporting a native iPhone App

Just in case if you are wondering if FatPhone is dead... no, it is not. It is alive and kicking. In fact, I just released FatPhone 0.5 with  support for a native iPhone app...

Why are you doing this?

Basically every enquiry I received about FatPhone since I released it, ended with questions like "where is the native app?" or "can I release it on the App Store?"

Well, FatPhone was not meant initially to be a native iPhone app, just an iPhone web site. After all, FatWire Content Server is a CMS!

However, the trend is towards native apps. Actually I  already implemented an iPhone app that is using Fatwire Content Server as a backend.

So since I have the expertise, I made the decision to develop a native iphone application for Fatwire complementing FatPhone, and release it as an open source project as well.

In short, this is an announce that I am going to develop and release a native iphone application, that I will call  FatPhoneApp
FatPhone will became the backend  in FatWire for the upcoming FatPhoneApp.

Please note I have released so far only the FatPhone backend and a prototype iPhone app. Carry on reading, to know exactly what is available.

Evolving FatPhone

After considering my options, I decided that while using WEM could be a good option, I wanted to develop something available also for older version  of FatWire, and possibly reuse the work done so far with  FatPhone.

Since I need backend support on FatWire for the iPhone app, I decided to evolve the existing FatPhone to be such a backend. It turned out to be the more logical way to create the iPhone app.

So basically, to create content for the (upcoming) FatPhoneApp you still have to install and use FatPhone to create the content for the iPhone app.  The iPhone rendering abilities of FatPhone are good to get an easy preview. Also the site will be still available in HTML format, not only as an iPhone app.
The content you create in FatPhone will be exported in JSON format (and in HTML format as well), that the app will read and use to render.

This is what I is already implemented in FatPhone v0.5, released today on GitHub.

A tour of FatPhone 0.5

After installation, you can still access for example to the Home Page using the site entry http://locahost:8080/cs/ContentServer?pagename=FatPhone and this is what you will get:

 

However, it is now available also the corresponding http://locahost:8080/cs/ContentServer?pagename=FatPhoneJs that will output the same page in Json format.

If you try to call this url with a browser this is what you will see (using a pretty printer for son, actually):

Navigating the normal FatPhone site you can see other pages and reach "text" pages, like this:

The corresponding Json for this page is instead:

What about the iPhone app?

Ok, you may say, "so far you implemented the backend code for the iPhone app. But what have you done of the actual app? I may need it..."

Well, actually I am working on it, but it is not yet ready. What I have done so far is the proof of concept code.  Since it is not the complete iPhone app I need but only a demo, I released it in my "catch all" project FatGoodies. It is here.

If you download the code, build and launch it (while FatPhone is running as well) you will see the following in the iPhone simulator:

Basically,  this  iPhone app so far is able to connect to FatPhone, parse the specific Json generated by FatPhone 0.5 and render it in a table. It cannot yet navigate, so clicking on a row won't do anything.

Plans for FatPhoneApp

Once done, I will release the app in the upcoming project sciabarra/FatPhoneApp on GitHub. Also I will tag FatPhoneApp  with the corresponding version number of FatPhone that generate the correct json. So you will know that FatPhoneApp v0.5 requires FatPhone v0.5, version v0.6 of the app requires version 0.6 of the backed and so on.

Now I am busy coding the FatPhoneApp. My plan for the release is to match with the current FatPhone feature set, then move the project forwad adding features both to FatPhone and FatPhoneApp.

Stay tuned.

Posted by msciab
19Jun2011