Underworld Adventures homepage
[01:55:46] <-- QQtis has left IRC ()
[12:50:39] --> wjp has joined #uwadv
[12:50:39] --- ChanServ gives channel operator status to wjp
[13:18:39] <-- Eldron has left IRC ()
[13:55:26] --> Eldron has joined #uwadv
[15:26:16] --> yot has joined #uwadv
[16:28:47] <-- Eldron has left IRC ()
[16:57:27] <-- yot has left IRC (Read error: 110 (Connection timed out))
[17:03:13] --> yot has joined #uwadv
[17:30:35] --> Eldron has joined #uwadv
[18:01:25] --> QQtis has joined #uwadv
[18:01:25] --- ChanServ gives channel operator status to QQtis
[18:44:28] --> Coren_ has joined #uwadv
[18:44:36] * Coren_ waves.
[18:45:57] * yot waves back
[18:48:28] <wjp> hi
[19:00:39] <Eldron> hmm
[19:01:19] <Coren_> My thesis project has been accepted. :-) Just tought I'd beam a bit. :-)
[19:01:42] <wjp> nice :-)
[19:01:58] <wjp> what topic is it on?
[19:04:22] <Coren_> New idioms in user interfaces.
[19:05:00] <Coren_> I've got hree of the planned six set basically down now.
[19:06:16] <Coren_> I'm going to throw an appointment book application at pairs of computer-illiterate students, each pair getting a different interface, with the directive of "figure it out and use it for day-to-day planning."
[19:07:01] <Coren_> The software will log movements, actions, hesitations in their efforts to learn the idiom, while the students themselves will document their perception of their experience.
[19:08:03] <Coren_> I'm attempting to prove that while perception of complexity is an initial hurdle, the more expressive forms of UI will be a net gain in short order despite the "common knowledge" that simple is always best.
[19:13:13] * wjp nods; interesting research
[19:14:56] <Coren_> Yeah, well, like most reasearch project this one has an agenda. I'm confident point-and-grunt has no place in the world; it's still too complex to be really dumbproof (you can still shoot yourself in the foot) but it's so lacking in expressive power it's scary.
[19:15:38] <wjp> point-and-grunt? :-)
[19:16:06] <Coren_> But that's to be expected of the Mircosoft-bastard-of-Apple-poor's-cousin-to-Xerox's-simplified-version of a good interface. :-)
[19:17:31] <Coren_> Think about a mouse and pointer interface. Either you can point at things and express (at best) a half dozen intents, or the whole idiom becomes overly complex because it is very modal. Try to express your needs in the Real world this way, and you get point-and-grunt. :-)
[19:18:00] <wjp> lol
[19:18:01] <Coren_> Like a very poor's man sign language.
[19:18:12] <Coren_> s/poor's man/poor man's/
[19:18:24] <wjp> nice way of putting it :-)
[19:18:59] <Coren_> I have a bone to pick. :-) What researcher doesn't? :-)
[19:19:09] <Coren_> That, or an itch to scratch.
[19:19:23] <wjp> so UI design is basically still in the caveman phase? :-)
[19:21:53] <Coren_> That's what I beleive, yes.
[19:22:54] <Coren_> CLI's are expressive, but the learning cure makes them unsuitable for general consumption. That makes computing inaccessible, just as litterature once was. You needed someone to read for you, and to hire a monk if you wanted a book.
[19:24:25] <Coren_> And this *shudder* fad of trying to model computer interface against non-computer objects is just horrible. Either you are restricting what the computer can do to coerce it to your model, or you are twisting your model (thus loosing the original gain from knowledge transfer) to fit the computer.
[19:24:58] * wjp nods
[19:25:20] <Coren_> To date, I have see /one/ good non-CLI interface ever.
[19:25:26] <Coren_> IMNSHO anyways.
[19:25:34] <wjp> which one?
[19:26:06] <Coren_> Perhaps you've seen one before: the Newton's interface was very, very nice.
[19:26:19] <Coren_> (Apple's kick-ass-but-way-too-expensive PDA of yore)
[19:26:23] <wjp> no, I'm afraid not
[19:26:58] <Coren_> Well, because of the nature of the toy they went for a pen-to-paper idiom, but they went all the way with good results.
[19:27:41] <Coren_> For instance, when editing text you used editing scribbles to edit; no odd selection mechanisms, no 'clipboard' or modal entry, etc.
[19:29:00] <Coren_> Want to delete text? Strike it out. Underline text to, well, underline it. Use the little v thing to indicate insertion and just write the text above. The whole thing would reformat around your changes rather than require you to understand why or how the changes were effected.
[19:29:32] <wjp> interesting
[19:30:22] <Coren_> It just 'worked', anyone who has ever seen corrected copy of a text could figure out how to edit in seconds, and anyone who never did could sucessfuly guess their way around in minutes.
[19:31:19] <Coren_> It was a nice idiom, but it was limited to the very restricted task of editing text, or textual data. The rest of the interface was a fairly typical pop up menu and iconic driven thing.
[19:32:35] <Coren_> But they, I beleive, hit the nail on one critical but subtle concept: the way of doing something MUST depend on what it is you are trying to do anyways. That text edition worked wherever you wanted to enter text, but it has no use outside that. Other tasks needed the other interface.
[19:33:30] <Coren_> I'm convinced that the error wasn't to have a completely different interface to entering text (many reviewers actually said that!) but that everything else shared a point-and-grunt interface regardless of what it was.
[19:34:44] <Coren_> Have you seen Intel's "real phone" program
[19:34:44] <Coren_> ?
[19:35:46] <wjp> no, I haven't
[19:36:40] <Coren_> Well, it's the perfect illustration of a fad getting more and more common: tit's a phone-over0ip application whose interface is modeled exactly like a typical office phone.
[19:36:55] <Coren_> Sounds like a good idea, yes?
[19:37:34] <wjp> hm, not sure :-)
[19:37:58] <Coren_> Okay, you're obviously smarter than the average Intel engineer. :-)
[19:38:36] <wjp> what did it do? force you to click numbered buttons with a mouse?
[19:38:54] <Coren_> Yes, that too! :-)
[19:39:21] <Coren_> Not only do you loose the expressive power of a real application when it comes to things like managing your voicemail, contacts, call logs, etc... But they went so far as to, for instance, limit the number of 'fast dials' to 10 so that they would be coded to the digits!
[19:39:32] <wjp> lol
[19:39:40] <Coren_> Somewhere they forgot that was a limitation of the 'real' phone hardware's expressive power.
[19:40:30] <Coren_> But that particular application will figure very proeminently in my thesis as the reccuring illustration of 'Bad' :-)
[19:40:41] <wjp> hehe :-)
[19:41:21] <Coren_> Worse, the phone 'display' models a typical LCD-- dark gray on slate green. It looks /exactly/ like the real thing, even fluttering on changes to simulate the display hardware scanning.
[19:41:35] <Coren_> Which means; it's hard to read and ugly /exactly/ like the real thing.
[19:41:51] <wjp> that would be taking things a little too far :-)
[19:42:30] <Coren_> Again, some forgetful designer somewhere forgot that the LCD display color scheme exists because the hardware to implement that is dirt cheap; not because it is useful or very usable.
[19:42:40] <wjp> so you have a piece of state-of-the-art hardware costing several thousands of dollars and you make it behave like something costing maybe $20.. brilliant :-)
[19:44:01] <Coren_> Yes; the basic idea behind it being that not having to learn a new idiom is, somehow, simpler.
[19:44:50] <wjp> sure, I guess it is, but that doesn't mean that you can't make any changes to it :-)
[19:45:04] <Coren_> It's like trying to construct a car that is activated by turning a stubby handle, with the expectation that people who already know how to use a screwdriver will now be able to use a car with no learning curve. :-)
[19:45:12] <wjp> lol
[19:46:06] <Coren_> A better metaphor might be a drill that works by truning the handle, actually. :-)
[19:46:14] <Coren_> But the idea remains.
[19:47:04] <Coren_> When guns were invented, I'm /sure/ nobody tried making them work like swords. :-)
[19:47:10] <Coren_> (Not counting baillonets)
[19:48:09] <Coren_> Well, enough about my rants on user interfaces. Did you get a chance to poke at autoconf or did you just get back?
[19:48:54] <wjp> I didn't look at it further yet
[19:49:40] * Coren_ reminds you that if you don't have the time/desire to do this you need not feel bad to tell me to stuff it and go and do it myself. :-)
[19:50:40] <Coren_> I expect you'll be busy with uwadv's impending release.
[19:51:54] <Coren_> In fact, it would probably be useful for me to at least attempt to do the first pass myself and let you find out how badly I screwed up instead. At least this way I'll get off my ass and finally learn that tool chain myself. :-)
[19:52:31] <Coren_> And it will place fewer demands on your time. I think. Unless you think that you have more chance of doing it right in the first place and that trying to clean up after me is just going to be worse. :-)
[19:58:10] <wjp> heh, I doubt that :-)
[19:59:46] <wjp> I'll be kind of busy this week, probably. (catching up on study-related things I missed last week, uwadv release)
[19:59:52] <Coren_> Well, okay then. I'll do the first crack at it myself. I'll use the SF server farm to do some preliminary testing, but I'll rely on you to watch out for common pitfalls I may have gotten myself into and/or glaring monstrosities I may have commited.
[20:00:04] <Coren_> Cool?
[20:00:11] <wjp> sure
[20:01:02] <Coren_> Besides, I have *got* to get my head out of the conversation engine before it explodes. :-)
[20:02:53] <Coren_> Peers at autoconf.
[20:03:01] <Coren_> Will this infect my code with the GPL?
[20:08:34] <wjp> probably not, but I'd have to check
[20:08:48] <wjp> (I've seen non-GPLed code use autoconf)
[20:08:54] <Coren_> I'm trying to figure it out right now.
[20:09:00] <wjp> e.g., povray
[20:09:11] * Coren_ is no fan of Stallman.
[20:14:17] <wjp> I don't think autoconf would 'infect' anything
[20:14:46] <wjp> after all, it isn't linked to the code in any way, but only processes several input files
[20:14:54] <Coren_> Agrees, now that he read the entire license.
[20:16:01] <Coren_> Yes, and while the resultant 'configure' script will be, perforce, GPLed it will not itself be included in the code and thus doesn't infect.
[21:26:32] --> Dark-Star has joined #uwadv
[21:59:02] <-- QQtis has left IRC ()
[22:03:51] * Coren_ glares at autoconf.
[22:03:57] <wjp> :-)
[22:04:06] <Coren_> Erg. This tool may be cool, but it's convoluted.
[22:04:06] * wjp hands Coren_ a big hammer
[22:04:49] <Coren_> I can't manage to find the canonical way to allow a --with- option for specifying the path to SDL for instance.
[22:05:30] * Coren_ will also need to write a test to check for GCC 3.0 and fail otherwise.
[22:31:45] --> vividos has joined #uwadv
[22:31:45] --- ChanServ gives channel operator status to vividos
[22:31:51] <Coren_> Hey vividos!
[22:31:51] <vividos> good evening
[22:32:04] <wjp> hi
[22:36:44] * Coren_ kicks autoconf. Hard.
[22:36:55] <Coren_> checking for library containing glMatrixMode... none required
[22:37:01] <Coren_> Yeah, right.
[22:37:38] <wjp> :-)
[22:41:31] <vividos> heh
[22:41:56] <Coren_> checking for library containing glMatrixMode... -lGL
[22:41:57] <Coren_> checking for library containing gluLookAt... -lGLU
[22:41:59] <Coren_> That's better.
[22:54:38] <vividos> what autoconf macro do you use for that?
[22:55:20] <Coren_> AC_SEARCH_LIBS([glMatrixMode], [GL Mesa3d opengl32 opengl])
[22:55:20] <Coren_> AC_SEARCH_LIBS([gluLookAt], [GLU Mesa3d glu32 glu])
[22:55:30] <Coren_> That covers both unices and win32; dunno about Darwin.
[22:59:26] <vividos> MacOS X probably uses -framework OpenGL for the linker flag
[23:00:03] <vividos> wjp: the autoconf install log was from a "make install" log that was sent to me
[23:00:50] <Coren_> I don't think AC_SEARCH_LIBS can cope with arguments not in the form -lXXX; Darwin would have to be special cased then.
[23:01:45] <wjp> vividos: probably an old version of automake, then
[23:02:02] <wjp> automake didn't have proper subdirectory support until 1.5/1.6
[23:02:41] <-- Dark-Star has left #uwadv ()
[23:05:32] <vividos> hmm, is there such a thing as AM_PREREQ?
[23:07:36] <vividos> Coren: there is a SDL.m4 macro to check for SDL, btw
[23:07:49] <wjp> yes, it comes with SDL
[23:08:11] <vividos> I had to fix it for uwadv, though
[23:08:19] * vividos looks up what was the bug
[23:08:32] <Coren_> I know. 'alocal' found and snarfed it without my even having to tell it.
[23:09:13] <vividos> no, it was some other thing
[23:09:18] <Coren_> (Or, for that matter, having to even /know/ about it) :-)
[23:10:45] <Coren_> LOL
[23:10:49] <Coren_> GNU hello (ftp://prep.ai.mit.edu/pub/gnu/hello-1.3.tar.gz) is
[23:10:49] <Coren_> renowned for its classic simplicity and versatility.
[23:11:15] <vividos> uwadv's configure.ac sets language to AC_LANG_CPLUSPLUS, but the AM_PATH_SDL needed AC_LANG_C, so I added AC_LANG_SAVE followed by AC_LANG_C at the checks
[23:11:22] <Coren_> I hope this was sarcastic. :-)
[23:11:29] <vividos> hehe
[23:11:43] <vividos> hey, they're at version 1.3
[23:12:02] * vividos wonders how complicated that thing is
[23:12:22] <Coren_> You have *no* idea.
[23:12:51] <Coren_> Lemme put it to you this way-- this is probably the only 'hello, world' program that you need to pipe --help into less if you want to be able to read it. :-)
[23:13:17] <vividos> lol
[23:13:50] <Coren_> It has full i18n, multiple language support, and last I checked it can work on X, win32, console on posix boxen, msdos, and probably C64 if you can find a GCC for it.
[23:14:22] <vividos> lol
[23:14:43] <vividos> well, one could make an optimized gcc for hello on c64 only :)
[23:14:54] <Coren_> It has a full info file for documentation (from texinfo source) and a full regression testing suite.
[23:15:08] <vividos> lol, regression testing
[23:15:15] <Coren_> I'm serious. :-)
[23:19:44] <vividos> wjp: did you try the changes to the conf system that I made?
[23:21:01] <Coren_> Woooo! ./configure && make
[23:21:06] <Coren_> It works.
[23:21:10] <vividos> hehe
[23:23:29] <Coren_> ... well, I don't actually use anything that lives in config.h yet, but it finds the libraries and such allright.
[23:24:10] * Coren_ nots that his AM_PATH_SDL copes with AC_LANG_CPLUSPLUS without acrobatics.
[23:24:31] <Coren_> s/nots/notes/
[23:24:59] <vividos> well, don't know what I did at that time :)
[23:25:43] <Coren_> Secure connection to cvs.low.sourceforge.net refused.
[23:25:50] <Coren_> SF down or is it just me?
[23:26:32] <vividos> they have an outage today
[23:27:21] <vividos> (on 10:00 at GMT-8, lasting 12 hours or so)
[23:33:42] <Coren_> Aha.
[23:38:17] <wjp> vividos: no, I haven't been able to try your changes yet. (cvs is down)
[23:39:53] <vividos> ah ok
[23:40:13] <vividos> don't think I broke something, but you never know :)
[23:43:11] <Coren_> Ok; autoconf is ugly and unwieldy; but I just managed to './configure --host=i686-pc-cygwin&&make' without having to do anything special about it. I like autoconf, now.
[23:44:03] <vividos> :)
[23:44:17] <vividos> automake is more fun
[23:44:30] <vividos> oops, forgot a :)
[23:44:30] <Coren_> I meant the whole tool chain. :)
[23:44:49] <vividos> which automake do you use?
[23:45:04] <Coren_> automake (GNU automake) 1.7.1
[23:46:13] <vividos> cool, a new version
[23:46:44] * Coren_ tries to have the original low.ini built with the right paths.
[23:47:01] <Coren_> That's the version that knows about SDL without having to tell it, I guess.
[23:47:16] <Coren_> 'aclocal' just did the Right Thing without being told.
[23:48:09] <vividos> did you have the SDL.m4 around somewhere?
[23:48:32] <Coren_> I expect I did, given that I have SDL
[23:48:43] <Coren_> Err, actually, no.
[23:48:52] <Coren_> locate SDL.m4 didn't return anything.
[23:49:39] <Coren_> Yet my aclocal.m4 knows about AM_PATH_SDL
[23:50:07] <Coren_> So I presume knowledge of SDL is now canonical to automake.
[23:51:03] <vividos> hmm
[23:51:17] <Coren_> ./dwim
[23:51:25] * Coren_ smirks.
[23:51:32] <wjp> it's called sdl.m4
[23:51:50] <Coren_> Hmmm. /usr/share/aclocal/sdl.m4
[23:52:00] <Coren_> So it's still automake's.
[23:52:03] <wjp> no, sdl's
[23:52:17] <wjp> that's the place SDL's make install puts it
[23:52:34] <Coren_> SDL would have been rude enough to go play in automake's yard?
[23:52:48] <Coren_> But then again, that does the Right Thing so I shouldn't complain.
[23:53:49] <Coren_> configure: WARNING: If you wanted to set the --build type, don't use --host.
[23:53:51] <Coren_> If a cross compiler is detected then cross compile mode will be used.
[23:53:59] <Coren_> That's awfully rude.
[23:54:20] <Coren_> user: WARNING: If I wanted my tools to second-guess me, I would be using Windows.
[23:57:37] <wjp> what options were you passing to configure?
[23:58:09] <Coren_> ./configure --host=i686-pc-cygwin
[23:58:34] <wjp> weird
[23:58:42] <Coren_> --host=HOST cross-compile to build programs to run on HOST [BUILD]
[23:58:48] <wjp> yeah
[23:59:19] <wjp> host = system you want to build for, build = system you're building on (and target = system the program you're building will build things for)
[23:59:55] <Coren_> Not that weird; it just goes ahead and presumes I wouldn't want to cross-compile just because most people wouldn't.