Question: I'm building an application which will be available on several platforms (web, iphone, android...). They all display data from the same database.

What's the best way of storing some decorated text in the database to easily display it on all platforms? By saying decorated text, I mean on decorations like bold, italic, underline...

One option might be writing a BB code parser for each platform and storing a BB Code decorated text in database, but it doesn't sound like the best solution to me.

Any opinions? :)

Answer: 
From your description and code snippets it looks like you have manually implemented a UINavigationController - and in the process created a lot of work for yourself.

Apple provide the UINavigationContoller class as a core part of the UIKit framework for presenting users with a hierarchy of views. This hierarchy is implemented using a stack data structure, where the stack is composed of a number of UIViewController instances. The usage of a stack fits well with the navigation paradigm, as the user moves through the navigation hierarchy more views are pushed onto the stack. Take for example the Contacts app, its UINavigationController contains at first a UIViewController listing all contacts. Subsequently when a user taps on a contacts name they are presented with that contact's information. This translates to a new UIViewController containing the contact's information being pushed onto the UINavigationController's stack. Subsequently when the user moves back to the list of contacts they pop the contact information UIViewController from the stack.

The easiest way to see how this all works in practice is to create a new 'Navigation Based' project and look at the code.
I hope you might be knowing about inbuilt video player, you can make use of this to play video which can be presented as modal view:

MPMoviePlayerViewController \*m\_MoviePlayer =[[MPMoviePlayerViewController alloc] initWithContentURL:pUrl];

[self presentMoviePlayerViewControllerAnimated:m\_MoviePlayer];