How would you build it?
Over the next few decades, the United States of America has expressed an intent to place a man on Mars. While it does have its coolness factor (akin to landing on Luna, our moon, in 1969) and an enormous price tag, it leaves a number of questions. For example, how do we protect (and for that matter, define) the health of the astro/cosmo/taiko-nauts? What equipment should we take (i.e. what we would do there)? Should we leave room for cargo - bringing Mars rocks back with us? A question that interests me, though, is how we would keep in touch with the fourth planet, particularly with something more than just radio and digital pictures.
More thoughts in the extended entry.
Nowadays, we take for granted that we can send an e-mail with an attachment to someone we're chatting with, real-time, and they can see the attachment almost instantaneously. We take for granted that we can fetch a webpage and see it in seconds. We take for granted that if there's ever a problem, we can at least talk to the people who can fix the problem right away.
The laws of physics as we understand them now tell us we can't take that for granted between planets - or even between Earth and Luna. Any physicist, and for that matter most amateur radio operators (like me), will tell you there's a time delay you can't beat right now: the speed of light. Even to the Moon and back, there's a measurable delay in a transmitted signal. From here to Mars, well... hours.
Existing browsers can't really function that way, at least not directly. When you request a HTML page, your browser gets the source code behind the page, and then discovers it has to fetch four JavaScripts, two stylesheets, and twenty images. The stylesheets want thirty more images. All these requests traveling back and forth over the light-minutes of space would be a horrible user interface for the people using it.
In a situation like this, the best answer I can come up with would be a special proxy on Earth. The proxy receives a request from Mars, and acts on it to get all the requested documents. Then it packages them up and sends them in one big burst to the recipient. Both the client and the proxy would have to be based on a similar platform, so the client really gets what they expect.
Even this way, it might be horribly slow. You might as well find out ahead of time what interests the people on a mission to Mars, and send an intranet server with them - which would pre-fetch pages they're most likely to look at. That way, they wouldn't have to wait as long... (I don't want to get into discussions of who would provide the Internet content to the travelers - especially since that leads into questions of monitoring the content and privacy.)
There's also the "kiddie" factor - imagine a webcast from Mars to students in a classroom on Earth. The kids would have to send their questions on one day, and wait until the next for any response. Then if they wanted to ask more questions, that's another day.
For me as a Mozilla developer, if I were ever fortunate enough to go to Mars, I'd want to set up a special mirror of the current Mozilla trunk, which gets synchronized daily or weekly. Even a simple CVS or SVN query - or Hg, or Bazaar, etc. etc., might need customization to work with such long distances. On the other hand, because carbon-based life forms are the biggest speed limit in software development, the pace of patch reviews would not change appreciably. :-)
Seriously, even on the journey to Mars, the crew would need something to do besides fly their ship and maintain their scientific equipment. I break the tension myself by reading - and occasionally writing - science fiction. Twenty years from now, we'll be so adapted to having data at our fingertips instantly that to drop back to "we'll get that to you in a few hours" will feel like we've slipped back a century. Having some semblance of the Internet "out there" might help a bit.
Put another way, the Spirit and Opportunity rovers send us back pictures. I personally don't know if they send video or not. But in any case, human beings will need a lot more bandwidth than a dinky little remote-controlled robot...
That's my opinion. What do you think?
Posted by WeirdAl at May 2, 2007 11:25 AMI think that in 20 years we'll have sufficient power to not worry about the bandwidth.
But the lag will still be a BIIIG problem, it will only get bad after some time on the travel to mars, but its a problem ...
Anyone want to discover nem physics ??? I'd like some kind of warp field to send data(and matter).
And not to say i don't like the idea to go to Mars ... but we could do more use of the money spendeing it on our friend earth ^^
Lets give mars another 50 years of wait while we clean our owm mess, or end up dead without going to (or halfway) mars :(
The distance between Earth and Mars varies, from 36 million miles to 250 million miles. Assuming the speed of light in vaccum as the speed of radio waves being sent between Earth and Mars, it would take between 4 and 23 minutes one-way, so a worst-case round-trip time is roughly 45 minutes. (I remember when the first rover was placed on there, that they were dealing with delays of about 15 minutes for the control commands.)
I agree on the basic proxy construction. It'd probably be filtering, as well, one can question the merit of surfing pr0n or the need for all the CSS cosmetics (I could question the need for CSS even today when I'm on Tellus, but I guess that's not very cool).
Generally, it would probably have to be a fully "Web 1.0" experience, somehow I don't see XMLHttpRequest scaling well across a couple million miles of cold space. WHATWG needs to add XMLHttpSpaceRequest.
Posted by: Fredrik at May 2, 2007 3:31 PMWe also need a Martian localization of Firefox.
(From Alex: Bork! Bork! Bork!)
Posted by: kourge at May 2, 2007 6:39 PMExisting browsers can't really function that way, at least not directly.
A way to avoid all those multiple requests would be for the server to gzip the whole package, html, css, js, images, everything and just send that. And for cached stuff, the browser could remember what images/css/js are cached and send the filenames of those in the request, so the server wouldn't send those again.
(From Alex: I believe I said that.)
Posted by: pile0nades at May 3, 2007 4:24 AMMaybe the next version of HTTP could fix it - have a request header that tells the server to send all the important stuff in the first response. Possibly have a variant of the Accept header to tell the server what's not important.
(From Alex: How? HTTP doesn't care about the contents of what it's transporting, but browsers do.)
Posted by: ant at May 3, 2007 1:11 PMWell, the sheltering from radiation problem can be solved along with the propulsion one (estimates say that they would need at least 50t of fuel if they use chemical rockets) if they use magnetic bubble technology. The lag will be a problem that's not likely to be solved anytime soon due to physics. I don't think that there will be some sort of "internet" between Earth and Mars until the first permanently manned bases are built there (and judging by how things are going now in the spaceflight domain, most of us will be havin' a chat with good ol' St.Peter by the time that happens).I guess they'll use something similar to what they use to communicate with the ISS and not really an organized internet-style network. BUt most certainly, there will be an almost constant stream of data to and from Mars.
Posted by: steph at May 3, 2007 1:56 PM