My current passions are object-oriented programming, Java,
the open-source movement, data mining, spatial interfaces,
and adaptive software,
as exemplified by the Java open-source
KnownSpace Project.
A related project,
Symphony,
is intended to give
infrastructure support for remote peer-to-peer Java development.
Symphony will carry a new class of user interfaces,
built with yet another project,
Fluency
(October,
2005, design document)
an editable, exportable, and sharable user interface builder intended
partly for non-programmers (also called `end-users')
as well as programmers.
These are all application projects of my ongoing
design patterns seminar,
B629/B490.
Alpha versions are here:
Hydrogen,
Helium, and
Fluency
KnownSpace is a visual and adaptive personal data manager.
Why do I feel it's necessary?
Here is a
fable on web data management,
an explanation of
what's wrong with today's interfaces,
a Star Trek example of
how context can improve search,
a comment about
why personal computers don't exist yet,
a discussion of
why software designers make us monkeys at the keyboard,
a sketch of
how much more personal computers could easily become,
and a story explaining
why today's computers suck.
KnownSpace is related to several other projects
in interfaces, adaptive software,
intelligent agents, collaborative filtering, networking, searching,
and browsing:
Xerox PARC's
Placeless Documents
and
Harland,
Yale's
Lifestreams,
Maryland's
Jazz,
UCSD's
AVS,
Illinois's
VisIT,
Sun's
Kansas,
Sony's
TimeScape (pdf file),
the open-source projects:
TouchGraph,
Nexist,
NeuroGrid,
Cougaar,
and
Grassroots,
and the commercial efforts:
OpenCola,
WebMap,
UrbanPixel,
TheBrain,
Boswell,
InfoSelect,
HumanLinks,
GroveMinder,
ReiserFS,
Pepper,
Kartoo,
Grokker,
SixDegrees,
and now (Spring 2008)
Twine.
(Note: Lifestreams has evolved into
Scopeware.)
Here's an overview paper,
A New Data Model: Persistent Attribute-Centric Objects,
in
(gzipped postscript)
and
(pdf)
with Ricardo Baeza-Yates and Terry Jones.
Teaching
P532
I also write books.
Some of my books, papers, and software---including the 1991
electronic publishing white paper---are available online at another of
my domains,
www.roxie.org.
|
The Human Swarm:
How Network Forces Shape Our Lives
(in progress, 2016)
|
|
Bleeding at the Keyboard: An Introduction to Java Programming
(on hiatus as of 2009, but still web-available).
|
|
Slaves of the Machine: The Quickening of Computer Technology,
MIT Press, 1997.
(Translated to Italian as: Schiavi del computer? Editori
Laterza, 1999, second edition, 2001;
translated to Korean as Gi-Gae No-Yae.)
MIT Press description.
|
|
Moths to the Flame: The Seductions of Computer Technology,
MIT Press, 1996.
(Translated to Italian as Le seduzioni del computer,
Società Editrici il Munlino.)
Complete text;
also available at
MIT Press and
Open Book Systems.
|
|
Compared To What?: An Introduction to The Analysis of Algorithms,
Computer Science Press/W. H. Freeman, 1992.
(Translated to Greek as:
Αλγοριθμοι:
αυαλνση και
σνγκριση,
(Εκδοσειζ
Κριτικη,
2005.))
W. H. Freeman description.
|
|
Foundations of Genetic Algorithms,
(editor), Morgan Kaufmann, 1991.
|