Sunday, November 23, 2008

Map

Odd thought which I don't know quite where it should go. 

I've been thinking about the map interface in Java a fair bit recently and the thing that does shock me is there is no publicly available implementation of map backed by a database or possibly file. OK this would only be for and largely hetrogenious simple classes (Int,String,Float, and groups there of - so no complex binary trees).  But the code would look like this 

Map myPhonemap = new MySQLMap( 'DatabasesName','user','password' , append); 

myPhonemap.put("bob",555343330); 
myPhonemap.put("Alpha",40232302);

Integer bobnumber = myPhonemap.get("bob");
// print all phone numbers
for( Integer who: mymap) 
System.out.println(Integer);  

Objects put into the address book would be 'weak' that is the objects would be weakly held and if all other references disappear then they would be garbage collected. Equally when an object is returned it is created a new (but could be cached but that might be confusing).

Needs large amout of reflection could but would work. Could also create a database backed vector. 

Saturday, November 22, 2008

Ghost mirror

I was wondering what you could do with the face detection system and I thought about about creating a ghost wall. 

The system identifies  or looks for faces and then occasionally it grabs a face/profile then stores it away for later use. Later when someone looks at the code it uses the non motion region to then clip and paste in one of the old faces which has been made transparent ( ghost like).  The idear is to see the world as it was/is so people can leave tracks in the building. Perhaps the older the image is the more it gets faded/bleached. 
A nice quick art project perhaps for the new wall. 


What else - 3D or 2.5 visualisation tracking the face ( makes it look 3d as you move your head)

Friday, November 21, 2008

OpenCV Yum

How lovely a version of openCV done for processing  and java. Lots of good examples. 

Thursday, November 20, 2008

Documentation

I was looking at this documentation when I realised what java doc needs is hints on expected squences. 

@Example - 
Code example 
@EndExample

and 
@generally follows @thign
@generally is followed by 
@generally first
so 

for f.open
@generally first 
@generally is followed by f.write or f.read

for f.write 
@generally follows f.open
@generally is followed by f.close

f.close
@generally follows f.write or f.read.
@generally ends 




Wednesday, November 19, 2008

Its done.



19-Nov-2008 12:23:16  the time I moved the final sensor mat on the stairs. This should be getting some good 'gold' records from now on. I'm thinking of leaving the sensor in for another week of testing.

Tuesday, November 18, 2008

More glassy idears

We had a meeting today about getting another study underway.  This time thinking about horizontal vs vertical spaces.

Afterwards I passed through the old department and saw a couple of foldable tables which might be nice to make a semi-portable reatavision table. 

Got to thinking about making a multi-touch surface using a projector against a large sheet of glass with tracing paper as the projection surface. Could we track fiducials in the IR from behind the glass. The problem is that the markers would not 'sick' to the vertical surface. Useful for manipulation but not objects. 

I'm wondering what kind of interface I could build with that - perhaps something for NATS. 

Jeff said something quite profound - we should stop thinking about technologies and think about user studies. 

I also worked on the audio interface as a relax/quickie paper. I think I have enough voices for a run through. 

Thursday, November 13, 2008

Final sensor installed

I took out the sunspot sensor and replaced it with an arduino using Firmata and processing to capture the data and post it to the central server. 

I was expecting things to take a while and for a moment had a problem with what I thought was a cable not working - but I think it was something else.  

Some conversation about new vidieo wall. 

Java persistence thought

I had a thought about Java there are number of persistent object systems and database links but my perception of them is that they are all rather complicated ( to define the relations between the two). 

I'm wondering if it would be better to think about making databases that look like a collection class. For example you might say

Map m  = new DatabaseMap( Address.class, // so we can make new ones. 
"mySimpleAddressDB" ,// name of table defaults to stored class name  
"username" , "pasword" // with standard defaults.
DatabaseMap.MYSQL_driver ) // database driver to use 

m.put( 34 , jonAddress ) ; // inserts  0verrides 
m.update( 34, jonAddress ) ; // update this item 
jonAddess = m.get( 34) ;  // override fetch 

for( Address a : m ) { println(a.toString(); } // look over whole table. 
for(DBMapQurey itter = m.itterator('WHERE name like 'bob') ; itter.empty(); a = itter.next())
println(a.toString(); 
} // extension to implement filter. 

This the map would look like a map to a programmer but operate exclusively on disk base storage. The Map uses methods of the class to get the values for address and gets/sets them. 

This would be a zero configuration approach to databases but limit people to simple objects. Worst case use annotations ( @db_field_name('INDEX' )  or @db_IS_PRIMAY_INDEX to help line up information between the class and the database.

Shurly someone must have done this -but what is it called?

Visible light filter or Guppy camera

http://www.maxmax.com/aXNiteTreeFilterComparison.htm

Wednesday, November 12, 2008

Nexus sensor integrated.

I managed to integrate the Nexus sensor into the system - this meant simply re-loading code. The problem with this was that people kept stopping and asking me what I was doing ( I did have the floor up). 

I spent ages trying to get the think working and kept getting connection not accepted. Eventually I discovered the code had the wrong port. 

Finally I found I didn't reboot sleepless so the laptop fell asleep. 
Tommorow I'm going to replace the sunspot with a clone of the ardiuno sensor + move the second pad. 
Need to get a good process running for the update visualisation. 

Tuesday, November 11, 2008

News on the arduinio ethernet stuff.

Looks like the very nice ethernet shield from Nuelectronics won't run the standard Arduino ethernet libraries from Ardunio central. It does have it's own library which is a little tricky. 

The alternative is to buy the 'offical' ardunio sheild from Smart Projects in Italy. ( 31 Euro - so about 25 pounds plus postage against about 13 plus for a simpler programming experiance. 

I wish they would make the whole thing a bit more explicit. 

I'm thinking of replacing the sunspot with the remote processing/Firmata and running the code hot to the server ( which I got working with sensor 3 today). 

There is also anouther board based on Xport - pricy, and you can't buy it ready made and you have to buy the bits seperatly BUT it does have DHCP working out of the box ( + own mac address). 

I found the make controller  which is a UBS/Ethernet with more memory and DHCP. The interface to the outside world is via OSC (yum) and you cam programming it. Looks to be based on the ARM chip. About £68 + shipping from the US.  So not so bad. Looks very simple to interface to as well. Quite close to my ideal machine in many ways.  Has in built eithernet but no simple digital in(s) only analogue.



idea of afternoon

Put iR sensr in display and count how many people walk infront of display. Strong evidence that the effect is proportional to the numbers of people passing in front.

Ambient displays








This artwork by Susanna Hertrich works well on two levels.

Firstly I like the idea of something embedded into a mirror,  especially in a domestic situation.  A mirror is definitely something you look at or rather glance at something you  might want to consider as you move in and out of the building - this is something the art work side aludes to.

As I think Kay said I think that you need something you don't touch directly. So I like the interface at the bottom of the screen and clearly making a one action interface makes it very approachable.

Secondly as  a very personal interface - you see things about you ( again the art work does well on this). Quite easy to think of a number of less exciting interfaces here - (calendar, appointments). it might be a good time to remind you about you permit the user to do things in a persuasive computing sense. It would also work well as a dwelling interface - you could see a graph of energy use but have that compared to other people you know or are families like yours.

I also liked the animated interface - reminds you how poorly structured most user interfaces are for animation/movement.

Both we and IET have a number of half silvered mirrors - so one could prototype some kind of interface quite simply. As for a shareable I like the notion of a mirror that 'captures' previous glances. You might see pictures of people entering and leaving recently or pictures of your self a year ago.I guess its obvious and it must have been done. Perhaps some combination with that skin colour tracking you could make an nice interface. I have some good face tracking code that might work well for something.

I think i like the more physical waste of time interface.

http://www.susannahertrich.com


Conversation with jeff - use pinch as a 'selection' mechanism. 
Conversation with Kay  - she tried arm waving (not working) but holding hand near and still until it 'warms' up (visual indicator changed) did work.

Friday, November 7, 2008

Third and Final sensor installed

This morning I stopped off at Maplins to get more cable( yellow just for a change) so I could install the third floor sensor. The sensor is outside the lifts on the second floor.

I'm getting a signal from the sensor but I am getting odd strange new messages now and again - not sure why.

I now have a full array of floor sensors and a good back log of data. 

Sensor 1 will have to be moved, and I think sensor 3 is a bit odd. 
 

Thursday, November 6, 2008

Interesting talk.

Managed to get 
http://www.epsrc.ac.uk/CallsForProposals/DesignInTheDigitalWorld.htm
in the system. 

Yvonne and the rest OKed the visualisation with a couple of changes ( display fades to much ). The room I need to install in is not being used and I need to get the adunio on the stairs to start talking to the central server.