Showing posts with label software engineering. Show all posts
Showing posts with label software engineering. Show all posts

Tuesday, February 26, 2008

day of good ideas (AKA squeak rant)

The PC died in transit to the show. Jeff wants to use this as an excuse to get USB connection working to table. The down side is that he wants to make it work in smalltalk (in fact more specifically in squeak). I'm quite the cosmopolitan when it comes to computer languages but I'm not sure I want to stick to a ghetto language with out any specific reason to do so apart from Jeff's reluctance to learn anything else. I can hardly blame him, I've seen people resolutely stick to the first language they learnt over a 30 year carrier in computing. 

I love changing languages but have recently come to the conclusion that the reason I change languages is to get access to some new cool library (compiler writers please take note) that lets me code something neat up quick. That said I'm about to go back to C++ to use the open computer vision library but open computer vision is in desperate need of a significantly well written user guide. 

So my research in the next few weeks will lie either with signal processing signals from the diamond touch table or doing real time video processing for gesture recognition and we should do this all in squeak because it is good at using the multimedia processing features (oddly no), you can deliver double click-able applications that conform to the operating system  interface standard that the non programmers on the team can use(no), that lots of people can reuse our library (no), that we can make the program open source by integrating it on to source forge. Basically there is no clear reason to my mind to program this in smalltalk any more than there is a reason to program this in visual basic. 

I'm open to the case to use smalltalk but I need something distinctive that smalltalk has that I can't find anywhere else (translation give me a USP). Don't get me wrong small talk is a good tinkers language, if you out put are papers to conferences rather than code that other people can use( which is the life of an academic so I don't think Jeff is badly trained)  then small talk is the way to go. But I'm not sure this is my or the projects context. 

Wednesday, January 16, 2008

Object orrientation

I'm having a problem at the moment with trying to find a library routine ( JUST ONE) that can 'Construct a warp transform that approximatively maps the given source coordinates to the given destination coordinates.' 

My opitions are do it from scratch or try to find something in java that does it. The problem is that the only library that does it is 19Mb big with a complex linkage of classes meaning if you add one you have to add them all (practically).  The use of all these helper classes ( my point2d, mymatrix ) makes it all so tempting to try to figure out the code your self. 

Is this a problem with OOP or how we use it. 

Thursday, September 6, 2007

Ever though how little help there is for direction manipulation interfaces?

A Component Framework for Direct-Manipulation Editors

Ever though how little help there is for direction manipulation interfaces?

If you want to write an on form to fill in it is easy to use a dialog box. BUT if you want to say have something that gets dragged or selected you have to go to a much lower level ( mouse down ,mouse up and so on).

it struck me as very strange that you can get a standard tree component but not a direct maniuplation component. Strange that both the PC and the Mac have a 'finder' - a direct file manipuation program.

You might expect that this should be included in any basic GUI tool kit and I wonder why not.

More strangely most of the standard GUI systems have a Drag and Drop - the interaction of direct manipulation between two applications mostly the finder/file system with an application. So you get fragments of a direct manipulatoin tool kit but not a frame work for the whole thing.

Why not - is it hard to do why am I expected to build my own draggng icon application but not write my own button class. Is it some kind of programming problem or is it cultural ( i.e programmer cultural) ?

As I pointed out to Paul this is important - Direct manipluation turns up in an number of good applicatoins (iMoive,iTunes, graph editing applications, drawing programms, 3D programs ) but it is the life blood of tangables and table top interfaces. If there is some usablity reason why you should NOT make a tool kit for direct maniplation then we need to know what it is and why shareable interfaces look like they will be highly direct manipulation.

Sunday, September 2, 2007

Intreasting software failure

Odd thought. I'm looking for an algorithum which will do a convex hull algorithum on a set of data points I wanted to create in my data set. I've done a search with google and found a few very hevery weight system and a few examples. what is intreasting is I cannot use any of them. I have code already and this is strutured in a particular way. This makes deriving my code from one of the hevey weight systems difficult or impossible. You know they will have some complex build process and lots of 'utility' class that will have to be loaded up not to mention the inheritance problem. the smaller examples are just rough code outlines sutible for examples but not final versions.

So my quest to use a previously written package is thrwated.

I guess the only thing to do is to create something which works as a component and can be added simply to something else - an intreasting exersise if I have time.

Tuesday, July 10, 2007

Table top interfaces

Another week of experiments.

I've been wondering what kinds of things we can do with tabletops (sharable/multi-interaction devices in general). That would be better then a laptop and a projector. Things were everyone doing someting could help.

I was thinking that we need to think about cases were all participants try their own thing out be we get to see them simultaniously. Like giving everyone the same pictures on the same table BUT everyone has their own layer. This way we can experiment with diffrent designs and try a multitude of things out coming to some common understanding.

I'm try to talk to Bashar about tabletop interface related to software project planning.

Monday, April 16, 2007

Software engineering - whats on my ipod?

I was checking out this website Geoff Mullery is giving a talk in May. Scans very intreasting I normally have problems with software Engineering - it generally isn't and is normally the cover for anti-engineering ( ie either craft or excessive formalisium ). I wonder how many people I have insulted in that line. For example if you ask an Engineer how long it will take to cut through this hill then generally you can get a reasonable result. This dispite the fact that strange stuff might lurk in the hill you want to cut trough. Ask a programmer and your getting guesses and ambitions, craft not engineering. Anyway rant against software engineering over.

This Mullery guy looks to have had some wonderful failures under his belt. I'm definitly putting this on my Ipod to listen to.