Mobile devices present many challenges to web application application developers. Storage, screen size, user input, processing power and bandwidth are all constrained when compared even a basic broadband connected desktop PC with a modern web browser. Mobile browsers are now entering the market that begin to close the capability gap between the desktop and mobile device. Existing non-browser technologies such as Java, Flash, and Brew have all fallen short of providing a portable, quick and open development environment for creating rich web applications. The open web technologies that exist on the desktop are now beginning to be made available to the mobile application developer. With the launch of the iPhone in June, Apple has significantly raised the bar for everyone in the mobile industry to build better products which support open web technologies. At SitePen, we are dedicated to both the Open Web and to Mobile development. We have built many desktop Ajax applications and we are now beginning to develop mobile Ajax applications. We have built a demonstration Chat application that allows users to communicate in real time with low latency on the iPhone using Dojo, the open-source JavaScript toolkit that was co-founded by Alex Russell and Dylan Schiemann, both of SitePen. Chat is a good example of an Ajax application that needs to quickly update the user with data from the server. Ajax Chat apps traditionally rely on polling the server every X seconds with a JavaScript timer. This approach can be problematic as the number of requests per second handled by the server can be very high. Our chat application uses Comet instead of polling. Comet is an extension of existing Ajax technologies that allows the user to push data to the user via a long-lasting http connection. Comet has many advantages over Ajax polling. Data pushed by the server is instantly sent to the client for processing without the user waiting for the next polling interval. The chat web app we created demonstrates that a stable Comet connection can be maintained using a mobile browser. This application was built using an unmodified version of the Dojo Toolkit's Cometd library. The complete application including the Dojo libraries is around 50K over the wire when compressed. Even over the relatively slow EDGE connection, the application loads quickly and is very responsive. The user interface of our chat app has been optimized for the iPhone to minimize scrolling and to eliminate zooming. Those developing web applications for the iPhone have found that Apple has taken considerable creative license when it comes to JavaScript DOM events. For example, tapping an element on the screen will fire both mousedown and mouseup events at the same time instead of once when the user touches the screen then again when the user lifts their finger. The virtual keyboard also provides new challenges. For example, Safari fires an onblur event when the user clicks done from the virtual keyboard. We used this feature to streamline the user experience by sending the chat message when the onblur event is fired for the chat message box. We were able to eliminate the send button normally present in chat applications. The iPhone chat app that we have built is a good proof of concept, but there are many areas that still need to be explored: 1) What other mobile Ajax browsers will support the Dojo Toolkit and will they require a modified Dojo to run correctly? 2) What impact to frequent and or long lasting http connections have on battery life? 3) Under what conditions will the network connection drop, and what can we do to recover? Collaboration with hardware manufactures, browser venders, network operators, and standards bodies will be critical in answering these questions and to ensure that open web technologies will be come the best way to build applications for mobile devices.