Working on iUi

Starting today, I am going to be working on [iUi](http://code.google.com/p/iui/ “iui - Google Code”). iUi was initially developed by [Joe Hewitt](http://joehewitt.com/), he has since gone on to build the iphone version of [facebook](http://www.facebook.com/ “Facebook”). iUi hasn’t seen many updates over the last few months, but I am a firm believer that it is and can continue to be the best way to build an iPhone version of your website.

I committed my [first patch](http://code.google.com/p/iui/issues/detail?id=63 “Issue 63 - iui - Google Code”) to the project today. The funny thing is that the commit happened on the same day [Apple](http://www.apple.com/ “Apple”) finally [announced an event](http://www.tuaw.com/2008/02/27/get-your-sdk-engines-running/ “Get your SDK engines running - The Unofficial Apple Weblog (TUAW)”) that *might* reveal the details of their native SDK. I guess that won’t negate the importance of native iPhone webapps.

Win a Free Copy of Jira Bugtracking Software

We really haven’t ever done any cross promotion with other development sites on Simpltry before, but I wanted to mention this contest on codesqueeze to win a free copy of Jira, because everyone can use a good bugtracker. The rule(s) is/are simple - leave a comment on why you deserve Jira more than Codesqueeze’s other readers. The best comment - as decided by Max Pool, the author of Codesqueeze - wins. Better hurry though, the results will be announced Friday.

[ANN] iphone4r — A Rails Plugin

After seeing the [staggering number](http://www.macrumors.com/2008/02/05/iphone-with-28-of-u-s-smartphone-marketshare-for-q4-2007/ “iPhone with 28% of U.S. Smartphone Marketshare for Q4 2007 - Mac Rumors”) of iPhones sold in the forth quarter, I decided it was time to port my [site](http://dcrails.com “DCRails.com || Making the Metrorail fun!”) to the iPhone. As of a few days ago there is an iPhone version of [DCRails](http://dcrails.com “DCRails.com || Making the Metrorail fun!”). It was a joy to build!

It was built on the back of the [brilliant work](http://code.google.com/p/iui/ “iui - Google Code”) by the amazing [Joe Hewitt](http://joehewitt.com “JoeHewitt.com”). But this brings me to my announcement, Joe also brought [firebug lite](http://www.getfirebug.com/lite.html “Firebug Lite”) to the iPhone. It is a very cool piece of code that proxies **console.log** output through a server-side proxy and displays it in a local browser. The flip (and equally cool) side is you can execute arbitrary javascript from a local browser and have it run on the iPhone. It is called [iBug](http://www.joehewitt.com/blog/firebug_for_iph.php “JoeHewitt.com”), I am not sure my description does it justice, so give that article a read.

Anyway, iBug relies on you starting a little python webserver locally. Unfortunately, this is was problematic, since it relies on iFrames having access to the **parent** window. This poses a security risk since mongrel and iBug were on different ports (XSS police are comin’ to get ya!). So, I ported his webserver over to mongrel. This was very challenging for me, it took me far out of my normal element. I had to learn the following technologies to get this to work, [mongrel handlers](http://mongrel.rubyforge.org/rdoc/index.html “Mongrel”), [comet](http://cyll.org/blog/tech/2006-08-09-themongrelcomet.html “Topher Cyll”), and a little threading in Ruby.

Anyway it isn’t completely done, it looks a little like someone ported some python to ruby, and it could use some polishing, but it does work and I would love some feedback or patches. To get started, install the plugin and read the README file (it’s shorter than this post).

script/plugin install http://svn.simpltry.com/plugins/iphone4r

There are 2 more things, you must use mongrel, and mongrel will have trouble stopping because of an intentional infinite loop (suggestions are welcome).

Feeds/Syndication