taking this discussion away from the short term summer of code so we can think about the bigger issues.....
in the long term (the 30 year horizon) it seems clear that some sort of browser-like capabilities are assumed. the limitations we have now seems to be things like: * the syntax of the web page does not have a semantic model we're trying to build a research science platform, not a display GUI object. we'd like the GUI piece of the system to have a clean, programmable semantics so we can reason about user actions. we want to reflect user actions (say handwriting, gestures, clicks, eye-gazes) and system state (say branch cut crossings, solid model data structure stresses, hill climbing search progress, as subtle changes to the screen. Think of a search space program that does hill climbing (or root finding, or ...) that presents it's current state on the system. The user gaze shifts to various areas and the gaze tracking hardware gives us a vector for a direction to explore. * the DOM model is hierarchical the DOM is a Document Object Model. it's basically a hierarchical data structure and it suffers from the same problems that databases used to suffer, that is, the hierarchy. Hierarchical databases ruled the day until new theory came around and the world went relational (I know most of you don't remember it but there was a HUGE fight about this. I attended a committee meeting about this at a database conference and the major objection was there would never be enough horsepower or memory to handle relational searches... beware the future). * the DOM model is not really math-aware i'd envision the DOM being a surface-level representation of the actual data structures used. the DOM would be available in one of the facets of the crystal, possibly to support old browsers. there are much more useful and efficient data structures for representing problem spaces, state spaces, and system state. * the browser cannot interact with the filesystem * the browser pages cannot be drawn upon * the browser pages are "paper-like" the browser is a dumb tool at the moment. we need to break out of the mold, pick a particular browser, and make our own version of it. our version can be modified to do read/write of the file system, handle socket connections, present tabbed pages or sub-areas as an active canvas so Axiom can write graphics or text to them in real time, present a section of the screen as command-line I/O, show axiom state in special tabs, allow the browser to start axiom, let it speak lisp, etc. in short, we need to stop struggling with the limits of current browser technology, take a standard browser and extend it to our purposes. in fact, i expect we could do what we do with GCL: package our own version from a tgz file and add patches to do what axiom needs. in the 30 year horizon we need something that is useful, impressive, and reasonably modern. today's tools just hint at what will be common. we need to listen to the hints, anticipate the needs, and get out in front. the term i've been using is a "crystal" which is an object with many facets that "floats" around a central problem description in its own representation. we need to think about the researcher's problem space in a much deeper form than current systems do (including Axiom). in the long term we want to be at the center of the tool set that researchers use to solve problems. research is long-term, detail-tedious, and takes a lot of work to build up a big picture. we want to be able to capture problem state, suggest relevant papers, perform proofs in the background, do speculative computations for possible suggestions, pre-generate literate pamphlets with references and code, etc. we want to draw a wide range of tools together (math language, graphics, 3D models (organic, engineering, etc), full-text searches, collaborative tools, etc). related to the current suggestions i think we are limiting ourselves too much and creating too tight a straight-jacket by trying to work within the limits of current browsers and MMA-like worksheets. choose a browser, get the source, add it to axiom, and extend it in various ways so we can experiment with ideas. just making it possible for the browser to read/write the filesystem and present a "canvas" area to axiom puts us far ahead of the world. it's not ideal but it works. t _______________________________________________ Axiom-developer mailing list Axiom-developer@nongnu.org http://lists.nongnu.org/mailman/listinfo/axiom-developer