OpenMoko light web server

Tim Newsom cephdon at gmail.com
Tue Apr 17 06:36:04 CEST 2007


On Mon, 16 Apr 2007 13:58, Matthew S. Hamrick wrote:
> Okay.. a few points:
>
<snip>
> Q. javascript? on a phone? Isn't that going to suck down the power?
>
> A. in a word, yes. But I think the main problem will not be the added 
> overhead of using javascript, it's going to be the frequent request / 
> response. In the old days when we bundled ORBs with browsers, we could 
> execute java (and presumably have a javascript interface) that would 
> receive asynchronous messages from the server. Why is this important? 
> Because the phone (on the other side of the http interface) is going to 
> ring or receive an sms message or the signal is going to go up or down. 
> And these are things that occur outside the context of a client 
> request. So, if you want to see if the phone just rang, you have to 
> keep pinging the web server every second or so, and if it responds with 
> "I'm ringing," you fire off the javascript that draws the "I'm ringing" 
> icon on the interface. All in all this is pretty substandard.
>

Ok.. Well this is probably somewhat browser specific, but in the 
XMLHttpRequest methods there is a synchronous or asynchronous flag.  
Synchronously will behave in the normal request response method and wait 
for a return before continuing to execute... Async will allow the code 
to continue executing and then fire the response once it sees it.  I 
don't know if there are timeouts or not and I have not played around 
with it much, but it seems like you could build several request 
objects... One might be dedicated to the ringing function.. Then place a 
timer on it and if there is no response by the timeout you could reset.  
All the request would do is ask if the phone rang and wait.. Then your 
cgi code could sit for the period of the timeout waiting for either a 
request (to cover the situation of the phone ringing between requests) 
or responding when the phone rings...

This should be more like the subscription model where you ask to be 
notified and at any point it could happen.  But, like I said, it may be 
browser specific. /shrug
Just something to look into maybe.
--Tim




More information about the community mailing list