happy apping

Yesterday we finished the Android app for AQAb. The last bit of development went very smoothly. I’m very happy with it.

The final interface differs a little from my design. It now uses a connect button to connect to or disconnect from Bluetooth. For sending the data to internet we used a nice toggle button that you can switch on and off. There is a listing of all the data from the sensors and a scrollable window that displays the feedback from the insertion into the database. For this we used the WebView widget. This is like a little browser only for viewing web content. Nifty.





Almost two years ago I build the map interface and I was of course eager to know if it would work with the automatically uploaded data. Yep, worked like a charm too.

The next step for me is to convert the raw Arduino data to parts per million. To be continued…

My thanks go to Hugo (who developed the app) and Thijs from Qbus for being so patient with me and for their generous supported to this project.

curing Bluetooth

Yesterday I worked with Michel from the A&T lab to discover what was wrong with my Bluetooth connection. It was interesting to see how Michel went about it:

Michel testing the Bluetooth module

  • We first tried to get data from the set up as it was. Nothing happened just like last week.
  • We then used another Arduino to check of we could connect to the Bluetooth module. With the Mac software CoolTerm we verified that data was send over Bluetooth.
  • When this was the case we tried my code. The was an error with the Wire library. We commented out that bit of code and tested it and for the first time since a long time I saw the formatted string with sensor values.
  • The next step was to test the code on the Arduino mini in the wearable. Michel made sure the TR and TX wires were crossed. Still nothing happened.
  • We then replaced the rechargeable batteries with the 9 volt battery Michel had used. It worked in CoolTerm!
  • I started the test AQAb app on my Android and yes! a nice formatted string appeared on the screen.

To conclude I think the problem was a mixture of problems: wrong wiring, an error in the code (Wire library) and not enough power. But now we can continue with the app, with a big thank you to Michel.

mobile app development started

Finally! Last Friday we made a start with developing the AQAb mobile app. I travelled to Apeldoorn and arrived at Qbus where I was welcomed by the nice staff and a hearth! Hugo was pretty quick to make a Bluetooth connection to the Bluesmirf module. It was simpler then he thought and we only had to use a Bluetooth client.

Then the hardship started as we weren’t able to get any sensible data over Bluetooth. So either the module is broken or I’m doing something basic completely wrong. Thank god my colleagues at the Art & Technology Lab at St Joost will help me out later this week.

financial support

Recently I received confirmation that my subsidy application has been granted! The subsidy covers most of the costs I have to make to develop a mobile application. This is what the app will look like on my new Android phone:

It’s basic but the visualisations are on the wearable itself and on the web maps.

Thanks to Prins Bernhard Cultuurfonds for making this possible!


Exit Pys60 enter Java

I’ve picked up AQAb again after a long break. The first thing I have to solve is the data communication between the Arduino and the phone. Unfortunately I just can’t get Python to work on my mobile. That is, the Bluetooth functionality keeps giving the error 13, permission denied. I’m just fed up with it. It’s a shame because I’d already advanced quite a bit. But other people on the forum complain of the same error. And apparently Pys60 is as good as dead.

hello world, hello Java ME

hello world, hello Java ME

I’ve been wanting to get into Java for a long time and this is a good excuse. I do have to start from the bottom. But I’ve made my Hello world app so that’s a good start. I think eventually Java will be a much more stable platform to develop in.



For a long time I’ve been thinking about a promotion pack for my different
projects. I’d like to be able to give interested people a reminder of my
work. I’ve decide to make a package of business cards that I can put in a
small envelop or sleeve. The nice thing is that I’ll be able to change the
contents of the package depending on the occasion or person. This is my
first attempt for the AQAb project.


Last week a major hurdle was taken for this project.
1) I held my presentation for a very interested audience of around 200 students from the Design Academy in Eindhoven, the Netherlands. I was very nervous but once I got started things went OK. I only had 10 minutes so I focussed on the design process. The audience was also design orientated so I didn’t want to bother them with too much technique.

Presentation at Design Academy

Presentation at Design Academy

Opcacity and outline change depending on data

Opcacity and outline change depending on data

2) I finished the website www.aqab.nl I’m still amazed by the swiftness with which I realised this project. I’m very happy with the Flash app. Even though the data is fake (for now) it does give a good insight into the power of the app. I think I’m most proud of the icon and the way in which the outline colour changes to indicate good, bad or neutral smell. It’s just so easy to work with the Google Maps for Flash API. Great job, good documentation too! You can just use all the build in functionality in a very simple way by using the classes. Also check out the check boxes with which you can select all the days of a month, not as simple as it looks to program…
3) I’ve edited the video and put it online as a Flash flv file and you can play in from the homepage using the simple player. There wasn’t very much useful material for the motorway scene, so I’ve had to improvise a little. I think the rest of the video runs smooth enough. It gives a good impression of how to use the wearable.

There are still some things to be done: the displays don’t light up more then four rings per gas at the same time, I’ll have to change that for more pollution.  Maybe just light up the smallest and the largest. The Nickle Cadmium don’t supply enough power either and I don’t want to use more batteries. I’ll have to work on the Bluetooth connection. And I’ll have to interpret the Arduino values and recalculate them to ppm for every gas.

So keep an eye on this blog. All announcements will go through the website, the five most recent entrees of this blog are listed there as well.

Win some, lose some

I’ve been working really hard the last weeks. I’ve started to develop the Flash web application. I started with the calendar part which gets all the different days from the database and presents a nice, scrollable and selectable list of days. The user can choose from which days she wants to see data. They are grouped by month and presented in a visual hierarchy. As you can hear I’m pretty happy with it and especially happy with how smooth the coding is going.
I must confess I’m very happy with ActionScript 3. What a robust language! Once you get the hang of it (and it is quite a difference from the first handful of methods and from AS1 too) it’s great to work with. So now I’m ready to start with Google maps and the projection of the data.

Design for the web application

Design for the web application

Onto the part where I lost some… I’d already done quite some work on the communication between the Arduino and the Nokia. Except for the formatting I could receive data from the Arduino on my phone. As I needed to  fill the database for my web app I tried running the old (working) scripts on my phone. I could make a Bluetooth connection but the communication didn’t work and I often got the message error(13, ‘Permission Denied’), a dreaded message which I thought I’d solved. So I tried installing a new version etc. No luck. As I’m running out of time for the presentation on the 19th I decided to fake the data so I could at least continue with my development.
So now I’ve manipulated the data from my collecting silence database. I wrote a Processing script which loops through all the lines of my database dump and creates new SQL queries from the existing data and writes them to a file. I could then import the queries and now I have a nice database on AQAb filled with almost 1000 rows of data. I do feel a little naughty but it’s the only way I can continue with my work at the moment. My knowledge of Python on mobile devices is too limited. And now I can’t even run the Scriptshell without errors, *sigh*

Oh yes, I’ve also done a video and photo shoot with Hans, my model. Pfff, filming is a true profession. I hope I’ll be able to make something presentable of the shots when editing. It’s a challenge to keep track of everything when you have to be director, producer and cameraperson at the same time.


Now the biggest part of building the wearable is done it’s time to work on presentations. Two weeks ago we did a video and photo shoot of all the pieces. I brought my model Hans to make sure I get consistent documentation.
After some discussion we decided to film and take pictures outside. As my piece is made to be worn outside and only has a function outside this made the most sense. Just outside there was an interesting and attractive urban landscape. A mixture of trees and flats. This is exactly the sitting in which the vest shall be worn. So we took the pictures there.
For the video we stuck to a very simple script of Hans stepping outside and interacting with the vest. Demonstrating a way in which it can be used.
As there was some delay it started getting darker and colder at the end of the shoot. This made the displays function less well because I haven’t yet set up the temperature dependant heating times. I haven’t seen any of the results but I think it will give a nice impression of the piece.

I’ve also started building the website. The design for the interactive maps with pollution isn’t ready yet but the rest of the design was. It’s good to see all the information collected in one place. I’ve integrated a nice PHP feed renderer in the website. The five most recent items of this blog will automatically displayed on a webpage. The main colours are black and pink (I never used them before) as you can also see in the logo I designed. logo