Interview: WebTide Developers speaks i-jetty and Google Android

Today I bring to you a really in depth interview with Greg Wilkins, the main Developer behind the Open-Source JAVA Web-Server "Jetty", and Jan Bartel who is the main Developer behind the porting of "Jetty" to Android which is called "i-jetty" I must say thanks to Greg and Jan for taking a few minutes out of their time to have a chat with me about their product! AC: Greg tell us about webtide Greg: Webtide is a Open source services company that support theJetty project and related technologies. Webtide offers developersupport (unlimited advice on using jetty and developing web-2.0applications), production support, project review and outsourceddevelopment services. Jetty has historically been developed by Mort Bay Consulting, myown private services company. When we decided that Jetty's uptakewas such that we could justify a larger company, Mort Bay foundedWebtide LLC in the USA as the basis of a larger services offeringfor Jetty. AC: How many people are currently using Jetty? Greg: With all open source projects, this is a very hard question to answer. With the bundling and multiple download options of Jetty, downloads isno longer a meaningful measure. Jetty is bundled in many products, applications and frameworks, and ourinclusion in the eclipse IDE from 3.3 onwards alone would give us aninstalled base probably in the millions. The netcraft survey shows that we have 270,000 servers on the internetthat advertise they are running Jetty. There would of course bemany more that are running behind firewalls, behind apache or runningwith the server ID disabled or altered I've attached a graph of our netcraft numbers vs tomcat for the last2 years. AC: Would you consider Jetty as a successful product Greg: yes. Jetty was the first HTTP server written in Java (back in 1995).it is still going strong and continues to find new ways in whichit can be used and improved. AC: Jan, On the matter of i-jetty for Android, how will webtide make a webserver work properly on a mobile device? Jan: The web has become a paradigm for remote access to applications andservices from any computer anywhere. Mobile devices already offer many many services: telephony, messaging,still camera, video camera, GPS, media storage, music player, 3G networking,address book, calendar, documents and other PDA features. etc. etc. We are accustomed to interacting and managing most of our other servicesvia web interfaces - everything from our bank accounts to our wi-fi routers.So why should we not be able to manage and use our phones servicesalso from a web interface. If you think about it, it is very 1980s think that you may need to installan application on your desktop devices so that you can access your phonefrom a real screen and keyboard. Imagine you are on holidays and you want to send some email to your friendswith some pictures that you have taken on your phone. But the 3G costsare horrendous, so you don't want to send the email from your phone. Instead you go to an internet cafe and you want to use one of theirmachines. So now you have the problem of how do you access your address bookand the images on the phone. You phone can probably connect using the wifi,but then you are restricted to using the tiny screen and keyboard. Instead wouldn't it be better if you could just use the internet cafe browserto access your phone with as a webservice. You can get access to your addressbook, saved emails and the photos that you have taken. You can send your emailsusing the internet cafe's network, screen and keyboard, but the content is allcoming from your phone. AC: What are the current features of i-jetty and what can potential Android users expect from future illiterations of i-jetty. Jan: The application served from i-jetty allows you to browse informationstored on your phone, such as contact lists, call logs and systemsettings either from the on-board browser or from an external browser.Sending email to people on your contacts list can be done quickly andconveniently from an external browser by simply clicking theappropriate link on the contacts page - no issues with having to sortout connectivity between your desktop and phone and then synchronizingaddress books etc etc. In the future we'd like to expose more of thephone's sevices - geolocation, webcam etc - over the web. Thepossibilities are limitless! Infrastructure-wise, i-jetty provides the ability to serve staticcontent from the sdcard, using the all the usual jetty features ofefficient caching and I/O, and the ability to use webapp componentslike servlets, filters etc. There's also some base classes in therethat will help you generate tabular output in a generic way for thedata stored in Android content providers. In the future, ideally we'dlike to be able to dynamically load a traditional webapp. Currently,even if dynamic classloading were to be supported (and it isn't rightnow), the webapp would have to have been pre-compiled for the dalvikplatform. It would be awesome if cross-compilation on-the-fly wasavailable, which would give you the ability to download webapps offthe net and run them instantly on your Android phone via i-jetty. AC: Since innovation is the talk of the mobile industry, do you consider i-jetty to be an innovative product? Greg: Certainly yes. We can see good use-cases for it now (eg. managing phone from browser), We can imagine innovative uses: (eg using your phone as an adhoc webcamto record and serve images of an event (Eg wedding) to your friendswithout the need to setup a server) We feel that it enables others to innovate new and cool usages of thepowerful little devices that phones have become. AC: Will i-jetty have all the features of it's bigger brother Jetty, or it will just be tailored to fit a mobile device Greg: It has a sizeable subset of the features. Androids JVM appears to be very complete and so if thereis a call for a jetty feature, then it should be able to be ported toandroid easily. Jan: In general, we'd like to offer as many "standard" jetty features aspossible, although it has been necessary to tailor i-jetty to theAndroid platform. For example, Android does not support dynamicclassloading which means that traditional jetty features like JSPs andwebapp discovery is just not possibile to implement. If and when theplatform offers more support for classloading, then we'd like to bringthose features to Android too. AC: What about memory footprints? Will i-jetty use minimum memory in a Android device so users won't see a huge decline in the device performance Greg: Jetty has a pretty small footprint. The major concern footprint wise, is the JVM itself.As android is all about programming in java - then it is uptogoogle to ensure that the foot print of the JVM is manageable. Jan: The i-jetty footprint is quite small. The apk file itself is around390k, and even that can be trimmed down more with a more thoroughreview of the classes. Runtime jetty itself has very stable memory usage. The webapp thatships in i-jetty mostly generates content on-the-fly from AndroidAPIs, so the only memory issues I could possibly foresee would berelated to those APIs themsevles. AC: When can we expect to use i-jetty on Android phones. Greg: It's currently in early days and running only on the emulator. Give us an android phone and we'll run it on it for you. AC: What is it that drove you to develop for Android? Greg: We want Jetty to be THE http server on any device with a JVM. AC: Is there an edge developing for Android compared to other offerings? Greg: Android is far simpler to develop on than J2ME because the javais modern and very complete (even if it is not officially "java"). While Jetty can be made to run on J2ME, it's like working in thestone age! AC: Will i-jetty be entered in the Android developer challenge? Greg: I think so. AC: Will Jetty be ported to the iPhone? Greg: Only if somebody provides a JVM for it. AC: What are your dreams for webtide in the future and how will you go about making them a reality. Greg: We want Jetty to be THE http server on any device with a JVM.We will continue to work on Jetty to give it excellent features andto remove hurdles for it's update.We are also working on the cometd project for Comet Ajax Push applicationsin a similar way By making these open source projects successful, we hope that the users withcommercial needs will turn to webtide for support developing and extendingthese projects, developing similar software and/or building greater thingsbased on them. END You can check out more about i-jetty at the Google Code page and be sure to stay tuned to WebTide's Blog image image image image image image image image image

You have already tagged this post. Your tags:

Origianl story:

Valid XHTML 1.0 Strict