Mar 5, 2012

my 20%

after traveling the world for quite some time I had to replace some hardware - so I decided to take a paid job in Berlin at EyeEm this year. The team is nice and multinational. Most conversations are in English. But there was a downside: I had to fix bugs all the day - the guy working on the code before is a very good coder, but was in a hurry with a lot of tasks ( back-end,tech-lead and the android client) Fixing bugs is OK for a while, but I need creative coding to stay happy..
I have one very important motto in life "Love it, Change it or leave it" - in this case I selected [x]change and convinced the founders to let me do a small side project for the company in 20% of my work time. And this is a message to all the people saying "Oh my company has no 20% project" - just ask them - the worst they can say is "no"
So what is it? In buzz words: EyeEmTV is one hyper-local, inter-connected and soon intelligent personalizable picture display for Android devices with focus on big screen devices like Tablets or now especially Google TV.

That means it can continuous play photos which are relevant to the audience and also the position and time of the playback. It is designed to require minimal interaction - just run in the background and show relevant photos with some Meta information ( if the user wants it - user is able to switched off nearly all elements - so that the Picture is the only thing seen ). In most cases we can add the meta-information without making the Image smaller as a lot of pictures are like 4:3 and the TV 16:9. Another Design decision is that the most recent images are preferred. That means if you shoot an image that belongs to the selected album -> your image will be the next to be displayed. There is not much user-interaction, but there is the option to display a BarCode with every Image which users can scan and then interact with the image ( like,comment,..) with an app on their own device.

  • At home playing a stream of photos from family/friends
  • At office playing a stream of photos from the Team members
  • At events playing a stream of photos via big screen or beamer of pictures shoot at the event.
Çan also be used as a form of visual communication. Sometimes taking a picture is faster than writing what you are up to or where you are.

EyeEmTV is using our official API which was released not long ago. The APP is not yet released ( you can ask me for an beta-APK ) but it will be released this month to the Android Market and ( which makes me very happy ) the code to GitHub!
Next step in bringing a fresh wind into the company is to equip the office with a table football. It could replace the - for communication so important - but because of biological reasons not happening anymore  - cigarette breaks . Beside that - every cool start up has something like that ..

Sep 18, 2011

DUBwise UI over time

Today I got some amazing images for DUBwise for UAVTalk from a really cool and professional guy called grass man which enabled me to make DUBwise for UAVTalk look really sweet:

I am working on the mother project DUBwise since 2007 and this is the first time I like the appearance of it. I always had the problem that I cannot simply take free images of the web as DUBwise has this crude (but important for me ) non-military creative-commons licence-construct. Anyway seeing my baby in such a glance today inspired me to look back a bit. Starting with a small step back in time:

The above screen was the state after I came back from my trip around the world I tested all these shiny new UI Patterns like the popular pagers / dashboard / actionbar - was not feeling bad but needed attention from GFX-Pro's e.g. the connection indicator was just a drawColor ( green or red ) - the rest are images that "fit" which i took with my IXUS 80 - and my IXUS is much more like flying and taking pictures like these :-)
But it gets even worse. In Android beginning I did most stuff with ListViews and icons from android.R.drawable:

Now with big steps deep into the dark J2ME area. There I did nearly everything via an LCD+4way-input style interface but with light and dark theming - voice output and a lot of nifty useful things:

and finally this is the very beginning - just plain text writing values from the UAS ( MK at this time ) and the insight that the RC and the Mobile belong together:

Apr 8, 2011

DUBwise for UAVTalk

There is now a new Version of DUBwise - this Blog-Post intends to give some background and insight about this new thingy.

Why UAVtalk?
UAVTalk is an open protocol designed for communicating with UAVs. It is originated by the great OpenPilot-Project but can also be used in other projects. It is very efficient and flexible by using xml for the protocol description but raw binary values for transfer.

Why a new version?
To be honest, I tried to make the recent DUBwise speak UAVtalk but I failed badly. This has two main reasons: #1 DUBwise is grown wild over about 2 years and especially with its roots in J2ME and the MikroKopter Protocol. I have to confess that it has grown to a big and fragile beast. #2 When I really started the project I was on a backpacking trip to the other side of the world which consumed and is consuming a lot of my time and abilities.
I realised that way to late after wasting a lot of precious time walking in the wrong direction. But better now than never I started DUBwise for UAVTalk as a new project when I had the van all for myself for three weeks. What does that mean for the user:
- no J2ME support ( as this was the biggest problem with the DUBwise code base - perhaps I will do a minimal J2ME version when I have a week in a dark cellar, but just because my UAVTalk protocol code had J2ME still in mind and to justify the pain and uglyness of that )
- very limited functionality on the start ( The initial version in the market has only a UAVObject Browser and Audio Voice output - but even that little bit could help on the field so I am releasing it now as it is)

That is bad for the user on one side, but on the other it is better in the long-run because I also gain more flexibility and am not bound to old ideas. For the example of the Audio Voice Output ( StatusVoice ) this means that the user can not only switch on and off stuff that is spoken statically - he can also define text blocks which can contain UAVObjects that are spoken. That is a very flexible approach and so much closer to the flexible OpenPilot way of thinking.

Release steps:

I uploaded the version to the market and commited the rest of the protocol stuff to the OpenPilot repository. I released the protocol stuff ( juavtalk and juavobjects ) in their svn repo with "OpenPilot Team" as author and unter the GPL but I will stick with my non military cc license for the DUBwise code. I will publish the DUBwise code as usual on my github account - but I need to do a cleanup first and I am going to a 5day-ish backcountry hiking trip now, so there could be a delay with that and the reply from me - but are now probably used to that fact since as a backpacker now I am not on my PC 24/7 anymore at this moment ( will change ) ..


As I said for approx. 5 days I will be in the bush without equipment the next time, but after that I will try to reply to the feedback. After that I will build a screen to show an artificcial horizon and values. I will use the same mechanism I produced for the StatusVoice to pick UAVObjects to display. These are the two things which are used most in the MK-DUBwise Version so I will polish them first ( like adding conditions to the StatusVoice blocks ) before adding more features. It is getting colder and colder here in New Zealand so I think I will find more time for coding now.

Jul 10, 2010

Project Voyager

For my backpacking trip I was in the
need for a new kopter. My old one was too cumbersome for transport and not reliable enough because I crashed it a lot when testing software or by brutal fun flying. At home this was no problem, but on the trip I can only carry few tools and spare parts. I decided to build an koax y6 because:
  • is good collapsable
  • has some redundancy
  • has good orientation visibility

On my trip there where minimum 5 flights with a plane planned. And I know that they sometimes handle the baggage
very roughly, so I had to build a good case. I decided to use an KG tube which is normally used to transport fecals under the earth. These tubes are available in DIY superstores, but not in the size I needed them. My centerplate
is 180mm so I needed the
200mm tube (they are available in 50mm steps). The maximum sized tube I found in the local DIY superstore
s where 100mm. I luckily got the tip by djrobby to look in a civil engineering shop
for tubes that size
and was lucky there. These tubes are very stable (I can even use it as a chair) but that comes with the cost of heaviness. The tube with caps for both sides weight 3.5 kg which is very heavy when you carry it some kilometers.

I call this Kopter Voyager mainly because when I collapse it - it looks like a NCC and I really like Star-Trek ;-) Beside that this Kopter is for traveling purposes and voyager reflects that very good.
Here are some aerial Pictures taken with this MK.
Here is the ( sorry german - but you can look at the images or use google translate ) blog of this trip.

May 6, 2010

tracedroid - send Stacktraces via Email after FC's on Android

This work is inspired by remote stacktrace for Android i played with recently. But after looking at the sourcecode I decided to do a total rewrite with these things in mind:

  • main: Option to send the trace in other ways - e.g. share via email - pros:
  1. no need for internet permission
  2. having a email adress of the sender to contact the user after e.g. the bugfix
  3. no problem when there is no internet at the moment
  4. user is able to write some more info into the stacktrace mail
  5. user can easily see what is send ( can be important with logging stuff ) and can delete parts of the log
  • modularize ( diffrent send modules )
  • small core ( only collecting stacktraces to files - nothing else )
  • sending asyncronous to collecting - being able to send stacktraces when the user is more in the mood ( e.g. in wlan range )
  • attach Logging info

the screenshot above is from gobandroid 0.46 which now includes tracedroid.

the sourcecode is on github