::scr Ramblings of a Classic Refugee or How I Learned To Stop Worrying and Love OS X

simon wistow scr@thegestalt.org
Sun, 3 Feb 2002 16:08:42 +0000


Alex, Celia and Matt all said :

[ a whole bunch of stuff ]

[ including databases for Filesystems ]

YES! Oh god yes! 

This has been a personaly, umm, obsession since way back when I did what
all little geeks do (after writing their own Macro language and learning
about quines) and started to think about My Perfect Operating System
[tm]

BeOS almost did it. Have a look at
http://www.namesys.com/whitepaper.html which is a paper by the guy who
designed ResierFS about this very thing. Also, you might want to read
http://www.amazon.com/exec/obidos/ASIN/1558604979/

I started playing around with this when I was at college. In fact for my
dissertation I was going to build a Database backed file system for
storing mail - you wouldn't move your mail into folders directly
(although you could arbitarily move mail somewhere) you'd set each
folder up as a query ...

'inbox' would be :
select * from Mails where read=false;


'random_list' would be :
select * from Mails where 
			from="randomlist@random.org"
		    and date_year ="$this_year" 
		    and date_month="$this_month"
		    and date_week ="$this_week";


but archives would automatically be generated using

'random_list-$this_year-$this_month'
select * from Mails where 
			from="randomlist@random.org"
		    and date_year ="$this_year" 
		    and date_month="$this_month"
		    and date_week != "$this_week";
		


etc etc, ad nauseaum. There were design issues but you get the point.

But nooooooooooo, I reversed engineered Flash instead. And whatt did I
get for it, a lousy stinking second ratten schnattem [SIMON starts
rocking back and forth, muttering and generally sharpening his knife
against his shoe]


That idea was also part of the same brainstorming session that came up
with my idea of associative file systems ... the OS realises that
whenever you open index.html that you also open picture_of_me.jpg
picture_of_my_cat.jpg and theme_from_star_wars.mid and associates them
together in a folder. It doesn't delete them from more conventional
heirachical file systems but provides another tool for helping you
organise your data. Like the LifeStreams idea. Only less crap.

Which kind of leads me onto my point proper. Pointe Propre if I'm being
pretentious (and completely making up french phrases. It should probably
be Pointe Actuelle. Except doesn't that mean News? Or is that
Actualitie? CURSE MY GCSE FRENCH!)


[ going back and fixing your mistakes ]

Couldn't agree more. It's what I hated most about numeeja. That and the
3/4 length trousers. Brook's (as in Fred, Mythical Man Month) said, very
astutely I thought, "always plan to throw the first two away" this
doesn't really happen. This is bad.

So, how does this relate with my ramblings above? Well, I was
tangentially involved in a project that was working on genetic
interfaces. Which worked like this ... 

The user plays round with an application. Depending on which items of
functionality (hence forth to be referred to as functions) they use the
genes of that function get stronger and breed more. Essentially. There's
more to it than that but it gets a bit involved and then I go crossed
eyed.

After a while you regenerate the interface automagically from the
genetic pool. Thus the more useful functions become more prominent.

There are three things to think about:

1. Do you do this during testing and then release a finalised version of
the interface hard coded in?
   
   1.1 Can you then produce three versions of the code for beginners,
       middle and power users. Or people who use, say, Word, for writing
       letters or for producing proposals. Or have the interface swap
       over depending on what mode you want.

   1.2 Or do you have the interface automatically update? Tailoring
       itself precisely to the user. This is effectively what Microsoft
       have done with their latest versions of their interface and
       everybody hates it but there are more sophisticated, less clumsy
       ways to do this. That way you don't need to go back and fix the
       interface, you just give it a good start and it iteratively
       makes itself better.

2. Could you have the users machines constantly sending back information
that will let you build the next generation version of the application

3. Something [forgotten], I'll come back to this later. Probably.

(later ... nah, still can't remember it, one day I might remember it)

Of course Raskin would probably scream about this. Especially the
'different modes' bit and certainly the changing interface from
underneath you. I think that there may be a middle ground soemwhere, I
just can't put my finger on it.


My involvement was related to the fact that at that time I (about 5
years ago I think) I started thinking about doing a PhD in psychology
and computing (actually I first wanted to do a Cognitive Science degree
but I couldn't find a decent course) - either in Autism Style syndromes
and programmers or in personality types and data organisation -
specifically, could you determine someone's personality type from how
they organise their data and, more importantly, could you use someone's
personality type to organise their data for them.

No, I never did get round to do anything about it. 

Simon