HIGHWIRE
INTERVIEW!
Rob Goldsmith answers some elegantly posed questions from CiH!
A promising but little discussed project to provide a fast and modern web
browser for the Atari range of computers first came to my notice some time
ago. At one of the Stafford ACC get-togethers in a freezing barn, a
friendly dude called Rob Goldsmith showed me how slick his early work-in-
progress was at formatting HTML. Compared with CAB, it was about twice as
quick. We decided straight away that this was good.
What was going to be even better, was the fact that "Project Highwire", as
it was called, was going to be developed all the way into a fully
functioning modern web browser, even with some facilities, such as Java or
Javascript, where CAB declined to venture. The only downside to this so far
uninterrupted flow of good news, was that work was only being done on it
"as time permitted." Any Atari person who has been around for any length of
time knows what that killer phrase really means, so our hearts sank back
down into our boots again.
It seemed that our worst fears had been realised, as Rob announced that he
was unable to spare any time for it at all, and the project was being made
open source. Then things went very very quiet for a while.
But now, it looks like Highwire wasn't dead and gone after all. A reborn
website has emerged, details of collaborators have been posted, and there is
a sense of "watch this space - something real good is coming soon!" around.
Now we've managed to grab hold of Rob, to put the following series of
crucial questions to him. Take it away Rob!
-------------------------------------------------------------------
Hi Rob, it's been a while since we last heard from you, how are you doing?
Not bad :) Personally, I've very busy with my PhD, the reason I had no time
for Highwire in the first place. On an Atari note, I'm still very much here
but getting increasingly frustrated that I no longer have an Atari computer
to develop on. I'm waiting eagerly for some sort of emulator that runs under
mac os x (and allows easy file transfer between the atari and the host mac).
I use macs in my PhD research you see.
We see that 'Project Highwire'is coming back into the public eye, through
announcements from atari.org etc. Why have things been so quiet for so long?
Well, with so little time on my hands, then the lack of atari computer, I
simply could not progress and had to wait for the open source release to
generate some interest. I am very glad to say that it did create some small
interest and, sometimes after quite some convincing, we now have a hot group
of programmers working on Highwire. They took time to acquaint themselves to
my 'idiosyncratic' (to say the least) way of programming before they could
make progress and this also took time :)
What has brought about this recent revival?
Actually, the development has been quite steady over the last few months.
Spearheaded by Dan Ackerman and with the slow addition of other programmers,
they simply had a lot to do before we thought there was something good
enough to raise peoples hopes again.
I remember Highwire, a couple of years ago, as an offline HTML browser,
which was able to offer very fast HTML page display, but not a lot else. How
much further has it come on since then?
A long way :) Frames were in two years ago but they were buggy to say the
least and this has been fixed. Tables have been added (with a few tweaks
still to do), coloured text, placeholders for images (images themselves are
something we are looking closely at) and more comprehensive foreign
character support have been added. Furthermore, quite a lot of the parsing
code has been either tweaked or outright re-written to accelerate it further
(some pages are parsing about twice as quickly now). The best news is that
all these enhancements and additions, quite contrary to many peoples belief,
have not slowed down the rendering - Highwire is faster than ever before!
Following on from the last question, how much further has it still got to go
before it becomes a viable online web browser to directly compare with the
likes of CAB? After the early Xmas present preview which was very nice, what
is likely to be coming next?
Tables still need some tweaking and forms and images are not even started.
There are also more holes than solid working bits of code in the
hyperlinking so, although we have come a long way, we still have a way to
go. On the plus front, we do have a - VERY hacked - online system for
testing. This is not the final code by any stretch of the imagination but it
has shown us that the way we have written Highwire is a good way, easily
extended as we had first planned. The next release should have images,
hyperlinks and possibly forms. I couldn't even guess how long it will take
though - sorry :(
I'm going out on a limb here, a very long and exposed limb, a tree-branch
getting steadily thinner, as the wood rots underneath you. Is there any sort
of (realistic) timescale for Highwire to be 'rolled out'? Are we talking,
weeks, months, or piece of string periods of time?
Well, I couldn't guess. To give you a bit of the path we have sketched in
for developing highwire though; we see highwire as more than just a browser.
There are many programs (the obvious non-browser use is an email client)
that would like html parsing capabilities and our plan is to allow this. We
want the core Highwire code to be almost like a library - available to many
programs. A programmer simply gives Highwire an html file and asks it to
render it to somewhere. This library style format will also make writing the
actual browser much easier. We also saw no good reason to try to write two
interface engines - the browser interface and the html renderer so we plan
to write most of the browser interface in html. This will allow for pretty
coloured and totally user controllable 'skinable' interfaces you can play
with to your hearts desire. Of course, this will require hyperlinks, images
and forms to be working first :)
Could you tell us a bit more about your various co-collaborators, and which
bits they are doing?
Gladly! As I said, I am very reluctantly having to take a back seat at the
moment and I would like to take this opportunity to thank all those who have
contributed code or time testing or documentation etc. You are all doing a
great job! Dan Ackerman (aka Baldrick) is doing most of the work (sorry
Dan!) and coordinating the work of the others. I am sure you don't want a
long list - we are all mentioned at:
http://highwire.atari-users.net/developer.htm
As you can see from there, apart from the half a dozen programmers working
on Highwire itself, there are people working on related code, documentation
and testing. Everyone (except me!) are doing a fantastic job :)
The Highwire website suggests that "any Atari computer capable of multi
tasking" should be able to run Highwire. In your view, what is a decent
minimum set-up?
There are a few reasons for this choice. Two of the big ones are that,
firstly, if you are on a single-tasking setup, you cannot thread (well,
easily) and we want to thread the online, caching, rendering, image
decompression, plugins such as flash and file downloading. Secondly, single-
tasking systems have not got such good support for things like libraries (I
explained above what we want to do with Highwire). More generally,
I personally feel that you won't get the most out of Highwire in a single-
tasking system and it will only perform a little better overall than CAB
while restricting our coding so we can't create a better product for multi-
tasking systems. This will always be a controversial call and while
developing we are trying to think of ways to support earlier systems but we
have enough trouble trying to support the three versions of C developers are
using (gcc, pure c and lattice) and the 4 os's we are testing on (magic,
magicpc, magicmac and mint).
How much of a boost will current (CT2, Nemesis, Phantom), and future (CT60,
Tempest) hardware accelerators give Highwire?
Highwire, like any other program, will run faster on a faster processor. At
that show two years ago we tried it on a Hades machine and it did realtime
re-rendering as you resized the window - without flicker. On the other hand,
higher colour settings and resolutions will slow it down again so it's all
swings and roundabouts. I would say that the threading and the great code
acceleration additions in Highwire will make it very usable on a falcon
(unaccelerated) and if you have anything better, Highwire will rock :)
In your opinion, how capable is something like a standard Falcon (taking
that as a base system) capable of running some of the more advanced web
features, such as Javascript, etc?
First, let me clear up a possible slight confusion. Java and Javascript are
NOT the same thing. I doubt we will get Java working at all - and certainly
not on a falcon. Javascript, however, is a totally different kettle of fish.
In essence, Javascript is a scripting language for the Document Object Model
(a kind of interface to the inner workings of the web browser) and as such,
does not require huge processing power. Another feature I mentioned is
flash. Although Shockwave can be very processor intensive, simple Flash
should also be possible. I am less sure about this though :)
Your original intention was to make Highwire freeware, as direct competition
to the commercially available CAB. Is that still the case, or is there going
to be a move to a shareware type of distribution? You may be aware that
quite a lot of people would still be willing to pay something towards a
decent and up to date www browser for their Atari computer.
This is quite a long way into the future but I still hold that there should
be a free browser for the atari. A likely arrangement will be a free html
3.2 or even basic 4.01 browser and shareware registration to enable the
plugins such as style-sheets, flash, javascript and possibly the 'skinning'
feature mentioned above. If all you want to do is browse, you can do it for
free. If you want to browse with style, this may cost a small amount. Why?
it encourages the programmers to keep programming :)
Putting on your philosophy hat, do you think that there is a real need for a
replacement for CAB? A lot of people seem to run a PC alongside their Atari,
and use the PC for the majority of internet tasks.
To answer this honestly, no :) However, esp. after seeing my answer to your
later question on ie and microsoft, I love the atari platform (even if I
have had to move away from it a bit). You could apply the same 'is it
needed' to any program. After all, if you have a pc as well, why not install
an emulator to play your games and do all your computing in windows?
Now I'm putting that last question in a slightly different way. With Windows
XP being revealed, in spite of the hype, as buggy and insecure. Do you think
there needs to be a real alternative to the legally endorsed incompetence
and money-grabbing of Microsoft? On an entirely different, non-Wintel
platform perhaps?
I suspect you are asking 'would a new atari computer survive and grow in the
current market'. I am afraid I must answer no to that implied question - sad
though the answer is. To answer your direct question, yes, there is a need
for open source software, cheap development tools and better software but I
see it coming from the unix world - Linux and MacOS X (which is based on
netbsd). Taking MacOSX as an example, it is built on the solid unix
foundations and 90% of it's core development is open source (Darwin - the
unix bit - is free to download, if you want it). It is also capable of
integrating into a pc network and using pc files and filesystems to aid
migration but it is so much better and easier to use (just like the atari!).
Last, Linux and MacOSX come will a full suite of developer tools for free.
My message is simply - if you can, move to a non-windows platform and
wherever possible support open source software. With the increased cost of
microsoft licenses, a recent survey of UK companies found about 30% of them
are seriously evaluating a move away from microsoft and another 40% were
'considering it'.
Moving away from tricky project-specific questions, you may breathe a bit
easier now, just a little bit, go on. Now wasn't that better! Have you been
keeping any sort of eye on the movements of the Atari scene in general? What
are your views on the progress of the demo scene, return of the Reservoir
Gods, and things like the CT60? Where do you think it is all going in the
near to mid-term future?
Whatever anyone says, the atari platform is fun to program. In my view it's
as simple as that. People try other platforms such as pc and apple but there
is nothing quite like an atari. Couple this with the sense of achievement
you get from making your slow old atari do something fantastic and the great
atari community support, there are certain programmers who just can't stay
away :)
On the other hand, this thrill of 'hacking' the atari is not really present
in writing microsoft word converters or database programs and, despite
programmers coming back, I think application software output will decline.
The atari platform is less and less becoming a 'working' platform and more
of a fun machine to write demos for.
Re-iterating what I said above, if you move, don't move to a windows
platform. If you must go pc, go linux (although it is a bit of a pig to
setup) and choose something other than intel - AMD are good and half the
price. My personal recommendation is an apple because MacOSX is stonking and
magicmac is very good (but doesn't currently run under os x... come on Ash,
release an osx version - please!).
You may be wondering why we are still writing Highwire - think about this:
Highwire, under emulation on a pc, seems to be a little faster than ie 5...
What are your views on emulated Atari's? Things like STEEM seem to be pretty
popular; there were these guys who developed a game called 'Chu Chu Rocket'
on it, no honest!
I can well believe it :) Quite a lot of Highwire development is in magicmac
and magicpc and, although magicmac is not really an emulator (macs use
motorola chips like ataris) this whole process is perfectly viable. The big
problem with ataris is the lack of procesing power compared to modern
standards and emulation (esp. magicmac) solves this problem. Atari programs
fly on a modern pc or mac. Oh, and by 'pc' I don't just mean windows - there
are linux atari emulators as well :)
One thing I would like to ask emulator programmers is 'please make it easy
to move files between the emulated atari and the host machine' - this is
what is keeping me from developing Highwire :(
And we'd just love a paragraph of pure blood-red ranting at this late stage!
What are your views on the whole Microsoft thing? Populariser of quality
home computing to the lumpen masses, or cash-bloated, Jabba the Hutt like
destroyers of diversity and excellence?
Apple, Atari and others 'popularised' home computing and ibm invented the
'pc'. Microsoft did nothing more than copy other peoples ideas and sell them
at a cheaper price. There is no real argument about this - that is how
Microsoft became the standard for pcs. After they got there, they got rich
on costly updates and licences as well as charging a fortune to be a
'certified developer'.
This would not be a problem if they produced quality software. However,
bugs, not sticking to agreed standards, constantly changing formats left
right and center and not releasing protocol and format info etc. as well as
a seemingly total lack of the concept of 'ease of use' (well, they copied
the products off of atari and apple, not the concepts, after all!) has lead
to a world where the average user is perplexed, frustrated and generally not
in a mood to look kindly on their pc. Look at Atari, Amiga or Apple and you
will see quite the opposite. The users of these machines don't need much
technical support, huge software operating manuals and constant bug fix and
security updates. Many more 'creative' professionals use Atari's and Apples
for their work and the general reason is 'they do what I want without
distracting me from what I'm doing'.
I only have one good thing to say about microsoft - their Mac version of
office is really good :) However, the mac products are developed in a
completely separate department to the pc products...
Finally, Knightrider versus the A-Team, who do you think would have won?
(This was the header text on an email virus!)
Ah, at last, an easy question :) I would have to go with Knightrider because
the car has an AI. I research AI, A-Life and Artificial Evolution for my PhD
so I'm a bit biased :)
Thanks for your precious time Rob, and best of luck mate!
You're welcome :)
- Alive! Mag - 2002 -
|