Ben Darnell <[EMAIL PROTECTED]> wrote:
>On Sun, Oct 10, 1999 at 08:30:43PM +0200, Stefan Marx wrote:
>> Hi,
>>
>> after connecting the little computer via linkdirect and Linux
>> I would like to have a http Client on my little machine. Avantgo
>> seems to be really Windos releated, ProxyWeb may be the tool
>> of choice. Any hints to a working http software for the palm?
>> I would like to have URL+ features (URL bookkeeping), lynx
>> display features - Avantgo features (keep my cache on a remote
>> Server) would be fine.
>> Comments?
>>
>
>For offline use, AvantGo works with Unix if you get the malsync utility.
>For online use, AvantGo doesn't care about the OS you're connecting to
>as long as you provide a ppp connection.
>
As Ben wrote, AvantGo works well in many situations. There is a program
still kicking around called Palmscape that was the smallest web browser
around, but the author fell off the face of the Internet roughly 15 months
ago, & Palmscape has not been updated since then.
<Open Source pitch>
It would have been nice if the code were available.
</Open Source pitch>
Some time back, I mentioned to this list that I was studying the viability
of porting Lynx to the Palm Pilot. With Stefan Marx's querry, I feel the
time has come for some kind of status report.
First, I have reserved the appropriate Application ID for this port. Not to
prevent anyone else from doing it, but because the best choice was available
& I wanted it to be used on this project. So, to everyone, if you are able
to get a working version out before me -- & make the code available -- I'll
gladly concede ownership of this ID.
Over the past few months, I have been able to devote the Full Time
Equivalent of about 2 weeks to working on this. It's enough labor that
something ought to be salvaged for use by other interested parties. Let me
share some of what I found:
A. Lynx depends heavily on the W3 Consortium's HTTP library. This is a Good
Thing because it is drawing on tested code -- or, in other words, with a
little wise use, a programmer is recruiting several other people into her or
his project with little difficulty. In fact, work on porting the W3 HTTP
library to the Palm OS would be a Good Thing in itself.
Unfortunately, the version of Lynx I was studying -- 2.8.1 -- relies on an
older version of the W3 HTTP library, & is not always up to date. Part of
the reason is that Lynx does not use the entire HTTP library; part of the
reason is that the HTTP library is developing at a speed equal to that of
Lynx. Synchronization between the two projects would be a Good Thing.
B. A minor point, but since the Lynx source code totals almost 6 million
lines, I found the MS-DOS variant ``Bobcat" a useful kind of crib to
understanding the larger project. Especially since I was not only reteaching
myself C as I was studying the code, but also beginning to read the late W.
Richard Stevens' book on UNIX Network Programming.
C. Lynx is in nature, a character-based application. This, unfortunately, is
a Bad Thing. The reason for this is easily shown: imagine a port of vi to
the Palm Pilot. Okay, that's enough pain. ;-) Now considering the fact that
the internal engine to Lynx relies on character input, I found that this
would require a significant rewrite in the code, & introduce
incompatibilities, which means that further upgrades to Lynx would gradually
become less easy to port to the Palm OS version.
However, Lynx is an event-driven application (as it appears are all web
browsers), so there are some rose petals amongst the thorns.
D. As a result of the character-based interface, I looked for a way I could
represent the HTTP source to the end user. There are two schemes out there
at present: Mark Lillywhite's Plucker, which uses a idiosyncratic way to
present text & hypetlinks; & Justin Mason's Sitescooper, a perl script that
translates HTTP into the doc format. Because the doc format is a de facto
standard for the Palm Pilot -- as well as having applicable chunks of useful
GPL code -- I settled on the latter, & so organized my source files as follows:
muffy.c (the GPL code from the Lynx tree)
doc.c (the GPL code for represnting the doc format)
http.c (code under the Michigan University license from Mark
Eichin's http server
application that I felt might be useful)
Here, I feel it is proper to explain why although I wrote a few hundred
lines towards this port, I haven't worked hard on this project for a couple
of months. Part of the reason was that I became busy with other activities,
& when I returned to this project I found I had lost interest. But more
telling is the fact that there are two very strong competitors for this
niche: Opera is working on a port to the hand-held Psion Operating System; &
Justin Mason's GPL'd Sitescooper. Sitescooper seems more in tune with the
philosophy of Palm OS -- that is, being the hand-held client for a desktop
server where the actual work gets done -- that I had a hard time of
justifying to myself that the work I was devoting to the Palm port of Lynx
was worthwhile labor. Especially since Justin figured out how to represent
hypertext links, something I could not do on my own.
As a result, I've mostly discontinued my labor on a Palm OS port of Lynx. My
initial interest in this project was to find a way to read Usent on a
Palmtop -- which might be best served by writing a .site file for Newsguy. I
had the secondary interest in using the resulting code in writing an
interface for the Palm Pilot to run mobile agents over the Internet. I'm not
too slear what is needed in the necessary APIs that would make this work --
e.g. communicating between the Palm App & the agent or robot -- & I see this
as a far bigger challenge than representing HTTP code in doc format.
I hope these comments prove useful to someone out there.
Geoff
Geoff Burling,
[EMAIL PROTECTED]