Pixate – Style your iOS Apps Using CSS!

It is a truth universally held by all learned men and women that Apple’s development environment and tools suck big time. Others say XCode and iOS dev environment have grown mature lately, perhaps it is true but I can only imagine the horror it must have been! Last week I came across a effort called Pixate on Kickstarter that should alleviate some pain for iOS developers.

Pixate – Styling in iOS

To be honest XCode does a half-decent job to let you style controls. But the workflow of importing graphical assets of multiple resolutions remains convoluted, leave alone making UI respond to state changes within the application. Pixate seems to have solved this problem rather elegantly, they propose styling apps their components using CSS and their custom CSS Engine. This is awesome at couple of levels. First developers can piggy back on their knowledge of CSS from web development world and two it enables an extra level of separation between Views and how content within is actually styled.

Ancestry of Pixate

I personally do not know what exactly inspired Pixate developers to use CSS as the styling engine. Use of CSS in web development as mentioned above is well known, so that is an obvious starting point. But there are precedents in other areas too.

Take for example how XAML works in WPF and Silverlight. There too is a clean separation of control elements and the code to style them. In fact, though XAML is a proprietary language, I thought it was a well engineered technology. Of course Microsoft never quite nailed positioning for XAML leading to its poor adoption and high failure rate. I have seen projects on WPF/Silverlight being used for purposes they were never designed for, say real-time rendition of high volume graphs, that too on half a decade old hardware.

A minor detail, XAML is not just about building UIs and styling them, it was a markup for object serialization..which explains why Workflow Foundation rules/graphs could be described in XAML. Sadly it did not take off but am fond of XAML still.

Support Pixate on Kickstarter!

Without digging into the past, let me just say I love what Pixate are attempting. Driving look and feel in iOS apps via CSS-like syntax is a good thing. So I have registered myself on Kickstarter as a supporter of this project. If you are curious am going for the $99 pledge, gets me a single user dev license if the project goes through. I would highly recommend you take a look at Pixate and support them, we all win if tools surrounding iOS(they have an Android equivalent on their plans too) development get more smarter.

Update – Pixate now supports importing Adobe Photoshop Layers in Real-Time! This is awesome, check it and give it your support!

For iPad, To Go Native or With Web Standards? See Flipboard

Flipboard is a hot new startup that offers a social magazine on the iPad. Basically it takes your Twitter, Facebook feeds, scrapes out the links in them, does some more smart crawling and provides a magazine like experience. Everything from choosing pictures to display from the links, the dimensions, layout etc. is dealt with dynamically.

Today they announced a feature called Flipboard Pages, which I came across via ReadWriteWeb. The feature itself is said to be a framework that..

..automatically converts traditional Web content into an iPad-friendly format, featuring full-screen, paginated, magazine-like pages.

It seems content publishers have to publish information in a certain way to make the magazine like reading experience possible, instead of a staid old web-page.

Now to the key point that caught my eye

All publishers worked with Flipboard to create their own HTML5-based framework, so they each have their own look and feel.

Wow. I am excited by a few things here.

  • Ability of HTML 5.0 to act as an informal contract between content publishers and aggregators
  • The rise of aggregators that can morph a bunch of links fished out of content streams and construct a magazine like experience. On the fly. Dynamically. Personalized for every user.
  • Publishers produce content in one format HTML 5.0, which by default would be handled by most modern browser. And there is the differentiated experience via special apps.
  • All of them driven by web standards and not a proprietary technology in sight!

On a plain HTML 5.0 page it would not be possible to do all that can be done within iOS, at least in my understanding. But this news reduces the need to go native iOS for one more class of apps.

Publishers, aggregators and consumers win with this approach. For those who still on the Flash, Silverlight bandwagon for dynamic rich experiences its time to rethink your approaches.

Processing via JavaScript – Rise of the Browsers

Processing is a “open source programming language and environment” initiated by Ben Fry and Casey Reas at the MIT Media Lab.

An extremely powerful environment, it is simple to get started too. In fact I have my 5 year old using it to produce primitive shapes and colors instead of messing about with Microsoft Paint.

In that context it came as a complete surprise to see Processing mentioned in the same sentence with JavaScript. After all one does not associate significant graphics rendering capabilities with the browser. And Processing running on JavaScript on a browser somehow did not reconcile with my assumptions on this area.

This was John Resig, author of JQuery, doing a reverse birthday present to himself by making interpreting and running of Processing code possible in JavaScript.

Now go read that sentence again. Done? Good. I see this as a defining moment in how the JS language is wielded and what it makes possible within the browser.

The benefits of piggybacking on the Processing language are obvious. The rich set of libraries surrounding it can accelerate sophisticated visualizations on the browser.

But the larger implication is around what it does to perceptions of browser as a platform to deploy graphics intensive apps. Check some of the samples to get a taste of what I mean. [Note: There are specific browser version requirements to run the samples. Firefox 3.0 should be okay for most.]

Right now, the only legitimate reason for anyone to use Flash, AIR, Silverlight and the usual RIA suspects is to produce intensive graphics. Of course streaming media is another area but let us ignore that for now.

Might sound premature but if it were me the next generation financial information apps, with all their complex real-time charts and models can be run on the browser. Wonder if the Thomson Reuters and Bloombergs of the world are watching this?!

And as a side note, Silicon Graphics, the once graphics powerhouse had been delisted from NASDAQ last week. Evolution of technology is not without a sense of irony!

There are factors around browser compatibility, the uptake of Canvas element across browsers will be addressed in a matter of time. Applications can always be packaged with a specific version of the browser as a prerequisite.

I am reminded of the quote, “The meek shall inherit the earth”. Here it shall be the browser inheriting the desktop of devices worldwide. The rise of the browsers have begun!

Remarkable foresight

While browsing about 69 tech blogs that don’t suck, I landed on this post by David Geller. May be I am late to this but got to say that was a very prescient description of what’s out there from the Microsoft stable!

Highly recommended read. Most of it might be fairly obvious, as it always is in hindsight, but note that the post was written in 2005. And here we are in 2007, with Silverlight, XML based UI, compiled etc etc..its all there..

Now to wait for Microsoft to officially get this baby running on the Linux platform.

Technorati Tags:

Moonlight in 21 days

What can be done in 21 days you ask? Well, how about Silverlight implemented on the Mono platform? Read this blog post to get a sense of what can be accomplished with the right set of people and of course Miguel heading it all….