Advertisement

Chatting with iUI's Joe Hewitt

I recently had the pleasure of chatting with Joe Hewitt of joehewitt.com. A software engineer and web developer as well as a classically trained kazoo player, Hewitt is the man behind the latest iPhone development craze: iUI, the user interface software development kit for the iPhone. iUI, which is built using JavaScript and CSS, makes it easy for third party developers to create lickable iPhone websites that both look and, more importantly, feel like they were created natively as part of the iPhone.

To use iUI, you don't have to be a CSS or Javascript expert. iUI converts standard HTML source material into iPhone interface conventions, even taking advantage of native iPhone graphics. And, importantly, iUI continues to grow and develop as an open source project and as a topic of discussion at the iPhone Web Development Google Groups community.


TUAW: Tell me, what's the story behind iUI. Where did the idea come from and how did you begin developing it?

Hewitt: In the days after the iPhone's launch I played around with every "made for iPhone" website and noticed that there were a lot of people trying to make their apps look and behave like native iPhone apps. I thought it would be helpful if there was a dirt simple way to do this so that people could focus more on their apps and less on re-inventing Apple's UI.

On the night before iPhoneDevCamp I threw something together and posted it to the iPhoneWebDev Google Group. The next day, and throughout the weekend at iPhoneDevCamp, a lot of people embraced it and it has become a sort of de-facto standard.

TUAW: iUI has really taken fire and has been welcomed by many developers. I know that MoviesApp has used iUI to create a web-based movies search engine. What are some of the other big iUI success stories you've heard about?

Hewitt: My favorite thing to hear from iUI users is that they weren't planning to build an iPhone version of their site because they didn't have the time, but when they saw how easy it was to use iUI, they couldn't resist and wound up having a beautiful site up and running in hours. I'm hoping this trend continues, because websites designed for the iPhone are dramatically easier to use and faster to load than traditional websites.

A few high profile sites like Digg and SmugMug are using iUI, but I think the biggest success stories are the hobbyist projects that have allowed developers to dip their toe into waters and start exploring mobile web development. This is such an exciting new field and we all have a lot to learn.

TUAW: What went into creating the look of iUI? Everything, including the fonts, the back buttons, and so forth looks exactly the way an iPhone application should look.

Hewitt: Most of the graphics in iUI are actually derived from PNG files taken directly from the iPhone by an intrepid group of hackers and posted to the web. That was only about 10% of the battle, though. The rest just came from hours of staring at every pixel on my iPhone and writing CSS and JavaScript to replicate it.

TUAW: Tell me more about those amazing transitions--for example, the way one screen slides on to the next when you select an option in a menu or how the entire screen smoothly rotates when you turn the phone on the side. What's going on behind the scenes?

Hewitt: I cringe when I think about those transitions, because they feel so chunky compared to the buttery smooth transitions on real iPhone apps. Safari just isn't very fast at re-drawing large portions of the screen, and those transitions shift about 90% of the pixels as fast as they can. I'm looking forward to future Safari updates to see if they can optimize this.

TUAW: What kind of interactions are currently available for the iPhone web browser? Can you design yet for things like swipes and pinches?

Hewitt: iPhone web design is still in the stone age, and interaction in Safari is still so limited as to make me feel like a caveman when I use it. You can "click" things, and that is it. Safari has disabled all of the DOM events that we would need to implement the wonderful multi-touch gestures that Apple uses so brilliantly in their own apps.

I fully expect that Apple is working on remedying this situation, and that within the next year we'll be able to start exploring how to use that beautiful touch screen in amazing new ways that even Apple hasn't even imagined yet.

TUAW: What are some of the limitations of working with Safari on the iPhone, as opposed to other web browsers?

Hewitt: The best thing about the iPhone browser is that it is based on WebKit, which is in my opinion the best browser engine on the planet today. WebKit's standards support is way ahead of other browsers, and its performance is remarkable. As a longtime Firefox user, it pains me to say that, but it is true. Developing iPhone apps is a joy because we have an array of new CSS features at our disposal which save time and bandwidth. "border-image" in particular, which iUI uses to style toolbar buttons, has spared me a lot of headaches.

The biggest disadvantage for me has been that I can't use Firebug directly on the iPhone, but I've been working on solving that problem, which you can read about on my blog.

TUAW: One last question. What can you tell us about the open source iUI development effort? Where can our readers learn more and how can they get involved?

Hewitt: iUI is hosted by Google Code ( http://code.google.com/p/iui/), and everyone is invited to help out. We're already getting contributions from iUI users as they add new things that they needed for their own apps. Christopher Allen's iPhoneWevDev site ( http://www.iphonewebdev.com) is becoming the central repository for all iPhone web development, and its Google Group ( http://groups.google.com/group/iphonewebdev) is the place to be for discussing iPhone development and iUI in particular.

TUAW thanks Joe Hewitt for taking the time to chat with us, especially during these hectic early days of rolling out iUI. It was a pleasure to talk with him and we look forward to seeing where iUI will take developers in the months to come.