B669: Personalized Data Mapping
To achieve its goals, the information manager must have
five crucial properties:
It must personalize itself to its user.
It must be able to handle large masses of data.
It must map data into a directly-manipulable visual space.
It must autonomously mine relevant data across networks.
It must be easy to understand and easy to extend.
Consequently, it must be smart, capacious, visual, networked,
well-documented, and well-designed.
So we need expertise in adaptivity, user modeling, object-oriented databases,
interfaces, networking, documentation, and software architecture.
It must also have a cool website to present itself to the world.
The more cutting-edge and just plain hip the website is,
the better for the project as a whole. The website
itself will also eventually serve as a demonstration of the whole idea of
adaptively mapping information into a manipulable space---both
the linkage page and the site map page, for example,
should eventually become such demos.
So we need webdevelopers as well.
team is responsible for coordinating the design of the system
and for coordinating the efforts of the other teams.
Ideally, to be on this team you should be strong in object-oriented thinking,
design patterns, and software engineering;
you should be familiar with terms like the strategy pattern, the observer
pattern, the proxy pattern, the composite pattern, the decorator pattern,
concurrent programming, and UML.
team is responsible for building and adding smarts to
the page-analysis and page-classification parts of the program.
Ideally, to be in this team you should have experience
with object-oriented or very large databases
and with programming at least one of genetic algorithms, classifier systems,
neural networks (especially Kohonen-style self-organizing maps), blackboard
systems (especially Hearsay II), expert systems, case-based reasoning,
or the more traditional decision-theoretic machine learning schemes
like ID3, CL5, and so on.
team is responsible for building an internal model of the user's preferences
and predilections based largely on the user's actions alone.
Ideally, to be in this team you should have experience with AI techniques
(see above), user models, interface design, and statistics.
team is responsible for producing the coolest interfaces possible.
Ideally, to be in this team you should either be an artist or designer
with a working knowledge of programs like Photoshop, Pagemaker, Wavefront,
Director, QuickTime VR, Shockwave, Flash 3, and so on,
or you should be a strong Java programmer with knowledge of graphics,
VRML 2.0, VR, Java 1.2, Java 2d, Java 3d, Swing, and so on;
you should be familiar with terms like B-Spline, OpenGL,
the MVC and MVP patterns, AWT, Swing, Beans, and so on.
team is responsible for producing a proxy server version of the program
and for other independent agents running inside the program like
smart mail and news handlers, chat servers, and remote web annotators.
Ideally, to be in this team
you should know the meaning of the terms: proxy, port, socket, Aglet,
DNS, BIND, RMI, NNTP, SMTP, Sendmail, SLIP, PPP, RFC 822 parsing,
TCP/IP, CGI, HTTP 1.1, and so on,
team is responsible for adding to and updating the website
with DHTML, advanced search and navigation aids, web annotation, and
collaborative software (Hypernews, chatbots, WebGlimpse, etc) and producing
a demo of the program runnable on the website itself.
Ideally, to be in this team you should have experience with
and so on,
as well as some design experience (a la David Siegel's books and articles)
or artistic sensibilities.