Tuesday, 7 December 2010

Event tracking and next plans

The plan is to now look at the event tracking so looking in the dt server and implementing marker found/moved/removed and with in the client writing event tracking for connecting markers and disconnecting them.

The plan is:

  • Look at the dt server code for tracking and see what needs doing
  • Look at reactivision code and check out their event tracking
  • Implement tracking.

Tuesday, 30 November 2010

Attaching and Detaching markers

If the connector point (above the marker) is in the connector area (area below marker) for x frames (5?10?) the two markers will be linked. This is regardless of whether they are subsequently moved.

If a marker is removed from the board for y frames (large enough that in moving markers, blocking the camera, it wouldn't be removed). If a link wants to be broken the two markers could be placed in a detachment area for z frames (2/3) or another method could be to rotate both markers so that they face the wrong way towards each other.


For this method to work I need to know the angle (which way up it is. Where the top and bottom is), the location and even possibly the size of the marker.

Monday, 29 November 2010

Progress update

So I've now got multiple markers displayed. The next step involves working on the tracking/developing the overall concept.

For next week I aim to have a good idea of how to link the markers together and a better picture of where we're  going so that when event tracking is introduced it is developed in a sensible and productive manner.

I'll publish thoughts and further things this afternoon or tomorrow

Saturday, 20 November 2010

XML parsing successful. Single Marker displayed in place

The Xml is now parsed and now the display is being designed. Currently I have a marker shown. It is a permanent marker which is moved to the location where the user places it and displays it's ID number on it.

Screenshot of current design:

The main aim for the next week is to get several markers displayed concurrently using QVector holding the different markers.

Thursday, 4 November 2010

XML parsing

So where am I up to this week.

I've not quite managed to get an xml parser working. Am currently stuck at compiler errors. Hopefully by next week I'll be beyond this and can get to work on the actual application.

I have however created an ecs.forge project at https://forge.ecs.soton.ac.uk/projects/dl1g08-tui/ this should allow version control as well as others being able to view my code.

I've also read a few background papers. Key things I learnt from Experiments with Face-To-Face Collaborative AR Interfaces by M. Billinghurst, H. Kato, K. Kiyokawa, D. Belcher, I. Poupyrev. were that we communicate much better facing each other over a table top doing something. In this way we achieve tasks quicker and the experience is generally much better than either sitting next to each other facing a screen. It also showed that using physical objects is much easier and satisfying than virtual objects.


Alternative tools for tangible interaction: a usability evaluation by Morten Fjeld, Sissel Guttormsen Schär, Domenico Signorello, Helmut Krueger. demonstrated that in terms of dealing with spatial problems physically dealing with something is best, a tui second, a 2d physical system 3rd and mathematically working out a distant fourth in terms of speed and enjoyment of using. It demonstrates that humans work much better practically in these projects rather than trying to do it theoretically. It also showed that a tui and physically were very similar in terms of usability except that users found it more enjoyable with the physical test. 


This coming week I hope to:



  1. Build the parser fully (functioning!)
  2. Set up dtserver using qprocess (if time though low priority)
  3. Start dealing with data from dtserver (again if time)
  4. Continue background research.

Thursday, 28 October 2010

Connection Successful

Thanks to Enrico the connection is now successfully made (just needed to add qt += network to the .pro file)

We met up and things to investigate this coming week are:

  • Look at the wiki for more tui research
  • Qtxml (to split the incoming data)
  • QProcess (to start/control other programs)
  • Tracking (where the markers flicker causing problems with stuff appearing/disappearing rapidly
  • Look into reactivision 
  • Think about event tracking and how frame by frame won't be enough when I've got the program further down the line

Tuesday, 26 October 2010

Problems with connecting the TCPSocket

I'm having difficulties with setting up a tcpSocket in Qt. Just in initiating a QTcpSocket I get the following error  undefined reference to `_imp___ZN10QTcpSocketD1Ev' I think this is due to a library file missing or similar but I'm not sure what you do within the Qt framework.


In terms of the other planned stuff I couldn't do some without getting the connection set up but I have looked at the pure data and I've got it working with a monitor background to some extent

Tuesday, 19 October 2010

Initial investigations

I have a few things to do in the coming week/s

The plan is to investigate the following to start with:

  • Connecting the DTserver system to QT (This will use the QAbstractSocket in Qt)
  • Try to display something based on the coordinates of a marker
  • Investigate Pure Data which is a visual coding system 
  • Look into Javascript and using it within Qt (Qt Script Module)
  • Try to get the DTserver system working with a monitor as the background rather than paper

My 3rd Year Project; Project Brief

Project Title:
A Low-cost Tangible User Interface for Creating and Editing Flow Diagrams

Project Description:
This project aims to help when two or more people are working on a project and want to adjust a flow diagram. A standard computer user interface only allows one person to work on a diagram using a keyboard and mouse. The objective of this project is to make a low cost tangible user interface for flow diagrams so that multiple people can move blocks around and the diagram will be transferred to a computer.

The advantages of this idea are not only that it is usable by multiple people but also it is a very intuitive way of creating or editing as the physical blocks are graspable and therefore more instinctive to play with. This also means it could be helpful as an educational resource. Many people are better at working with things they can grab and physically move.1

The Tangible User Interface (TUI) should be low cost so that students with their limited resources could use it. All that should be required is a computer and a webcam as well as a few simple printable resources.

Initially the aim is to produce this TUI for generalised flow diagrams so that people can move them around and develop there ideas as a group which will then be sent directly to the computer and reproduced there.

A secondary objective is to take this a step further and produce a specific program for Asynchronous State Machine diagrams which not only reproduces the flow diagram but then produces the System Verilog code that the diagram represents.

The project would be successful if a prototype TUI is made and tested. There are opportunities for further development should there be time such as releasing it online for download so that the quality of the user interface can be tested by a less restricted group of people and feedback could be gained.

There are projects that have precedent for this. The Microsoft Surface2 is an interface that can be used by multiple people but it is both high in cost and it is not tangible in the conventional sense (It can detect footprints of objects but can’t do more than that). There is also precedent for tangible user interfaces. There has been some study particularly in how to develop music through the use of tangible user interfaces such as the d-touch3 set up or the reactable4.

1 Fitzmaurice, G; Ishii, H.; Buxton, W. (2001) Bricks: Laying the Foundations for Graspable User Interfaces. Proceedings of CHI 1995 - http://tangible.media.mit.edu/content/papers/pdf/bricks-chi95.pdf
2 http://www.microsoft.com/surface/
3 Costanza, E. Ubicomp to the Masses: A Large-scale Study of Two Tangible Interfaces for Download. - http://users.ecs.soton.ac.uk/ec/tmp/audiodtouch.pdf & http://d-touch.org/
4 http://www.reactable.com/