Category Archives: apps

Finally released: new KrakenFX app to trade on the Kraken exchange

Over one year ago, after noticing the lack of a mobile app to trade on the Kraken exchange, I set out to build one. A good opportunity to learn React Native I thought. After some months of hard work it had all I wanted. But when I was already using it myself for a while I lost interest. Well, maybe also because the whole crypto market crashed. Anyway, I (literally) took distance and started traveling again.

But a little over a month ago I broke my hip and could only lie down. I was separated from the world and stepped into my programming bubble once again. And so I finally manage to finish up the app, so I hereby want to present to you the first production release of the new KrakenFX app for Android (iOS still pending review).

I specifically wanted the app to stay simple, beautiful and easy to use. Because some of these apps out there are so ugly and hard to grasp, it just made me cry ;p

So why don’t you head over to the Play Store and try it out? It makes trading on Kraken fun again. Their api rarely times out nowadays, which tells me that Kraken has made an effort to stay in the game as one of the major exchanges.

iOS 12 shortcuts review

The purchase of the Workflow app by Apple, and releasing it as Shortcuts app in their latest iOS 12 release, is a step forward in personal automation if you ask me. A huge step, but let’s zoom in to what is possible from a developers standpoint.

Shortcuts are a succession of actions, like ones interfacing with the native device capabilities exposed (camera, maps, text messaging etc), script actions such as setting/getting a variable and looping over a list of found/selected items, or even other inline shortcuts. When working with them you find that you can almost always find a way to realize the idea in your head with the building blocks provided. But that is exactly the limitation of the current implementation. They are linearly executed predefined building blocks that take an input and create an output. This leads to very cumbersome programming, with simple constructs like filtering/sorting becoming a huge headache.

In order to execute function-like behaviour you typically first park the main threads value in a variable, then extract what you need into new variables, do some processing (recursion or looping bringing even more headaches), and then ‘get variable’ to come back to the main thread. I find myself wishing for a real scripting environment all the time. Of course Apple tries to keep the attack vectors to a minimum with this approach, but maybe in the future a proofing layer over a scripted approach can achieve the same result. Making us developers happy shortcut coders.

But, being a power user seeing automation possibilities first of all, I felt the need to create some shortcuts. I spent quite some moments in my car lately, and am disappointed about Siri’s shortcomings when it comes to dictation in other languages and delegating results to other apps. So I created the following shortcuts:

  1. Dictate to Siri in my native language (Dutch), while operating her in English, and copying what I said to the clipboard (to be used in subsequent actions).
  2. Run other shortcuts that take clipboard contents as input, like automatically translating to english.
  3. Match a certain contact from voice/clipboard input  (like from step 1)
  4. Extract maps location from voice/clipboard (which can contain an address of type Text, or a found Contact with one or more addresses)
  5. Navigate  to (selected/clipped text, apple maps location or contact) with the app of my choice: Waze, sometimes Google Maps.
  6. Drive to a contact, or home, with Waze.

As you can see I have named the shortcuts with “>” in front (expressing it expects a previous input), or with “>” behind (expressing it is a building block for other shortcuts). I hope these shortcuts and it’s implementation details can serve you as well. I still have to find out how to publish my shortcuts in an open source manner like on GitHub. Maybe I will just create a repo with a doc of iCloud hosted shortcut URLs.

UPDATE: I have done just that and published my GitHub hosted shortcuts.

Have fun breaking your head over this new functionality!

Oh Danalock

Ok, I have had it. I am so frustrated about my Danalock lock and app that I have to tell the world what is bothering me about it.

My Danalock v2 was not strong enough (and was ugly big), and broke it’s internals after some rotations. Ok, so Danalock didn’t want to refund me for v2, but offered to buy v3 for half price. Take it or leave it. So, with a bitter taste in my mouth, I took it.

V3 fared better, and lasted a year. Then it just fell off, and the company admitted that the mounting ring must have worn out. So they sent me a new one and it works again (for a year?).

But what frustrated me even more was the app. It was the most broken UX you imagine from the start, and they never managed to make it any better. I strongly advised them to hire a good UX team, but they only made features less usable. Check out what my guests now see after they finally managed to make an account:

Disconnected Danalock interface
Disconnected Danalock interface is meaningless,  ambiguous and confusing.

Actually, the red and green icon is greyed out and only becomes coloured during their stay. Ok, I can live with that. Most guests understand that, but a lot of guests keep asking me about what is going on. Those that have an active key, and still see the button halves (indicating that the app has trouble connecting via  bluetooth to the lock, because not in range or flaky) start pressing the button halves to discover that they have “no rights to unlock the door remotely”. Where in the interface does it even become clear that remotely opening doors is an option? Sure, Danalock offers a “danalock bridge” but I don’t have one registered on the lock, so why offer that interface to the users??

Then, when they arrive at the doorstep and manage to connect with the lock the interface changes to this:

Danalock confusing interface
The most simple Danalock step has the worst UX you can imagine.

What button would you press to open the lock? The big fat green one, right? WRONG! You have to press the small red one. (The green one deep-locks the door!) How simple could it be? Maybe two buttons that say “open” and “lock”?
How they conceive of such a confusing interface is beyond me. If a user test group would see this they would certainly fail to use that app. I suspect the Danalock developers think they are smarter than their user base.

But why did I choose this lock above others? They offer airbnb integration. Check out their promise, as it is nowhere near what they deliver. It never managed to work because of the following:

  1. I have to choose which listing to associate with the lock, but I want them all associated, as I have multiple rooms in one house with one lock. Why force that choice?
    I suspect this related to issue #2, as I sometimes reassociate the lock to another listing when a booking comes in:
  2. Invitations send links that always seem to be expired, frustrating guests, so I still have to send one manually.
  3. I can’t send invitations on the day that my guest arrives (or even tomorrow!), so I can never serve short bookings. Why have that limitation?
Failed Danalock AirBnB integration
Danalock shows past reservations as “cancelled”, even when they are one day in the future!!

So I was very disappointed and quickly avoided that shitty part of the app, and started sending links manually. But then my guests started complaining about manual invitation links also not working or being expired, even though I just sent them, within the 24 hours on the next screenshot:

Why does Danalock let invitations expire? It makes no sense.

Again, their “smart” developers introduced limitations that don’t serve any business purpose. Not only that, their links miraculously expired even within the 24 hour time window! These bugs managed to frustrate our guests so much, that our airbnb ratings for “Check-in” experience started going down. So with text messaging I had to prepare my guests for a not-so-nice-and-sometimes-failing experience, because I needed them to be able to come in with that app!

But what is bothering me most about all of this is the lousy stance Danalock has to bug reporters like me. Instead of supporting us and evaluating our needs and grievances, we are left in the cold. One year ago, after threatening to tell the truth about my experiences to the world they immediately changed their tone and stopped defending themselves and used polite language in their responses. Months later they introduced zendesk, but none of the grievances were met. More guests got put off by their product. Nothing has changed in over a year of me trying to work with them. Nothing but hiding behind their choices for their stupid logic and promises. Leaving me with cleaning up their mess, and making me do way too much work to manage guest entry to my property.

So out it is, from the bottom of my festering gut…let’s hope this post helps to bring focus to the Danalock team.

Milieuzone Utrecht app

De gemeente Utrecht is de eerste met een verbod op 15 jaar oude diesel auto’s in het centrum. Omdat ik het nogal problematisch vind om mijn 15 jaar oude BMW 530D -die ik met zoveel liefde heb behandeld- weg te doen, heb ik een app gemaakt die me waarschuwt wanneer ik de milieuzone nader.

Ik heb de app aangeboden aan de app store, en wacht op bevestiging. Ik heb hier alvast een pagina aangemaakt met details over de Mileuzone Utrecht app.

Ook heb ik hier een web versie online gezet: de web versie van de Milieuzone Utrecht app

Mocht je er wat aan hebben, dan zou ik het leuk vinden als je een reactie plaatst 🙂

OSX – use the force

Ever since I was young I knew that I would be always automating a lot of my computer work, in order to achieve things better and faster. My motto became: fix it when it breaks, or needs fixing, and do it asap. That way you benefit immediately, and will save you time in the future.

After having tried Windows and Linux, I arrived at Mac OSX, which has more powertools than the other OS’s, and has the most user friendly Graphical User Interface. And all that on top of a UNIX base, allowing me to hack away in the terminal.

I have just updated my OSX apps section, where I list most of the apps that are essential to my everyday computing. I thought it wise to share ’em with you all.

To give your even more power user skills, I have also published Google documents of my last OSX power course training here:

Use the force Luke!


Android hemroids

I am a genuine late adopter of modern technology. I do see a lot of it coming from miles away tho, and try to get in touch with it before it arrives. Read up on it, let it sink into my stubborn brain cells.
And so I fell in love with Android long time before it was found on any commercial device. As a programmer I immediately fell for it’s architecture, it’s intents, it’s openness.
While waiting for the baby to mature, I read up on the first user experiences and decided to wait a year more, before trying it out myself. Being very fond of my iPhone User eXperience, and a Linux user, I was very reluctant to try another open source OS.

So I finally decided in 2010 to buy the Goog’s Nexus One, and treat myself to a whole different mobile experience. No cruft, straight up android from the core.
Nice new features, integrated messaging and notifications, free navigation, supported rooting, a dream come true from a programmer’s perspective!

But then the wet cement started coming up through the cracks, reminding me of the slow, shaky and ever evolving Linux OS’s. Why would it be different with Android? Marketing? A larger user base? Of course not. The foundation is the same. Openness breeds variety, and the lack of control allows buggy software. It just kills the user experience when there is no senior top of the pyramid overlooking a coherent interface to it’s OS, but also it’s ever growing list of apps.
Android’s choice to let performance measures come from the community itself, rather than exert dominant control over such an important aspect, resulted in an unresponsive and sluggish device. Trying and uninstalling many task killer and performance apps trained me to keep it into shape somewhat, but how cumbersome!
But the most irritating to me was the fact that the Android market became the waste bucket of successful iPhone apps, with even the largest web services out there offering alpha software. Not only were most of them very buggy, but it seemed that the android user base was treated like the linux user base, expected to not care about user experience, but openness and features only.

And that is what made me sell the device after 2 months of trying very hard to make the device perform acceptably, and go back to my good ol’ iPhone 3Gs.
So I decided to give Android more time to mature, and hoped the inevitable growth of it’s user base would demand top notch user experience. Boy was I wrong.

2 years after my first encounter I now own a quad core Asus eee prime monster tablet running the latest ice cream sandwich, holding more power than necessary for a smooth user experience. Or so I thought.
ICS 4.0.3 is still not controlling performance and has apps running wild, interfering with my user experience.
The apps I use most, such as Facebook, Spotify and Twitter, are all cream of the crap. Offering the same crappy UI and limited functionality like years before. But I can’t really blame app developers for not wanting to support an OS that does not deliver the same functionality on the multitude of devices churned out every day. I do have to see that as a given from now on I guess.

What was I thinking? I should have realized that the same lack of control over performance and apps, and also the increasing complexity of hardware support are truly hindering front of the line, top notch mobile device experiences.
Apple has been criticized by that same android community for exerting this kind of control, and app manufacturers have been honed for only supporting Apple’s stable unified hardware approach. But being an open source advocate, I am also a power user in need of a user experience allowing my quick and intuitive workflow. My day to day operations are not to be hindered by sluggy OS’s and unusable apps.
There is no choice for me but to go back to Apple’s stable, and ride their willing and able iron horse, taking me into the camps of the fronteers, letting me indulge in their nourishing stream of app cream.

Group Messaging needs to grow up.

I recently developed the need for a real time group messaging system that allows the members to subscribe to topics and tags. Posting messages in such topics or including such tags would then result in a push notification to the subscribers mobile devices.
The admin of the group could create a taxonomy for the groups context, and members could contribute to the taxonomy, based on an approval system.
This allows for subscribers to carefully decide themselves what messages they want to receive, instead of somebody else deciding for them that they are interested in.

You see, because I hang out with a loosely organised group of artists, freelancers and randomly creative individuals, we need a tool to be able to mobilize each other, but only the people interested in the joint venture at that moment. So we want to create a list of topics/tags and locations to subscribe to. We want to keep informed of only what we subscribed to. The group is just too large to blindly spam everybody with every message.
And since we are often in the pre-organising fase, we simply want to be able to tweet a message including one of these tags to elicit interest and motivation to those possibly wanting to cooperate.
Not only that, sometimes we simply want to mobilize a group of individuals to meet at a certain location. Last minute spontaneous action.

Well, after doing some research I found some great and promising startups in the group messaging industry, as that industry is taking off like storm.
I really like the irc-like Convore, and posted my feature request there, but no answer yet. Too bad none of the tools I looked at (Beluga, GroupMe, Kik) offer what we need. Sure, there are some forum-like tools that send you an email when somebody posts in a thread, but none of these tools allows for subscribing to a taxonomy. Please correct me if I’m wrong.
I think most of these tools are truly helpful after the fact of organising structures. When all the roles are defined, the players are known, and from there it’s just a matter of communication and collaboration.
Not what we need.

So, because I am a programmer, and therefor lazy by nature, I want to appeal to the group messaging industry first. By asking them to incorporate such a mechanism in their platform, so I don’t have to build it myself.



It was around 11am a coupla weeks ago, and I was happily coding away on my 3 yr old Dell XPS 1710 running Ubuntu 8.10 (and it was running fine too), when it suddenly gave in to some cosmic dust. Or whatever else that made it go bust. I was not too pleased ofcourse, and had to get myself another laptop asap to get back in business (and keep the company that hired me happy). So I went online to get a good deal, but couldn’t resist that voice in my head that said: “its time to get that Mac now boy”. And so I did, I fell for the powers of the dark side and got myself a brandnew MacBook pro. Hoping to find comfort. Which I did find, but lost pretty soon afterwards.

See, I was happily installing and configuring, using my new friend quicksilver, when after 2 days it wouldn’t start up anymore. The infamous question mark folder appeared after the infamous white screen of death, leaving my macbook locked for ordinary humans like me. Google couldn’t help me. Nothing on the net could help me out. On day one I installed all the updates it could find, so I figured all would be well. But no. I even reinstalled OSX that night, only to be left with the same white screen and questionmark folder upon first reboot. I was, however, able to deduct that the hard drive was fine (because disk utility said so after each test).

So the next morning I gave the machine back to the store, which gave me an entirely new macbook in return the next day, telling me they found the harddrive to be faulty (!). Too bad that I never got the chance to backup all my work, so I decided to do that every so often from now on. And that was no luxury decision. Because after another 9 days the same problem happened to me again! And again I could tell that the hard drive was fine. So I went back to the store and told them about my findings. I even mentioned my suspicions about a flaw in the EFI boot loader, because both disks proved fine. I asked them to backup the goods on the harddrive (which they said they would). But when the store gave me back my machine (after 3 days!), they said that they changed the harddrive because it was faulty (?). And when I asked them where my files were, they said that somehow that information was not given in time to the tech ppl. NOOOOOOOO! So much time lost! (back to scraping the interweb). They did however tell me with a friendly smile that they had already preinstalled OSX for me. How nice!

In the mean time I had found more posts regarding my macbook’s symptoms. Many people believe it has to do with a flaw in the EFI bootloader, but which is denied by Apple themselves. So by now I was worried that this new harddrive wouldn’t be the solution to my problem and wanted my money back. Hell, I can’t work on-site as a freelance programmer with a failing laptop! They would not do that however, hiding behind saying that the period in which I was able to do so expired. But when I asked them how long a period that is, since I only had it under 2 weeks, they said “we cannot disclose that information”. How frikkin weird and customer unfriendly that came across, you can imagine.
So off I went to work again, reinstalling my time machine backup, working through lots of hickups because of broken symlinks and files that disappeared somehow. (Strange.) But then I realised that my screen was too dim, and had only about 60 to 70% of the brightness as my first macbook pro. So I went digging on the net, and eventually found out that the store’s technicians had preinstalled one of the most ancient versions of OSX from late 2007 (9G55). And it was known to have a brightness issue. But worst of all, it had kernel version 9.6.0, which wouldn’t be upgraded to the current 9G2141 version with 9.6.2 kernel (that is on my install DVD). For heavens sake! Haven’t you Apple store airheads caused me enough grief?! That night I had to redo the entire days work. All in all I have lost over 3 billable days to this sharade. Pfffff…

Did I tell you that I have a friend who had his Mac repaired 5 times within half a year? Stoopid me knew this, but I decided to buy one anyway. Hoping that wouldn’t happen to me, reasoning about Apple selling controlled hardware with specialized software.

So whats my advice? Don’t buy one? I am not saying that, don’t get me wrong. Maybe I am the victim of a poor hardware/software combo, and if so, many with me (do you? is that how you found this post?). And I certainly feel that I was not helped by the Apple store and its crew, even though they were a smiling and friendly bunch. But I like a LOT of my Macbooks offerings, and am certainly willing to spend all that time to get used to its crippled keyboard layout (no delete key, no right CTRL key, bad keyboard mappings in Terminal), or find ways about cut and paste not working in Finder (only drag and drop will work, how painful!), or … pffff, what a list that has become. But like I said, I am willing to go ahead with it. After having had the pleasure of Ubuntu’s super functionality, I am crazed about the crispness of OSX. And to be able to use Quicksilver in all it’s might, as opposed to the flimsy wanne-be Gnome-Do (which not only lacks Quicksilvers usability and true powers, but also lacks a good team leader with vision in my opinion, you can find a post on this blog about that here) .

Anyway, it’s been a week now, and I haven’t had any problems since then. Time machine is backing up right now, using a custom sized sparsebundle on my external harddrive (thanks to a little app called TimeTamer).
Lets hope I don’t run into more MacDrama (which is how I dubbed my macbook :p). No coincidence. Did you know my first nickname is MoDrama?

Next time you check in here I hope to have filled up my fav OSX apps section. It will be worth checking out!

1995 is here!

Did you read my previous post? 1995 is here. Well, almost. I can now listen to or view any track, video or stream I want, since I have added dTunes and PwnPlayer to my iPhone. They rock!

dTunes is an alternative to iTunes. It doesn’t support podcast downloading/viewing (iTunes does that well and for free anyway), but does offer:

  • torrent downloading with a webinterface defaulting to website;
  • a SeeqPod interface enabling almost all of their online functionality such as:
    • searching/discovering/browsing music/video:
    • downloading/streaming music or video files;
    • browsing my Podlists (SeeqPod’s online playlists). Problem is that it wont let me start playback of a playlist, nor let me create new Podlists. So I am left to downloading/streaming one track at a time. (And that suxx, so where’s the SeeqPod app?)
  • a TinyTube interface (providing PDA-screen optimized video’s from well known 3rd parties);
  • shake and play: turn the feature on and shake yer iPhone to let it play shuffled songs 🙂

How kool is that? But like I said, one problem is that it won’t allow me to create podlists , so I am tempted into downloading tracks for later organising (which I am trying to avoid). However, at other times you are likely to rip your own or somebody else’s cd’s. So you are bound to collect media files sooner or later anyway. And for that we have the PwnPlayer, which is an alternative to the original ‘iPod’ player. It does everything the iPod player does, plus:

  • filesystem browsing and playing;
  • on the fly playlist creation.

One problem with the PwnPlayer is that it’s not so easy to sync it with desktop music apps like RhythmBox. (I think there are ways, but it involves hacking xml files on yer iPhone.) I use AirSharing to move files to its public folder on its webdav server, and created a symlink to that AirSharing folder in my ~/Library/Music folder. I also created a link there to the downloads folder that dTunes uses: ~/Media/Downloads. So now I can listen to and organise my incoming files from within PwnPlayer (or MobileFinder for more file management options).

iPhone home

I finally managed to go to a Belgian store and got me the last simlock free 16G black iPhone (of that particular week). Went home, tried to jailbreak it first over VMware, which fortunately told me in a rather early stage that it wouldn’t work. But then it dawned on me that I still had a dualboot XP setup (doh!), and JB’d that sucker in a whiffy.
WHY, oh WHY didn’t I get me one SOONER? With the port of apt-get in the form of Cydia, it’s just like my Ubuntu! I’m in heaven, going through all those repositories offering me all da goodiez from open source geekdom. But wait, there’s so much more. After viewing some apps in uncle Stevies appstore, I googled around a bit for some easier handling of my insta-app needs. And thats when I found that little gem called Installous. It can install ipa files, which are basically user created archives of an installed app, which can be created with Crackulous. Just go to, and you can see what people are sharing. It’s actually a better experience than the AppStore itself in my opinion. My mobile life will never be the same.

I have created a special iPhone apps page where I am listing and reviewing my favourite apps. If you haven’t JB’d your iPhone yet, I suggest you do that asap :p

Did I already say I am in heaven? I can play LastFM without even a bit of lag, and the same goes for any stream over 3G, even on the highway! Some of the time I listen to on ShoutCast, but I mostly crank it up for my favorite number 1 stream from InterGalacticFM 🙂 Finally, no more downloading music! Which is what I hoped for back in 1995, when I stopped buying plastic media and started downloading over dial-in….what a way to come :]