Sorry, I wasn't obvious in my above response that since not all devices can run a web server, the CGIs would sometimes have to 'log in' to the device to perform operations. Using something like 'expect' (I know of tcl and perl versions, but I'll bet there's something like it for python) works great for these.
I designed and built a popular Internet access device a few years back. I had the same issues you have. My conclusion was to separate the content & control from the presentation, and do it in HTML and HTTP.
This allows you to do forms, menus, etc, in an easy language. You can change it very quickly. There are lots of libraries around for building HTML, handling CGI forms, etc. I actually built my own, in ksh.
If you want pure-text presentation, you can use text web browsers like lynx as the UI. if you want a richer UI, you can use something like netscape navigator.
There are many other advantages. Using a web server allows you to build in secure, remote access if you want it, for free. You also get auditability.. you can look at the web server access logs to see who performed what actions.
If you use a layered user model like: Web browser HTML form CGI wrapper (for suid security) command-line interface then you can also allow command-line access to all administrative functions. This is not strictly necessary, since you can 'fake' command-line access by using something like lynx or wget, but it might be desired if you want to run admin scripts without a web server available.
I'm dealing with a similar situation; I've been looking for open source solutions for a while, and so far, nothing has emerged that's integrated enough to consider.
Requirements (and possible point solutions) - News server (inn) - SMTP mail backbone (sendmail) - POP3 and IMAP4 mail servers (qpopper, cyrus, UW) - MS-like "shared folders" (Samba) - group calendaring/scheduling w/Palm conduit (?) - forms management and workflow (?) (think purchase requests, expense reporting) - shared addressbook (something IMAP based?) - assignable to-do or tasks (?) - Web client access to all of this - virus scanning (procmail?) - Integration among them (e.g. calendar/meeting requests show up in email, click reply, calendar entry shows up in your calendar) - and of course, some way to manage it all.
MS Exchange, Lotus Notes, and HP OpenSomething (OpenMail?) are all candidates in the commercial world.
In the open source world, I think it would currently be a lot of work to put something like this together from the various pieces.
> minimal Web surfing (stock quotes, weather, > traffic, movie showtimes, driving directions?).
No need for a browser! I use my normal (CellOne SF) cell phone and one of the new "voice portals". I'm hooked on Quack.com, but there are others (e.g. TellMe ). A great thing about these is that I don't have to take my hands off the wheel (and my eyes off the road) to get the info while I'm in the car.
> wireless email
OK, until somebody does a good phone-based Text To Speech and voice recognition service, you're back to some other device.
In addition to my CellOne service, I also have WAP through SprintPCS (currently $75 for 2000 minutes/mo). I got the TouchPoint phone which has a larger screen than my Nokia CellOne phone, and is very easy to use. It's my data phone. I also got the connector kit so I can use the phone as a wireless modem. This morning I was using Yahoo Messenger on my Palm III. Works fine.
> Since it seems WAP is a ways off
I disagree. While many web sites don't yet support WML, everything you are asking for is already in place. Visto and Yahoo! already support WAP very well, if you want to do email from there.
One thing I have seen but haven't tried yet - let's say you are standing in the Good Fried Circuit store about to buy some new widget. You think to yourself, "is this a good deal? I should go home and surf the web for prices." Instead, while you're standing in the store, WAP into DealTime Mobile and do some comparison shopping.
There are more interesting WAP services springing up all the time.
Of course now I am travelling around with two cell phones (I like the CellOne service, I just wish they would add WAP), a Palm III and cables. But that's nothing compared to lugging around my laptop and the bulky ricochet modem, which I had to return because my house is outside their service area.
If you are in Silicon Valley, you can see an NEC "FishClub Jr." in the lobby of Accrue Software, in Fremont. It's an HTDV monitor. The fish programs are on some kind of flash card that looks like PCMCIA -- it's definitely not laserdisc or DVD. You can turn on/off the bubbles. This is particularly useful if you want to plug in your laptop to the video input, say to give a presentation (although nobody at Accrue uses it for presentations). The remote control is very cute.. it's in the shape of a fish.
There's an optional carousel that holds multiple cards -- I think five or six. The 'tank' is currently programmed to rotate the fish program every hour throughout the day. Also, it's programmed to shut itself down between about 7pm and 7am, since there usually isn't anyone in the lobby.
The 'new tank every hour' routine can be confusing for visitors who see the fish tank on the way in to the building, and see a different set of fish (and backgrounds, etc) on their way out. Only then do they go close enough to the tank to realize it's an HTDV monitor.
Sorry, I wasn't obvious in my above response that since not all devices can run a web server, the CGIs would sometimes have to 'log in' to the device to perform operations. Using something like 'expect' (I know of tcl and perl versions, but I'll bet there's something like it for python) works great for these.
I designed and built a popular Internet access device a few years back. I had the same issues you have. My conclusion was to separate the content & control from the presentation, and do it in HTML and HTTP.
.. you can look at the web server access logs to see who performed what actions.
This allows you to do forms, menus, etc, in an easy language. You can change it very quickly. There are lots of libraries around for building HTML, handling CGI forms, etc. I actually built my own, in ksh.
If you want pure-text presentation, you can use text web browsers like lynx as the UI. if you want a richer UI, you can use something like netscape navigator.
There are many other advantages. Using a web server allows you to build in secure, remote access if you want it, for free. You also get auditability
If you use a layered user model like:
Web browser
HTML form
CGI wrapper (for suid security)
command-line interface
then you can also allow command-line access to all administrative functions. This is not strictly necessary, since you can 'fake' command-line access by using something like lynx or wget, but it might be desired if you want to run admin scripts without a web server available.
> - shared addressbook (something IMAP based?)
whoops -- I meant LDAP based, of course.
Which software do you recommend?
I'm dealing with a similar situation; I've been looking for open source solutions for a while, and so far, nothing has emerged that's integrated enough to consider.
Requirements (and possible point solutions)
- News server (inn)
- SMTP mail backbone (sendmail)
- POP3 and IMAP4 mail servers (qpopper, cyrus, UW)
- MS-like "shared folders" (Samba)
- group calendaring/scheduling w/Palm conduit (?)
- forms management and workflow (?)
(think purchase requests, expense reporting)
- shared addressbook (something IMAP based?)
- assignable to-do or tasks (?)
- Web client access to all of this
- virus scanning (procmail?)
- Integration among them (e.g. calendar/meeting
requests show up in email, click reply,
calendar entry shows up in your calendar)
- and of course, some way to manage it all.
MS Exchange, Lotus Notes, and HP OpenSomething (OpenMail?) are all candidates in the commercial world.
In the open source world, I think it would currently be a lot of work to put something like this together from the various pieces.
Help me be wrong!
> minimal Web surfing (stock quotes, weather,
> traffic, movie showtimes, driving directions?).
No need for a browser! I use my normal (CellOne SF) cell phone and one of the new "voice portals". I'm hooked on Quack.com, but there are others (e.g. TellMe ). A great thing about these is that I don't have to take my hands off the wheel (and my eyes off the road) to get the info while I'm in the car.
> wireless email
OK, until somebody does a good phone-based Text To Speech and voice recognition service, you're back to some other device.
In addition to my CellOne service, I also have WAP through SprintPCS (currently $75 for 2000 minutes/mo). I got the TouchPoint phone which has a larger screen than my Nokia CellOne phone, and is very easy to use. It's my data phone. I also got the connector kit so I can use the phone as a wireless modem. This morning I was using Yahoo Messenger on my Palm III. Works fine.
> Since it seems WAP is a ways off
I disagree. While many web sites don't yet support WML, everything you are asking for is already in place. Visto and Yahoo! already support WAP very well, if you want to do email from there.
One thing I have seen but haven't tried yet - let's say you are standing in the Good Fried Circuit store about to buy some new widget. You think to yourself, "is this a good deal? I should go home and surf the web for prices." Instead, while you're standing in the store, WAP into DealTime Mobile and do some comparison shopping.
There are more interesting WAP services springing up all the time.
Of course now I am travelling around with two cell phones (I like the CellOne service, I just wish they would add WAP), a Palm III and cables. But that's nothing compared to lugging around my laptop and the bulky ricochet modem, which I had to return because my house is outside their service area.
If you are in Silicon Valley, you can see an NEC "FishClub Jr." in the lobby of Accrue Software, in Fremont. It's an HTDV monitor. The fish programs are on some kind of flash card that looks like PCMCIA -- it's definitely not laserdisc or DVD. You can turn on/off the bubbles. This is particularly useful if you want to plug in your laptop to the video input, say to give a presentation (although nobody at Accrue uses it for presentations). The remote control is very cute .. it's in the shape of a fish.
There's an optional carousel that holds multiple cards -- I think five or six. The 'tank' is currently programmed to rotate the fish program every hour throughout the day. Also, it's programmed to shut itself down between about 7pm and 7am, since there usually isn't anyone in the lobby.
The 'new tank every hour' routine can be confusing for visitors who see the fish tank on the way in to the building, and see a different set of fish (and backgrounds, etc) on their way out. Only then do they go close enough to the tank to realize it's an HTDV monitor.