RE: [Aimmath-developers] Dev. of the AIM CAA system + browser detection
Brought to you by:
gustav_delius,
npstrick
From: Greg G. <gr...@ma...> - 2003-05-07 04:33:35
|
On Tuesday, 6 May 2003 9:59 PM, Chris Sangwin wrote: > Dear all, > > It was confirmed last week that I have been offered 2 days a week of a > programmers time for the next year to develop the AIM system, or some > other computer algebra assessments and learning system. This is very > exciting as it gives us some very interesting opportunities. > > Since this could allow a very major re-write of AIM, I would very much > value your thoughts on how we should proceed. Dear Chris, Perhaps, you could start by suggesting what parts of AIM need a rewrite. There are some who hold the view that too much of aim-tth is written in in Maple and that much of this should actually be written in java. However, now that I have a little more experience with AIM, I'm not sure I agree with that idea. Personally, I still don't have the facility with java that I have with Maple, that I could just sit down and read code in it and understand how it works. So a shift from Maple to java would just make more of AIM inaccessible to me and possibly to be many others as well. I think what should be coded in Maple and what should be coded in java should be what seems the easiest to code with a leaning toward Maple, unless there is a performance reason for doing it differently. What I would really like is a description of how the java code and `aim/Main` Maple code interact to generate the various pages. In particular, just how data is passed down to subsequent pages after a student logs in. Perhaps, Ken or Neil could indicate any techniques they use to see what java is actually doing. I need some hints as to how to put in print statements etc. or do you actually use jdb? One of the things I'm interested in doing is adding some browser detection into Alice.java. I've done some experiments along the lines of a suggestion Manolis Mavrikis when I sent a message entitled `Snag using Unicode' to the AIM list. Basically the idea is this, the login index.html page has some javascript at the top that defines a function that peels out of the userAgent string of a web browser enough info. to determine what browser it is (I've got this bit working ok ... it can even determine the operating system if that's useful). The idea is to then pass this browser information down with the student Id to subsequent web pages, and pass the option `-u' to tth if and only if the web browser is known to be fully Unicode capable (e.g. Mozilla and Netscape 6+). The mechanism could be exploited further, so that a message is printed on the login page warning of deficiencies of some browsers, e.g. IE 5 cannot render multiple levels of indices (e^(x^2) looks like e^(x*2)). > Could we talk about this further? Lets. I concur with Neil: On Tuesday, 6 May 2003 10:31 PM, Neil wrote: > ... However, I don't think that major rewriting > would be the best way to use this resource; there is no shortage of > straightforward development tasks that need to be done, and we > are only looking at 5 person-months of work, which is not all that > much given the learning curve and the scale of the system. We need to concentrate on what's broken and features that are missing, and only rewrite code if it's a real mess. Is there code, Chris, that you think is such a mess that it needs to be rewritten? ... or is it that you would like to see some Maple code rewritten as java? ... or is there some interface concept that is currently `wrong' in aim-tth? Exactly why do you think a rewrite is necessary? When I read the Maple code, I see usage of RETURN, traperror etc. which one reads in the Maple documentation are deprecated. However, if one was to replace the traperror instances by try/catch would this make AIM no longer compatible with Maple 5/6? Regards, Greg |