Steffest Digitale Pulptuur

Natte Herstwandelingen

Sommige mensen mag het allemaal iets te nat onder de voeten zijn,
De overvloed aan water zorgt toch ook voor hemels mooie herfstwandelingen ...

14112010-IMAG0427 

14112010-IMAG0429 


Het water van de Mark past nog nèt onder het bruggetje door.
14112010-IMAG0428

Ik ben (sinds kort) overigens fan geworden van in de regen door het bos te wandelen.
Intrigerende weemoedige sfeer, moet ik meer doen!

Tags: in 't Nederlands, LifelogGeef je reactie (1)
 

Ipad Sketchbook

insilencepreview1 insilencepreview2
This is a preview of a little project i'm working on.

2 weeks ago i composed and recorded a new song using only the iPad and its internal microphone.
The goal was to see if and how a "consumer" device like the ipad could be used to "create" content.
Of course it can, and it turned out to be great fun too!

At the time i thought creating the videoclip also entirely on the ipad would be a bit of a stretch but after some fiddling around I got completely hooked on Sketchbook Pro.
As i quite like drawing, I think I tried all the drawing and sketching apps I could find in the AppStore.
In the end there are only a few good ones, and only one that clearly is on top: Autodesks Sketchbook Pro.

Back in the day my favourite sketching material was soft pastels on paper - creating very 16-year-old-stuff when i was 16 years old 
like this
Steffest_DSC_3297_91_thumb


Sketchbook on the iPad  gives me (almost) the same direct finger feeling of pushing and swiping and brushing and smudging with nothing in between you and your sketch. No pencil, no brush, no pen, ... just some color and your fingers.
I tried every tablet since the first tabletpc's in early 2000 but this combination of great finger specific software like sketchbook and great finger specific hardware like the iPad is the first one that really delivers as  intuitive and transparent drawing tool.
As I think of it, sketchbook was also the first drawing application I ever tried on any iOS device: on  @Topanga's iPhone at a twoooze with a very quick sketch of @mathiassbaert.
It was also the first time I thought "hmmm . . . . Maybe those Apple devices have some strong points after all" :-)

Anyway, Now I find myself handdrawing a (small) videoclip - stitching every frame together with ReelDirector
I'm about halfway through with about 80 sketches to go (at an astonishing 1 frame a second).
Thank god for the NMBS and their never-ending train delays which give me plenty of time to doodle along.

I hope to be finished in a week or two.
The biggest problem: blisters on my fingertips!     

Tags: Graphics, in English, MobileGeef je reactie (1)
 

Windows phone 7

a picture called windowsphone7.jpg (click to enlarge)

Soooo... Windows phone 7 is released.
Finally!

If you're already sick of the hype you can skip this because: yes! I have an opinion. :-)

Monday I went to the Belgian launch party at the Microsoft headquarters in Brussels.
Lots of interest, big crowd, but also a very hostile crowd ... I think some of them just came for some childish Microsoft bashing and the free food.
Come on guys, give them SOME credit, At least they had the balls to start over from scratch and come up with something "new", not easy these days when everything has been tried and patented.

And new it is! Fresh even.
The interface with the "living tiles" really is very nice, i think it's the best interface I've seen on a mobile device yet.
Well done.

I predict it's going to be a very influential interface design that will get copied a lot, even on website interfaces and such.

Thank god there where some hands on demo phones, the LG Optimus 7 And the Samsung Omnia 7.
Damn! Those Samsung Super AMOLED screens are gorgeous, especially when they're 4 inch big.
Everything feels very snappy and well integrated.

The LG had a DLNA server on board, also very well integrated allowing you to select a "play to" option with every media file you find, so you can for example select your big ass tv as a display target and just throw images and video to it, straight from your phone. Yes, like apples airplay, but better: using a very broad accepted standard that exists for many years already and that is supported by most high end media stuff.

On the software side everything MS is there and - again - very well integrated.

Office mobile on WP7 looks and feels great, with the new Word mobile arguably the best rich text editor on a mobile phone. Bing maps is there, Bing search, MSN chat, hotmail and exchange integration, live calendars, skydrive support ... The whole shabang.

But ... Will it be enough?

IOS and Android already have a HUGE head start and windows phone 7 clearly is a first version: there are still severe gaps in functionality : no copy-paste, no HTML 5 browser, no flash and most importantly: very very few third party apps ...

It seems at the moment you're only covered if you fully use the Microsoft products as other parties are barely there.
Instead of trying to bury the competition, why not fully embrace them?
Of course Microsoft has very solid developers tools - arguably the best out there ( i said ARGUABLY !)
They already have a vast developers user base and the "phone development" version of their visual studio suite is free to download, but still ...

In the end, there is little to be smug about: they have made some daring design and developers decisions and sticked to it. No more "fish nor flesh" product line but a clear fresh vision.
The hardware partners too have delivered some great phones.

What they need now is a fast update cycle and some decent developer incentive programs to quickly fill up their app marketplace.

Will I buy one? No.
Will they convert Apple or Android fanboys? No.
Will they sell a lot of phones? Probably not
But at the very least they now have a valid entry in the smartphone market for new buyers, making it clear to the competition that they have to keep innovating to keep their lead.

To Microsoft: well done, now keep your momentum and go create windows phone 7.5

Tags: Gadgets, in English, MobileGeef je reactie (6)
 

The Zen of Hardware Hacking

The 4th Barcamp in Antwerp - And a great one it was.
I gave a talk about "The Zen of hardware-hacking" , indicating that there's a noticeable shift in my attitude towards hardware and software - I still want high-tech everywhere around me, but at the same time it has to be as invisible as possible, completely out of the way if you don't need or want it.

As a hardware demo - to make it a bit more concrete - I made the fantastic KWISKWAT-O-MATIC ! :-)
The technical part is an Arduino with a wifi shield that holds a little webserver.
The beauty is that - once programmed - it runs completely on it's own with VERY low power consummation.
When you access the webserver you can send little commands to control the physical object (the arduino) - in this case toggling some coloured lights.
Physical devices become a part of the web that way and are easy to connect to any webservice out there.
The KWISKWAT-O-MATIC is connected to the Telenet tv.be API I made some time ago: Whenever a new episode of Kwiskwat is aired (and recorded by the Telenet digicorder), the light turns green, if no new unseen episode is available, the light is red.
image image image

Here's the Arduino script - it runs a very (VERY) limited webserver, which is perfect for controlling little hardware devices.

#include

#define WIRELESS_MODE_INFRA    1
#define WIRELESS_MODE_ADHOC    2

unsigned char local_ip[] = {192,168,1,120};    // IP address of WiShield
unsigned char gateway_ip[] = {192,168,1,1};    // router or gateway IP address
unsigned char subnet_mask[] = {255,255,255,0};    // subnet mask for the local network
//const prog_char ssid[] PROGMEM = {"Wireless"};        // max 32 bytes
const prog_char ssid[] PROGMEM = {"HTC network"};        // max 32 bytes

unsigned char security_type = 0;    // 0 - open; 1 - WEP; 2 - WPA; 3 - WPA2

// WPA/WPA2 passphrase
const prog_char security_passphrase[] PROGMEM = {"12345678"};    // max 64 characters

// WEP 128-bit keys
// sample HEX keys
prog_uchar wep_keys[] PROGMEM = {    0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,    // Key 0
                                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    0x00,    // Key 1
                                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    0x00,    // Key 2
                                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    0x00    // Key 3
                                };

unsigned char wireless_mode = WIRELESS_MODE_INFRA;
unsigned char ssid_len;
unsigned char security_passphrase_len;

int ledPin =  14;

void setup()
{
        pinMode(14, OUTPUT); 
        pinMode(15, OUTPUT); 
        pinMode(16, OUTPUT);
        digitalWrite(14, 1);
        digitalWrite(15, 1);
        digitalWrite(16, 1); 
    WiFi.init();
}

// This is the webpage that is served up by the webserver
const prog_char webpage[] PROGMEM = {"HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n"};

void loop()
{
    WiFi.run();
}

-------------------------------------------

/******************************************************************************

  Filename:        webserver.h

******************************************************************************

  Based on the TCP/IP stack and driver for the WiShield 1.0 wireless devices by Async Labs Inc.

*****************************************************************************/

#include "uip.h"
#include
#include "webserver.h"
#include "config.h"

static int handle_connection(struct webserver_state *s);

void webserver_init(void)
{
    uip_listen(HTONS(80));
}

void webserver_appcall(void)
{
    struct webserver_state *s = &(uip_conn->appstate);

    if(uip_connected()) {
        PSOCK_INIT(&s->p, s->inputbuf, sizeof(s->inputbuf));
    }

    handle_connection(s);
}

#define ISO_nl      0x0a
#define ISO_space   0x20
#define ISO_slash   0x2f

#define ISO_R   0x52
#define ISO_G   0x47
#define ISO_B   0x42

#define ISO_O   0x4f

unsigned char ch;

const char http_get[5] = {0x47, 0x45, 0x54, 0x20, };    /* "GET " */

unsigned short fill_buf(void* blk)
{
    unsigned short webpage_len;

    webpage_len = (strlen_P(webpage)>uip_mss())?uip_mss():strlen_P(webpage);

    memcpy_P(uip_appdata, webpage, webpage_len);
    return webpage_len;
}

static int handle_connection(struct webserver_state *s)
{
    PSOCK_BEGIN(&s->p);

    // read incoming data until we read a space character
    PSOCK_READTO(&s->p, ISO_space);

    // parse the data to determine if it was a GET request
    if(strncmp(s->inputbuf, http_get, 4) != 0) {
        PSOCK_CLOSE_EXIT(&s->p);
    }

    // continue reading until the next space character
    PSOCK_READTO(&s->p, ISO_space);

    if(s->inputbuf[0] != ISO_slash) {
        PSOCK_CLOSE_EXIT(&s->p);
    }else{
        if(s->inputbuf[1] != ISO_space) {
                if (s->inputbuf[1] == ISO_R){
                   digitalWrite(14, 0);
                   digitalWrite(15, 1);
                   digitalWrite(16, 1);
                }
                if (s->inputbuf[1] == ISO_G){
                   digitalWrite(14, 1);
                   digitalWrite(15, 1);
                   digitalWrite(16, 0); 
                }
                if (s->inputbuf[1] == ISO_B){
                   digitalWrite(14, 1);
                   digitalWrite(15, 0);
                   digitalWrite(16, 1); 
                }
                if (s->inputbuf[1] == ISO_O){
                   digitalWrite(14, 1);
                   digitalWrite(15, 1);
                   digitalWrite(16, 1); 
                }
        }

    PSOCK_GENERATOR_SEND(&s->p, fill_buf, 0);
          }
        PSOCK_CLOSE(&s->p);
    PSOCK_END(&s->p);
}


The slides of my presentation can be found at http://www.stef.be/barcamp/bca4.html  (click for the next slide)
They are not very usefull without the talk, but still ...

 The Tech45 podcast was also present and made a special Barcamp Antwerp4 edition (with a little interview with yours truely, hopefully online soon)
Marco Frissen made some nice pictures
web_BCA4-0026
More here

 


Thanks @cubus and @ichoosr for a very nice Barcamp, and thanks to the sponsors GVA, Sw�rl, Stad Antwerpen, Krimson, Just-Eat, Digiti, Belgian Cowboys, iChoosr

Tags: Arduino, in English, TinkeringGeef je reactie (2)
 

Webgang

a picture called 88317678_4eb20fc058_z.jpg (click to enlarge)

This thursday I was happy to be invited by  the Webgang team of the wonderfully weird independent radio station Radio Centraal to talk about my contraptions and "The internet of things" in general.
I mostly know Radio Centraal as the perfect audio companion for pulling an all-nighter, helping you to achieve that trance-like mood with their superweird audio collages that helps you get through the night.
During daytime, the air is filled with a broad range of alternative programs, all shouldered by volunteers.
Very pleasant talk!  I plugged the upcoming barcamp a bit too.
I completely forgot to record the audio stream but if you want to know what it was about: get your ass to Antwerp, Saturday september 11th for barcamp, where I'll demo and explain my latest tinker-concepts.

(The picture above is by croki

Tags: in English, LifelogGeef je reactie (1)
 

Use your Android phone as SD-card reader for your iPad

I'm loving my iPad - that's easy because it's so lovable, but at the same time there are so many things missing ...
One particularly annoying thing is the absence of USB-ports or SD-card slots.

Yes, sure, you can hook it to your laptop and use iTunes to sync "some" files, but what if you're one the go, or just want to transfer some files when you're at a friends place?

Let's face it: How many times did you mail a file from your iPhone/iPad to yourself or synced it with Dropbox just to get it from one device to another?
That's fine (really?) with small files, but what if you want to transfer several GB of data, like movies or whatever?

Here's what I'm doing when I'm on the move: Using my Android phone as wireless SD-card reader for the iPad.
Works great!
 
If you're on Android 2.2 already, You're phone can act as wifi router for other wifi enabled devices.
android_2-2_froyo_wifi_tethering

This is perfect for the iPad as you don't need the 3G version: the Pad just piggybacks the 3G connection of your phone to get online.
And, as this places the iPad in the same local network as your phone, you can also use it to transfer files.

One way is the share your files with a free app like File Expert for Android
You select the folder you want to share (e.g. your entire SD card) , select the share method and your done.
desktop1 popup_menu s2

Now you can use any browser on any connected device to access your files.
Just point your browser to the url you get from File Expert and there you are.
Granted, it could use some CSS styling but hey: it's Android remember: it's a geek thing.

You can open most media files the iPad can handle directly from the browser, like images,mp3,mp4 video, ...
But for other files it's makes sense to download them to your iPad.
A nice app for this is filer which is basically a browser that let's you save any file. (why this isn't included in the standard mobile safari is beyond me ...)

It works great - even for very large files.
I'm getting transfer rates of about 20 mbit/s.
This is a local wifi network: no other hardware is involved, just the phone and the iPad.

IMG_0015 
IMG_0016

Then you can open them from within the app, or send them to another app that is registered for that specific type of file.
For example: you can copy the eBooks that are on your phone and open them in Stanza on your iPad. 

IMG_0017

If you have to transfer lot's of files at once, it's faster to use FTP sharing with an FTP client like FTPonTheGo or FTP Deluxe
If you want to directly access the files from other apps (like the iWork apps, or the notes, or any other file) you'll have to jailbreak your device and use something like the brilliant iFile which gets you access to your entire iPad file system.

The other way around is also possible of course: to get files off your iPad you could use something like the expensive Air Sharing app or the iFile built in web server to do the reverse: share your iPad files over the web and access them from another device using the web browser.
IMG_0023 8

So:
When I'm on the move I use a MicroSD card in my Nikon D80 to shoot pictures, then insert the SD card in my HTC Desire and copy them all to my iPad.
Or copy some new movies to the iPad for the kids or just exchange files on a meeting or ... whatever.
MicroSD cards are far cheaper then spending €200 extra for the 64GB iPad model and more useful as you can use them in any other device.

My motto still holds up: just stick a web server on anything digital and you can do what you want.
HTTP sharing like this should be standard - and more polished - to any connected device IMHO - the horrible iTunes software  is at the end of it's usefulness and any way to sidestep it is a good move.
Wireless file sharing, syncing and media access is the inevitable future and no doubt Apple will one day have to come up with a proper iTunes-in-the-Cloud solution.

All in all it seems the iPad-Android phone is an excellent combination: use the iPad as the great reader, media consumer and creative toy as it is, and use the Android phone to fill in the (numerous) blanks.

Tags: Gadgets, in EnglishGeef je reactie (0)
 

Obsessed with sound

Philips is obsessed with sound.
They're launching a whole new range of audio consumer products with their new technologies.

I had the pleasure of attending a product launch to hear it with my own ears.
Ok -  first things first: they sound pretty good AND they look pretty good too :-)

image image  image 

Could be a cyborg big brother of  image no? 
 
Audiophiles may twinch at their audio-altering technologies as SoundSphere and Fullsound but to my humble ears, they do provide richer experience.

I can't help but feel their frustration though: they have to squeeze in their products in an almost impossible position:
One the one hand there are the mainstream media consumers that are so spoiled these days: they want everything in an impossible small gorgeous looking package for a low price - and on the other hand there are the media geeks with there zillion connected devices that want cool looking gadgets with al the new media features that change so rapidly these days.

For example: product lines like Philips Streamium wants to address both audiences but fall somewhere in the middle: a little overkill for the first and not too much for the latter.
Non-tech people have no need for streaming features and Tech-people already have a gigantic media library on their computer or laptop and don't want to spend €1000 on a device that tries to do the same.
Their niche must be incredibly small, IMHO, but you have to admire Philips for trying to keep on innovating.

So in that light: here are some new ideas for Philips to integrate in their next product line,
Just some thoughs that would swing over my vote:

  • the Steaming now has an nice little touchscreen attached on top of it for the controls. that's nice but 2 words are important there: it's little and it's attached.
    You can also control the device with the remote but the screen is so little that you end up standing 2 feets away with the remote just to be able to read what's on the screen.
    Why not make the screen detachable as little touchscreen remote control that you can take with you in the sofa or in the kitchen? Or even better: the device is already connected to Wifi, so why can't i use my mobile phone to control it? Sonos has scored a major hit with their iPhone app to control their devices and for a reason.
  • Whatever you do as remote: PLEASE STOP USING THOSE STUPID INFRARED REMOTES ! they are a relic from the past. they are an inadequate one-way dumb control system. expecially for a media device, I want feedback what song is playing, I want to browse the currentplaylist from my remote, select another album ...
    Please provide some other form of interface, ideally some media network protocol so it integrates with all the devices one already has instead of just adding another and another and another remote control.
    Again: it's a safe bet the the kind of people thet buy these things, especially the streamium, already has a decent mobile phone, so provide a way they can use that as remote.
  • Speaking of mobile: it's great to provide a great sounding iPhone dock like the Fidelio dockingspeakers, really sounds good, but doesn't it strike you as a bit weird that you have to put 1 pocket sized device in the dock, and then take another pocket sized device to act as remote? why can't i just stream my music from the iPhone, or any other phone to the dock? And if you produce your own portable media player like the GoGear muse, why on earth isn't it compatible with your dockingspeakers? would it be so much trouble to also provide the proper connector on the GoGear Muse - seems to me a win-win for both devices.
  • the Immersive Sound home theater with 360 sound does sound truly great, and Philips is planning to offer a set with 2 wireless speakers on the back. Why only 2? I would pay a good deal of money extra if all 4 speakers would be wireless. Ideally, provide some battery capacity so I can detach the speakers for a few hours to put them in the garden or kitchen e.g.

 

image I got to take the GoGear Muse player with me to test. Thanks!
Portable media player are an extremely crowded market these days and I must say I was very skeptical about the player: "Why even bother?"

I was wrong and pleasantly surprised: it's actually a very decent media player.


Plus points:

 

  • very solid with it's brushed aluminum case
  • plays all kinds of media formats, including e.g. Flac and Ape Audio and Divx/Xvid video - a HUGE plus for me as most of my (rather big) video library is in Xvid - Eat that iPod! (no AC3 decoder though)
  • Micro SD slot. Yay! - again: YAY!  Eat that iPod!
  • HDMI out. Whoa! -  again: WHAO! I didn't expect that of a small device like this. works really well too. plays 720p video on a big screen.
  • Touch interface is pretty snappy. I kind of missing a hardware back button as the onscreen one is a bit smallish.
  • Pops up as external drive on your Mac or PC for easy file transfer. Eat that iPod
  • FM radio: an oldie but a goodie and often overlooked.
  • the "Sound-Isolation" ear phones are really good. Even I can hear the difference :-)
  • Integrated Microphone for audio-notes. Nice touch.

Less good points

  • The 3.2 HVGA screen is a bit small for video, especially as there is a lot of unes space at the front of the device left. a bigger widescreen would be nice.
  • Battery life is more then enough for audio but "only" 4 hours for video. standard values but I expected a bit more.
  • The songbird software is PC only and a bit ... euhm ... crap. Luckely you don't need as you can manage it with any other Media organiser.

Verdict

All in all a good looking, good sounding small media player - certainly way better then the original (non touch) iPods.
If you're still in the market for a portable mediaplayer - this a good choice.
I know it was a godsend for the "kids-during-long-car-session" as I didn't had to convert a single media file and could swap music, audio books and movies straight from my mobile phone using the Micro SD card.

Thanks Philips for the product demos, and it must be said it was a GREAT location.

 

Tags: Gadgets, in EnglishGeef je reactie (0)
 

Under-the-Tree Sketches part 2

2 more Under-the-Tree sketches.
not good ones.

b3b 
b4

the last one is already way past it's "you-really-should-stop-now" point.
I always know when I cross that line but very rarely actually stop there :-)

Tags: Graphics, in EnglishGeef je reactie (1)
 

Lo-tech Sketching

2 weeks without internet and gadgets: what a treat! :-)
Sitting under a tree, one of the most relaxing things - for me at least - is drawing. There's something very Zen like in the way the pencil point scratches the surface, leaving a gentle trail that slowly reveals what's been hiding in the paper.
Unintentionally, there's seemed to sneak in some sort of theme in the sketches I made.
Here are 2 of my drawings.
No title as of this moment, we'll see if they ever link together into something meaningful.

b1
b2

All made with my favorite pencil: a black automatic pentel P205A pencil with 5mm HB fillings in my little square sketching journal.  

Tags: Graphics, in EnglishGeef je reactie (1)
 

Sing along

De Witte Merel zingt
My little project of last week was to produce a CD for the school of my kids.
This year's theme was "music" so a CD of all the children songs seemed a nice present for all the proud parents.
We collected all the recordings people had made during the year and made a few new ones.
I love fiddling with knobs and music software so I volunteered to "spice up" the vocal recordings, adding various instrument tracks and brushing up the vocals.

I mostly used Adobe Audition for audio restoration and Ableton Live for the editing, arrangements, mixing and effects.
Ableton Live really is an amazing piece of software: a perfect example of fitting a gazillion options in a clean and intuitive interface, very fun to work with.

It was too bad that some of the base recordings were really crappy, taken out of cell phone video recordings and such, but oh well... there was no way to redo those recording so I had to work with what I had. 
I'm far from a decent sound engineer and half the time i was just "doing random stuff" until it sounded about right, but i was enjoying myself :-)

If someone has some good tips how to improve those lo-fi cell phone audio recordings, please let me know as I have no clue how to do that.
Obviously it's not possible to create oranges out of orange juice so maybe those recordings are just "lost", but still, maybe someone knows how to make them sound less sharp and narrow.

To finish it up, I created a custom media player in Flash for the website at http://www.wittemerel.be/zingt/
Enjoy and sing along if you speak Dutch! :-)  

Tags: in English, MusicGeef je reactie (0)
 

Open Source Telenet Digicorder API

a picture called telenetdigicorderAPI.jpg (click to enlarge)

A few months ago, Telenet finally made the jump and opened up their digicorder devices to be controlled through their TV web portal TV.be.

Nice!!!
Finally you could schedule your TV recordings from anywhere using a web browser instead of a infrared remote and the dorky digicorder interface.

Controlling media devices through web interfaces happens to be one of my sweet spots so the first thing I did was firing up Firebug to see what kind of communication was going on between their various web applications.
They've done a really good job, as they created an internal API to talk to the digicorder.
Figuring out how the API works has the same attraction as seeing a crossword puzzle in a newspaper: it tickles your mind but at the same time it's not too hard and with some time and logic the puzzle is quickly solved.

So, let's get to work to create a more open API to control your TV recordings from any software package you want instead of only through the tv.be website.

First step: login
Telenet uses a single-sign-on system, providing a token that authorises you as "logged in" and that you can take with you to other sites.

It sends you on a redirect path towards multiple domains - telling each domain you have logged in.
The script just recreates that path and makes sure to collect and pass all cookies to the next step. (That's really easy in .net - just use the same cookiecontainer for each request)
After that you can use the Telenet remotePVR API from the script as an authenticated user.
One problem though: to schedule a new recording you need the eventID of the program you want to record.
That's where tv.be and some good old screenscraping comes in: a Channel listing for each day is requested on the tv.be website and the EventID codes get extracted and saved to a local cache (so we don't have to hammer the tv.be site more then we need to)
Technically that might be against Telenet's Terms of Use policy, but hey - we're all in favour of free and open data, aren't we?
That's it.
I created a more simple API as .net wrapper class with the following syntax

Dim tvbe as new tvbe
tvbe.login()
tvbe.logout()
tvbe.recordings()
tvbe.reminders()
tvbe.zenders()

In a webapp that translates to URLs as

/login
/logout
/boxes 'gets info on your digiboxes and digicorders
/recordings
'gets a list of your scheduled and completed recordings
/recordings/schedule/ID
' schedules a new recording, ID is an eventID provided by tv.be
/recordings/delete/ID
' deletes a recording, ID is an eventID provided by tvbe/recordings
/reminders/ 'gets a list of your scheduled reminders
/reminders/schedule/ID ' sets a new reminder, ID is an eventID provided by tv.be
/reminders/delete/ID
' deletes a reminder, ID is an eventID provided by tvbe/reminders
/zenders ' (short)list of available channels
/zenders/channelname ' program guide of the channel with name "channelname"
/zenders/channelname?date=dd-mm-yyyy ' program guide of the channel with name "channelname" of a given day 


The sourcecode can be found here.

Update:

After a (very friendly) request from Telenet I'm taking the sourcecode and the demo application offline.
However I do hope I can contribute following their open invitation to help unlock their digital services towards a more open communication (API?) in general and mobile devices in particular.
To be continued ...


As a demo I created a little frontend for the API for use on mobile devices.

http://tv.stef.be it is.

You can use the TV guide without login in, but if you want to manage your recorders you have to create an account at tv.be (and be a Telenet Digital TV customer of course) 
It's a bit of a trust-issue to enter your telenet credentials in a "rogue" app like this, but i can assure you it's safe: your credentials are not stored anywhere and are only used to pass through the Telenet login sequence.
If you're still hesitating to enter your login, you can grab the source and try it on your own machine.

Here are some screenshots.
image image image foto

 


The API still has some holes, mostly because not all tv.be content is easily available.
Most important i would love a simple system to convert EventID's to program names and vica versa, maybe if i ask the tv.be people nicely? :-)
Also it's not really suited if you have more then one digicorder.
A search function would be nice ... maybe I'll implement that.

Of course it works fine as long as Telenet doesn't change their internal API, which is always a risk, but well,  then the cat and mouse game can continue.
I was planning to build an Android app for it but actually http://tv.stef.be works very well on mobile devices and since you still would need a data connection to talk to your digicorder, why would you create a native app when a webapp will do?

Happy recording!

Tags: in English, Mobile, Programming, Scripting, Web 2.0Geef je reactie (13)
 

Cracklin Rosie on a Whole Lotta Mobile Phones



Who said iPhone OS, Android and Windows Mobile don't play well together?

Music apps are a really cool type of mobile application, they let you you unleash your musical creativity wherever you are and are perfect to jot down a quick idea or to jam along.
For years one of my favorite pastimes on the train was to do some retro musictracking with the brilliant Milkytracker, but this time I needed something more.
It turned out to be somewhat geeky, even for my standards :-)

 image image
The Phone Guitar is born out of a presentation I'm going to do next Saturday on MobileCampBrussels about mobile cross development.
To put my money where my mouth is, I decided to create the same mobile app - a small piano/drum sequencer thing -  on 3 mobile platforms: Android, Windows Mobile and iPhone OS.
As a developer I didn't quite succeed: audio latency is a b*tch and building the app from the same source proved to be possible but unusable, so I ended up writing it three times: in java for android, in C# for windows mobile and in Objective-C for iPhone. More on that later, but boy did I have fun playing with it :-)

To play them all at once I just taped them on a piece of wood together with a battery powered speaker.
Add lots of audio cables and TADAAA: a very playable guitar shaped instrument that makes a hell of a noise :-)

I added Pocket Stompbox, a virtual amp with lots of great real time effects and of course the FANTASTIC iShred app from Frontierdesign

In screenshots, the setup looks like this

 imageimagepianopianoimageimage

Instant gratification! Rock on!!!

Tags: Gadgets, Mobile, Tinkering, VideoGeef je reactie (16)