Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[REBOL] Widespread application deployment

From: sunandadh:aol at: 17-Jan-2003 8:57

In a different thread ( Re: ANN: rebol-framework-006) Bolek writes:
> Well, people are different
I think a key lesson here is that it is not easy to write a piece of software that deploys well in all environments. I take a lot of care about getting that sort of stuff right, but even then I get plaintive calls saying "it falls over when I try x". My response is always "if it doesn't work, I'll fix it" Rebol scripts have a particularly difficult job here because they are so cross-platform. Someone may be trying to run one of my scripts on a platform I've never heard of, let alone tried to test on. Another difficulty, as Petr, points out is the proliferation of versions. A script using 'attempt is limited to platforms that support the latest view beta. Those of us who are not running that, can't run a large chunk of what has recently appeared on this mailing list. There are similar issues with websites. A badly written website will look okay on the monitor of the author, and may not even render elsewhere. But there's no real excuse for failing to write a cross-platform website as all the pitfalls and issues are well known and documented. Rebol doesn't have such a core of knowledge as far as I know. There are not that many large-scale, cross-platform Rebol applications out there, so we haven't gathered a set of such rules. I got a few though -- mainly from hard experience: 1. Always test what version you are running under and put out a message if it won't be acceptable. (I once spent a week being told that an app didn't work. "Are you sure downloaded Rebol version 3.whatever?" I ask several times. They are adamant that they are. I send them a new version of the script with a version check in. They apologise.) 2. Always use to-local-file and ro-rebol-file when displaying file names and paths. Just because Rebol uses a platform-neutral file-naming convention doesn't mean we have to force it on everyone. 3. Check all files before running them: if not exists? %main-script.r [ print "Oops. Look like a problem with main-script.r. Please re-install" halt ] 4. Never assume a monitor resolution. Take a cue from system/view/screen-face/size and build panels that fit. There's more. But that's a good start. Feel free to add to the list. Maybe we'll end up with a useful article for when the 'zine comes back. Getting deployment/installation details right is an art. And it's one that Rebollers ought to excell at. Sunanda.