This is why you should get an iPad with 3G

Yes, I've heard the arguments that you only use your iPad in an environment with available Wifi and in a worst case scenario can use your phone as an Wifi access point.

Well imagine this: I'm currently enjoying a winter vacation in Ruka, the north of Finland. We rented a nice cottage somewhere in the woods near a skiing area. Arround us we see snow, the sun, lots of trees and for the rest nothing. It's really quiet and a great place for a break from our normally very busy lives. The cottage comes fully equiped, including a sauna for further relaxation, but there is no Wifi.

When I travel I like to stay connected, this for several reasons. First and formost I use the internet for information, news and to stay up to date and this doesn't stop when traveling. I also want to stay in touch, because you never know which opportunities appear and there are several ways I could do this. I could for instance use the roaming facilities of my smart phone, but unfortunately the telecom operators see this as their big money maker and make this more expensive than necessary. Another alternative is that I regulary drive to the nearest village and use the Wifi over there. This works and I've done this before, but you do give up on being in the woods and the inspiring environment. The best option I discovered this year: Go to a telecom operator and get a cheap prepaid SIM card. Make sure to select an operator that also offers prepaid data on the SIM. Here in Finland you can get a great deal with local operator Saunalahti that offers 7 days of unlimited data for 6.90 Euro. The initial SIM costs you 6 Euro plus a 10 Euro recharge and you are in business. Well you are almost in business, because you first have to chop up the SIM card since no Micro SIM is offered in this deal. Put the SIM card in your iPad and it's working. Since this country invented GSM the reception in general is very good, at least good enough for me to write is post from a cottage in the woods.

Now of course you don't need an iPad for doing this. You could also put the SIM in our phone, but then you can't be reached on the phone number all your friends know. Alternatively you could use a USB stick modem and use the SIM for that, but remember your are here to relax and the iPad is less intrusive (and easier to carry) than a laptop.

An iPad, or other tablet, with 3G is the ideal travel computer.

User Experience is like Sex

Sex SellsSometimes it's fun to compare stuff with the only thing that really sells: Sex!

User Experience is like Sex:
  • Everybody's talking about it
  • Only a few are actively doing it
  • ... and only a very few are very good at it
  • It's difficult to do well
  • There are always easy excuses not to get started
  • ... and it's difficult to measure quality and performance
  • Most people don't like to pay for it
  • ... and see it as something that can be done on the side
  • Only a few make it their core business

I do believe that User Experience, especially in software, will be the differentiator in this decade. The cold war on features cannot be won and it's time to address the emotional site of things. I can help you to make User Experience design part of your strategic product development, and I can already tell you now this starts at idea generation and incubation.

Want to learn more:

Don't hesitate to contact for further information

Image: Jon Cockley

Help me selecting a Windows Laptop

Although I do live the Apple and Google lifestyle I kind of miss having a Windows laptop. I know this sounds weird, but I actually have a good explanation.

I want a Windows machine because:
  • Windows is still the most use operating system in the world, whether we like it or not. I actually like Windows 7 and the more I think about it are the issues I'm having with Windows 7 (slow boot, failing sleep/resume and often just not connecting to WiFi) more related to the hardware integration than to Windows 7 itself. 
  • Web projects I'm working on need to be validated against many Internet Explorer versions. This of course could be done using virtual machines, but than I don't get the real-life experience of the product when running from meeting to meeting, closing and opening the lid and running out of juice.
  • For some of my start-up initiatives Windows Azure is a serious contender to be the platform of choice. However I now lack the tools to do a proper evaluation. I do need to do a bit of experimenting (no not full scale development) to get a better feeling of the capabilities, availability and usage of 3rd party libraries and overall workflow for getting things done. 
  • I like Windows Phone 7 and after my Android and now iOS experiments I would like to work a bit with Windows Phone 7. Although I only know one person (excluding various Microsoft employees that got one) that actually bought one, I don't rule out Windows Phone 7 for the future, because there will be room for three to four players in the mobile market space.
Enough reasons to invest into another gadget and I'm currently diving into a selection process, but without any success and I need your help. I'm not sure about you, but I just don't get all the acronymes and high-tech terminology, all I know it how if looks and feels like. My specifications are:
  • Size and body shape is important. A 12" screen would be perfect, but it could be 13" if it's light and thin. 
  • It's all about elegance, beauty and style. This is usually expresse with high grade materials.
  • The battery needs to last long, because beauty shouldn't be spoilt with hooking it up to ugly cables.
  • The price needs to be reasonable. I know this is a very vague statement,  but take a 13" MacBook Air, that meets the above requirements, as the benchmark starting at $1299

Selecting a new laptop always have been difficult. When my Sony Vaio died I opted for a boring but solid Dell. It felt like dating a robot because there was not emotion between us. Now I've been pointed out to the Samsung series 9, it looks beautiful and I could fall in love. The price tag a bit on the high side (where are the days that Windows machines were a lot cheaper than Macs?) but love doesn't have a price, or does it?

I hope you can help me out here, because all I see are ugly plastic boxes (check out the 8 reasons to get a new PC) except for a few expensive alternatives. Leave your suggestions in the comments below.

Flying Blue, KLM and Sixt, You call this a special offer?

I've done a bit of flying, both private as well for business. Many of the flight are with KLM and as FlyingBlue member I also appreciate newsletters and special offers. In the last few weeks I received a special five year FlyingBlue anniversary offer.

Since I'm going to Finland next week and I liked the prospect of driving a BMW 3 Series for the week and a half I clicked through and got at the action site

For the non Dutch speaking people it all about driving a BMW 3 Series for only 55 Euro a day what is a very interesting offer. The link got me at a special FlyingBlue part of the Sixt site. I selected the destination, dates and the country of residence and calculate the special FlyingBlue fare. This wasn't very easy, because at first I could only select destinations in France and my default country of residence was Germany, but eventually I got the quote.

Click image see a larger version

Well, the 113.87 Euro a day is more than double the advertised price. I couldn't see a reason or explanation where the difference is coming from. Since I found this a bit strange, so just for fun I went to check-out the full fare. I went to and entered exactly the same destination, dates and home country to get a new offer. You see the full price offer below.

Click image to see a larger version

Interestingly the full price came out about 20% lower that the discounted price. The price is still a lot more than the advertised 55 Euro a day, but more acceptable.

I'm also aware that a special offer usually has so many restrictions that it almost impossible to meet all the requirements, but a discounted price that is 20% more than full price feels to me as ripping someone off.

I guess this experience doesn't put KLM and Sixt in my good books.

Implementing Scrum using Scrum

ScrumA couple of years ago I was the evangelist for using scrum as the product development method at my employer at that time. I remember very well that I needed to convince the management team in the product organization to make changes in the way we developed products. It started with sharing existing videos as Agile vs. Waterfall :a Tale of Two Teams and presentations on Agile Software development (Isn't it nice you easily you can recall recent history based on YouTube and SlideShare favorites). Of course there was the usual hesitation and fear for change but nothing out of the ordinary. Eventually as a team the conclusion was that scrum would help us further and would be the right approach to become more agile and deliver more customer value. Many of you will probably recognize simular kind of discussions and decision making.

The real discussion actually started with the plan for implementation. There were soon two distinct camps, the first group wanted to do a good preparation, bring policies up to par and do an extensive training program for the people involved and roll out a gradual implementation over the various teams. Sounds like a solid and well prepared plan for implementation. The second group had a completely different view and was in favor for a 'lets just do it' approach. We know we want to roll out scrum, so lets start today and use the retrospective of scrum to improve the process sprint by sprint. To many the last approach looks irresponsible and a dive into the deep end of the pool without knowing if the people can swim. In a way that is right, however the first approach isn't very agile and takes a very waterfall approach with policies and training that needs to be implemented first.

My take on this is the following: Scrum should first and fore most be a strategic choice! It's not about your development process, but it's how your complete organization should be agile with focus on fast delivery of customer value. The strategic choice implies that agile should be part of the DNA of your organization and you should start to show this immediately. Since you did make the strategic choice, there is no reason of holding back and you should dive into it immediately. However this doesn't mean you should take unnecessary risks and therefor my advice is to have a small team dive into the deep end. Just remember your work with professionals and they would be very motivated to be an example of the rest of the company. Depending on the knowledge and experience in your organization it might also want to consider some external coaching and advise. In most case it will be well spent money if you get highly energized teams in return.

Not sure yet what your should do? Have a look at some scrum energized teams I worked with:

If you know more movies of inspired teams, leave them in the comments below.

... and finally if you understand Dutch and still want to learn more on scrum follow the vlogs of Rini van Solingen

Image: Nigel Robertson

First Impressions about Android development

One of the projects I'm working on has an important mobile component. I'm myself an Apple fanboy and iOS development would be the most obvious choice, but by most important alpha testers are from the Google camp and since I do value potential paying customers I decided to dive into Android development.

Years ago I've done my share of coding and development work, but over the years this has become a bit rusty but of course I still understand the basic concepts. I'm not going to write a getting started tutorial because the Android developers community and Google give you a good start.  I will focus on other experiences and surprises on the go.

The application is fairly simple, it consists of a few screens where the user can enter some information that needs to be stored locally for offline use of the application. When the user chooses to do so the information can be synchronized with a OAuth authenticated JSON service. In my opinion a very typical kind of mobile application offering a mobile specialized experience for an existing service. The users already has an account at the service that exposes an API offering JSON REST services with the de-facto standards OAuth authentication. There are probably millions of people building similar applications every day and I didn't expect a lot of hassles. So lets look at what was easy and what went fast and where I spend most time.

What was easy and progressed quickly
  • Getting a development environment up and running went a lot easier than I expected. I'm working on a Mac and already had an Eclipse environment up and running. Just follow the instructions and 30min later I was in business.
  • Understanding the basic concepts of Android development and application architecture. I like the Activity concept and the possibility for late run time binding between applications. This combined with the XML layouts and some 'code behind' quickly got me up and running with the basic user interface
  • Creating a local data store based on SQLite and actually writing and reading data. 

I just got up and running pretty quickly and felt confident that I would be ready quickly, but then reality hit. Where did I loose time?
  • I was really surprised that an OAuth consumer was not part of the framework. I was probably too naive to think that all applications would use OAuth for their authentication mechanism. An external library (signpost) was found quickly and at first it looked also easy to implement but due to my own mistakes somewhere lost valuable time to get it really working.
  • I was easy to display information form the data store unmodified in a ListView, but when I tried to combine and modify information from the data store before displaying I quickly got sucked into creating my own CursorAdaptor. It all worked out, but just was more work than anticipated.
  • I never liked dates, timezones, localized and user specific date formats. This showed in many areas. It started with a the fact that SQLite doesn't have a date/time data type. It took some experimenting and finally I learned to store dates as Integers and got all the conversions between UTC time and local time working. The web services was also dealt easy enough with all dates in UTC time and thus local calculations were required. However having the correct date and time is not enough, users want them displayed in their personal format. I spend a significant amount of time on this, thought I had it working on the emulator, but got users complaining it's not. This probably is my biggest nightmare at this point. I really don't understand why the platform doesn't have a format to local preferences date/time format function. 
  • The XML layout are a nice concept, but when doing a bit more complex screens impossible to understand. The eclipse visual editor is worthless and the XML attribute names are so confusing and big that it's not really easy to create a nice layout. I still don't manage to get nice automatically scaling layouts going. This is a pity because it's the first impression of the application.

Concluding I would say that I enjoyed building for Android, the basic concepts are easy to understand and I like the overall architecture of the framework. However Android and the development framework is still a bit rough on the edges, tasks that I expected to be simple are just not facilitated by the framework or are so complex that they are hard to understand.

Now going for the next mobile platform to get better comparison. What do you suggest I should work on now, iOS, Symbian, WebOS, BlackBerry or Windows Phone 7

Cool, Video on your Business card

Business cards are, especially in this digital age, kind of a boring tradition. I was wondering if I really need them for my own business. However then I saw this and I was hooked.

What about video on your business card? This is what you have to do:

  1. Print this page
  2. Take a pair of scissors and cut out the little card pictured above
  3. Go to the web address on the card:
  4. Hold the card about 20-30 cm (8-12") from your web cam.
  5. Wait and see.
Cool or Not, leave a comment below

Note: I do not have any affiliation with the mentioned company.

Bring Internet Explorer 6, 7 and 8 down to 0%

I could easily answer the quest on The Internet Explorer 6 Countdown with a simple statement that I've replaced all my home computing to various  Macs and thus no chance to run Internet Explorer anymore. Well that would be too easy.

I actually like the attention the Microsoft is giving to a self created problem. When BP polluted the gulf they were held liable for cleaning up their mess. Now Microsoft is showing some effort to help cleaning up the Internet Explorer 6 mess. All I now hope for is that after the 14th, when Internet Explorer 9 gets officially released, Microsoft extends the efforts also to Internet Explorer 7 and 8.

Many years ago a web developer could just develop for the de-facto standard Internet Explorer because 98% of the people could be served. From a developer perspective it was easy and convenient, but from a customer perspective it resulted in lack of browser innovation. Today the world has changed, browsers must be competitive and innovative, but back fires on developer convenience. Standards are supposed to help and support interoperability. Today we are at a phase that the once dominant browser Internet Explorer needs to catch up on the standards and can compete for user attention on equal terms.

For this to happen we first need to get rid of Internet Explorer 7 and 8 too, so lets start those efforts today. I'm just fed up with spending time on fixing layout issues on Internet Explorer that run fine on all other browsers.

Note: I actually like Internet Explorer 9, because it's fast and uses the screen real estate very efficiently.

Communication with the service provider failed

It's exciting, challenging and good for the brain to dive into something new, but very frustrating if you get stuck after a day. A recently started to dive into some Mobile Apps development. I'm a bit rusty with my programming skills, but I'm happy with the progress I've been making. The real nice thing of software development is that you can quickly show off results.

The last 2 days I was busy to get something done in Android, the first day was productive, I got a development environment working, went thru a 'Hello Android' tutorial and got  the basic structure for my app up and running. I could activate different activities with different layouts and had data access for temporary storage working. Today I spend on the connection with the back-end server, involving an OAuth based authentication and consuming some REST services.

A little bit of googling let me to several examples for OAuth authentication on Andriod using the signpost library. I've been working with OAuth before and I thought it was just hooking up the correct library and a bit of Java syntax to get it all working. It couldn't be very difficult. A bit of copy-paste got me going quickly.... until I got stuck on: 'Communication with the service provider failed'. I wasn't even able to get my first request token from the service. I googled more, tried several variations, started from scratch and started to get desperate. I left the project alone for a while, my way of finding new inspiration, and a few hours later googled a bit more and run into a Facebook developers getting started on mobile apps document. It suddenly got my attention because:

It made immediate sense, the 'Communication with the service provider failed' was just a result of no permissions. I was thrilled, quicky added

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

to the Android Manifest.xml and yes it was working.

Since this did the trick for me and nobody else mentions to try this I decided to share.

Now for a limited time only: Email subscription

This morning I was analyzing the subscriptions to this blog and found some surprises.

Geeks only

If you consider your self a geek, technology freak or think to know what is going on in the field of technology you can continue to read, but as a warning: this can lead to insanity!

Constantly we hear that RSS, once a promising technology that was going to change the way we consume information, is dead! I've come to the conclusion that unfortunately this is pretty close to reality. In the past I believed it was easy enough to teach others how to use RSS, but unfortunately it's too complicated and it doesn't work as advertised. I also have come to realize that RSS is something that solely plays a role in the geek world, because most people don't understand what RSS is and let alone understand how to subscribe and use RSS.

RSS as a technology isn't dead and has a pretty good future, as long as it stays out of sight of people and serves in the background. Lets now, in the interest of the people, all stop thinking that RSS subscriptions are the holy grail for content delivery.

If you don't understand this section, I warned you. However you should be able to understand the next section.

.. and for non geeks

You have come to this place either by accident, but more likely through search or just because you like what I write and regularly go to looking for some new and fresh content.

Wouldn't it be great if you could receive notifications when fresh content is published so you don't need to check for yourself? Well now you can be among the first to read new articles, just subscribe to updates by email. This means as soon as new articles are published, they automatically arrive in you inbox. All you need to do is to fill in the form (for a limited time only) in the sidebar on the right.

Happy reading.