MojiPage Blog

Why Is MojiPage the Way It Is?

It’s time to drill a little deeper into the technical side of MojiPage, and why we did it that way. Let me address the latter point by quoting an article by Tom Yager’s “Ahead of the Curve” column titled ”The mobile app gold rush”:

The solution to the GUI dilemma is well in hand: HTML. While quality varies, all platforms have competent and improving Web browsers, which holds out the potential to use JavaScript, HTML, and CSS for user interfaces rather than cumbersome and proprietary APIs for text, graphics, motion, and input. Keep in mind as well that JavaScript has facilities for XML parsing, HTTP communication, and Web services. JavaScript performance is laughable on some handsets, but native or Java code fronted by an HTML/CSS/JavaScript GUI would impress and get apps to market faster.

The paragraph above nicely sums up our beliefs, which led us to our decision to base our platform on the lowest common denominator of MoMoMo devices (Yes, I just coined that term) – XHTML.

By requiring nothing but XHTML support, we can make ourselves useful to almost any phone that has data access today.

This may sound like MojiPage is just a bunch of CGI scripts from the 90s. Well, not really..

As I’ve said, MojiPage is a widget platform targeted at mobile devices, and that our widgets are written using standard web technologies – XHTML, Javascript and CSS.

When a widget is added to our platform (by giving us just the URL to the widget HTML file), our server downloads the widget HTML and executes the Javascript in it by emulating the browser environment. Since the Javascript runs on the server, it has full access to remote RSS feeds, XML and JSON content without cross-domain limitations and uses a combination of DOM the widget output and server-side extension APIs to accomplishes whatever features it needs to support. The result is a static chunk of HTML code which is then served to the client.

Bear in mind that HTML is only the baseline on which we can gracefully degrade our service when the client is less capable of utilizing modern web standards. The technology and API is fully capable of serving Javascript to the client for enhanced interactivity. This will be easily demonstrated by the MojiPage iPhone interface that we are currently working on and made available at the end of March.

This is cloud computing at its best, heterogeneous devices (with varying degrees of power) connecting to smart network of servers running code that pulls data from all over the Internet.