Pandora’s Box … from Nokia!

pandora.jpgFinnish cellular manufacturing giant Nokia has been experimenting internally with a cell phone based port of the popular Apache open source web server. Being both a technologist and a gadget buff, this naturally piqued my curiosity. However, this is a road frought with challenges. Of course, it sounds like really cool stuff, and I suppose from a purely hackeristic standpoint, it is. But I don’t think it will prove to be a viable solution for a wealth of reasons.

First and foremost, there is the obvious issue of bandwidth. Obviously, running a web server over a Bluetooth network is a moot point, given that any clients making web requests would need to be within 10 feet of the web server. Even if both devices were running “high-powered” Bluetooth connections, the range would be around 100 feet – still not viable. Wi-Fi connections partially solve the connectivity issue, at least as far as “range” goes. However, Wi-Fi connections over a cell phone (at best) cap out at around 500kbps (kilobits per second). That’s pretty measly when compared to what you’d get in a data center running at 54mbps (megabits per second) or higher. So the bandwidth for anything other than low-traffic installations is simply not there.

Second, there exists the second obvious issue, which is availability. I live in metro Atlanta where cell connectivity is considered to be pretty advanced. However, there isn’t a day that goes by where I don’t lose cell phone connections due to dead spots or interference. Imagine someone standing in your data center randomly pulling the plug on your servers, making all of your clients lose connectivity. That’s basically the situation we’d have with running cell phone based web servers, as your “web server” would move around among the jurisdiction of various cell towers.

Third, one must consider the issue of security. How will firewalling work? What sort of “phone” exploits would this open up? Can you imagine cell phone based worms that spread via HTTP requests to ill-behaved CGI scripts? And what if that worm decided to “harvest” all of your phone/PDA data, such as names, numbers, appointments, etc., and emailed those to some arbitrary source? Pandora’s box comes to mind. Frankly, I think if you run a web server on your cell phone, you should no longer be allowed to call it a cell phone. You should simply refer to it as your Pandora’s Box.

Fourth, we must examine content. Most useful content that exists on the web is the result of a complicated dance involving application servers, content management systems, database systems, and other components. Static content is becoming hard to find on the web. Porting Apache to a cell phone would merely allow you to serve static content. To get to the dynamic stage, you’d also need to port things such as MySQL/Oracle/Postgres, PHP/.NET/ASP/Perl/Ruby, and a host of other tools. Not gonna happen.

Next, we would be remiss not to examine computing capability. The PDA functionality in newer cell phones already pushes the limit of most cell based processors. Palm’s new Treo 700w smartphone, one of the more advanced phones on the market, is equipped with an Intel® XScale™ 312MHz processor. The last time I had a “server” that ran anywhere near that speed was an old IBM 386 MHz PC, which really struggled to run a single line dialup bulletin board system. Apache has a relatively large footprint, especially when you start getting into the realm of compiling in additional functionality (see content above). The horsepower just isn’t there.

In 2004, an estimated 715 million cell phones were shipped to consumers. That number is clearly higher now. I’m not even going to get into what ramifications this would have on IP addresses and namespaces. Even with the advent of IPv6, which could easily support it, the logistics behind it would be staggering.

Finally and far more importantly, why? Why on god’s green earth would you want to run a web server from your cell phone? Cell phones, by their very nature, are mobile devices. They are ideally suited to be clients, not servers. Cell phone based web servers, IMHO, do not solve any known enterprise problem, and offers very little in the way of innovation. I’m sure if we worked hard enough, we could probably port Eric Allman’s wonderfully arcane and useful sendmail to cell phones. But that would also be pointless.

The world is full of really hip software ports. Some are actually quite useful. For instance, being able to edit Excel, Word, and Powerpoint documents on my Treo 650. That’s useful. Being able to use my cell phone to establish an SSH connection to a remote server and being able to work on it – another useful software port.

Then there are the pointless ports. From Linux running on the XBox to most everything you’d want to put on an iPod. Running an Apache web server on my cell phone ranks right up there. Cool? Yes. But pointless all the same.

To be more than just “cool”, a port needs to have (a) a viable use, (b) a sustainable environment (in this case, bandwidth and availability), and (c) demand. Running an Apache web server on my cell phone offers none of the above.

I suppose that in 20 years, when the data center is a thing of the past, and even the most transaction-heavy web sites are being easily facilitated by the latest and greatest in mobile devices, I will eat my words. But for now, I think I’ll stick to my 2U rack mounts …

Cheers.

9 Comments

  1. I think the main issues are availability and addressability. From the reasons you cite, availability will be limited due to the phone’s intermittent conntection to cell services. Also, cell phones are not inherently addressable from an IP standpoint. At this time it usually takes the phone to request a connection from the carrier to gain an IP for the duration of that connection and that will certainly change the next time. True you can SMS text a phone directly and there are some solutions that rely on this. However, I don’t think these reasons preclude some sort of web server like functionality. Having a web server on my phone that could let the world know where I am and what my availability is could be handy. Say I was giving a talk at a conference and I wanted to distribute materials only to those people attending and only at that time. I’m probably streatching things here, but I think we get caught up thinking that websites need to be designed for a mass audience when maybe you are the only audience for your webserver(or you and your close friends). Also, as hardware changes the capability to perform server tasks increases. I have a project(www.denizenbox.com) that uses a Linksys router as a personal server. It runs a 200Mhz cpu and has 32Meg of RAM. I has a complete web-server + PHP + Database stack and can support any number of LAMP like applications. It may not be able to server volumes of connections, but not all applications require that (like blogs). I think this area is ripe for innovation and we should see intersting things coming out in the next year.

    -Andrew

  2. Scott,

    Having enabled a web server, you can basically forget about having to upload your images, videos, etc. to anywhere. I’m not saying that I’m a fan of this idea and I agree with you about all cons you’ve listed, but … it still makes sense to provide this service on a mobile phone.

  3. Tote, I’m not sure I understand what you are saying here … can you elaborate?

  4. Hi again,

    I’m sorry if I wasn’t clear enough: I just meant that if you had a web server on your mobile phone it would be very easy to tell your friends that “Hey, just check out my latest pictures taken here and there!”. And they could simply download the images, videos, etc. directly from your phone without having to upload them on to a dedicated server that everybody can access. I’m not sure, though, if this feature is worth the trouble it may cause otherwise.

    Cheers,

    Tote

  5. Tote – I gotcha now.

    I think you hit on a key point. The “utility value” is more of a novelty. As I pointed out above, there is no doubt that it is “cool” – the question is whether or not it solves a business need.

    I say “business need” because I am assuming Nokia spent some significant dollars in porting Apache to their devices. If I’m paying a team of engineers, I want some ROI beyond a “cool factor.” ;)
    Cheers.
    Scott

  6. Well first, it was developed by NRC (Nokia Research Center). Their task is – among others, of course – to make researches if this and that is worth further development, investment.

    Second, I’m sure that Nokia – as always – has made some investigations before starting this project – to see if anybody is *interested* in such a component. I presume they wouldn’t have started it at all if no ROI had been foreseen.

    Third, might be important only for techies: hey, I haven’t heard anything about mobile web servers used by many people. Does anyone know at all if it’s a good thing or bad? Let’s make it ourselves (thought Nokia, I guess) and we’ll see if it was worth the time (and money). I must admit, though, that from ROI’s point of view it might not have been the wisest decision. :-\

    Tote

  7. From a realistic standpoint, it probably didn’t cost them *that* much money to port it – I was simply pointing out one of the principles behind my thinking. I’m not sure ROI factored into their thinking or not – it would have factored into mine, though.

    R&D is one of those areas that you never know what you’ll get from it – some of the craziest ideas turn into the greatest innovations (.e.g Bell Labs and UNIX, DARPA and the Internet, Motorola and the cell phone.) Of course, history is rife with those “other” ideas that didn’t quite pan out as well. So perhaps they just rolled the dice.

    I would venture to say that the Nokia/Apache port didn’t come from customer suggestions. I doubt they had a wave of customers calling them up proclaiming their desire to have a library of Apache 2.x modules available to them on their phones. “Hey guys, I was wondering when mod_rewrite will be available for my 6160?” :)

    IMHO, R&D should ideally lead to increased revenues or product adoption. I don’t see this as doing either. This will not leapfrog them over their competitors. Instead, I would have focused on making a better battery, better reception, more/better PDA functionality, etc. Things that customers really want. :)

    Cheers.
    Scott

  8. Hey,

    Haha, I agree that there won’t be much use of it. But here I am, experimenting with it because it’s part of my school project. And I’m quite stuck with it. Why did you mention, Mr Burkett, that dynamic content won’t be possible? That sure spells trouble for me, because I was supposed to host a guestbook. And that was the easy part.

    The harder part, I thought, is I’m supposed to have a part of the website that reports my location (probably through a gsm tracker software). Sure sounds like dynamic content to me..

    I tried playing with the apache settings, trying to allow cgi scripts, but with no luck..

    Best Regards,
    Ronald

  9. Hi there, Ron.

    I didn’t say that dynamic content wasn’t possible. I said porting all of the other customary infrastructure wasn’t likely to happen … good luck!

    Cheers.
    Scott

Leave a Comment

Your email address will not be published. Required fields are marked *