Voice navigated apps the next hype?

In the 1980’s there was a TV show called Knight Rider, where Michael Knight, a vigilante with his car K.I.T.T would fight bad guys. The thing that made this show special to me was the car. Mr Knight could talk to it, and it would understand what he said and meant and respond meaningfully. Sometimes throwing a witty remark in there. It gave the car, a personality, it was the co-star of the show.


Now in 2011, Apple released Siri. An assistant where you can ask certain things, like “What is the weather going to be like tomorrow”, and again, just like the car K.I.T.T., it responds with the correct information. In the above case, the weather for tomorrow based on your current location. If i ask Siri “What THE answer is?”, it sometimes responds with the number 42, this is for nerds and geeks a pretty witty answer (as it is THE answer to THE question in Hitchhikers guide to the galaxy). Thus Siri seems to me, have personality, it answers questions with a certain flavor. For me, in 2011, it was the very first time you could ask almost anything to a device (a mobile phone) and it would (try) to give a smart, witty answer.


So is the fact that you are going to talk to your phone and it actually understands what you mean and then responds, something we’re going to see more of in the future or is it just a hype?

Read more →

iOS + XCode 4 + GHUnit = Mobile TDD+Continuous testing part 2 of n

Last time I explained why I think doing TDD for mobile is imperative, and why I do it. But now it’s time to get technical, and explain to you how to set up, GHUnit in XCode 4 and run unit tests, not only in the iPhone and iPad simulator but also on your own physical device!, it’s in text and images but also in video form on YouTube.

Note, if you want to know why i chose GHUnit over OCUnit, just scroll down to the end of the post.

Read more →

Why TDD+ Continuous testing is imperative for mobile apps (part 1 of n)

Since a couple of months I’ve been developing mobile applications, some are for the business at home (girlfriend-shopping-list app that actually works and augmented reality garden iPad app) and some are for work. I have experienced that TDD and Continuous testing (Test Driven Development) is a way of working that leads to fewer bugs and regression problems and better design in my software, it’s my preferred way of programming, not testing.

Mobile TDD is imperitive

And to start off, here’s how I benefit from doing TDD:

  1. Robust
  2. Better code design, no really!
  3. Find regression problems early on

and you can read more on TDD and Continuous testing here.

The thing is, writing a mobile app takes about 20% of the time it would take me to write a web+client+server based app. Which of-course is really nice, because I can write lots of apps. It also means that whenever i need to fix a bug or add new functionality, I need to have developed it in a TDD fashion, otherwise i cannot guarantee reliability. So let me explain why…

Read more →

Continuous deployment impressions at #JFall 2010, NL

Last week (november 3rd) Andrew Phillips and myself did a presentation on continuous deployment at the awful (so we thought) hour of 8 o’clock in the morning for the NLJUG. We only expected a handful of attendees but fortunately the day before we were told that we had moved to a bigger conference room because of the great number of people signing up! So at 8 o’clock we had about <100 people in the room! So, if you were there, thanks for coming so early, we really appreciate it. It of-course shows that continuous deployment is a hot topic 😉

Doing the continuous deployment talk at JFall

Doing the continuous deployment talk at JFall

Read more →

Future of Deployment – Part 2.5 Getting your virtual appliance from development to production

Virtual Appliance

In my previous post, “future of deployment, part 2”, i talked about the new ear, which is an image, with an OS and your application.
Now before diving into part 3, which gets you going in creating your own virtual appliance aka “the image”, there is one really big thing i forgot to mention; Some of the benefits of delivering a virtual appliance and getting it from your own development to the production environment! and i’ll list the benefits for administrators/ops and developers.
Read more →

Future of deployment: Part 2 – The Image in the Cloud is the new EAR

Last December I wrote my first part on the Future of Deployment explaining the difference between big ol’ servers with a gazillion applications and lots of new shiny small servers with each its own application. This time I’m going to go to the cloud or your virtualized servers and give you my vision of how we are going to package and deploy applications in about 3-5 years.

How we used to deploy an application

Well you all know this one by heart: You get your environment up and running, like, install an application server, setup your database, choose a sql script to run against the database, configure resources and deploy the application in the application server. After everything is in place you start the whole bunch and bask in glory!

Does the above deployment scenario apply to virtualized/cloudy environments. Yes it does, of course! The environment setup is greatly simplified, using stuff like AMIs or virtual images aka appliances 😉 you get your database or application server out of the box but configuring and installing the application and configuration/resources is still the same old boring cumbersome task.
Read more →

Future of deployment: Part 1 – Monuments vs Cheap housing

I’m going to start a series on the future of deployment. How and what do we deploy in, say 5 years or so. Of-course this is my opinion and please add your own ideas in the comments below.


To start this series off i’m going to talk about the current state of things, or at least what i see at a lot of enterprise customers. Most of the enterprises i’ve been at have physical servers which are used by numerous applications from different development teams. Some of these servers are old and have been in maintenance by operations for years (+4 years ;)). That means that the server has changed, lots of deltas, aka, patches, deployments etc. have been applied and as my colleague Vincent has stated applying deltas has its cons 😉 Of-course i’m talking about servers and not applications and the same rules do not apply, or do they?

Read more →

So what is a deployment really?

You just baked the first release of your application using Maven. Next you start up the administrative console of the application server in the development environment. Then you deploy the fresh loaf of ear-file to the server and fire up your browser to see if you can reach the application. As you try to load the page, you get a DNS error, “Host not found”. Time to phone Bob! – the friendly operator of all that funky infrastructure and middleware. Bob is of course happy to add a DNS record that will point www.app-in-dev.com to an Apache server. “Wait! An Apache server?”-you exclaim! “But it should point to our application server, not an HTTP server thing.”

Bob, by now used to having to teach young developers the intricacies of modern network topologies, calmly explains that all requests coming from a browser first must go through a cluster of HTTP servers before the requests are routed to the application servers. “You also need to configure Apache!” he says. “But I am developing a Java application, I only need to deploy to an application server and then I am done.” you respond. Bob, sighs. “Listen son, pressing the deploy button in the administrative console is only a small sentence in the big deployment story.”
Read more →

Multimedia Communication: When to use screencasts/movies in demos.

For the last 9 months I’ve been working as a team member of Xebialabs on a product called Deployit. The product automates deployments of applications. As any Xebia team we use SCRUM for our development. Now at the end of our two week sprint we give a demo to the product owner and stakeholders of what we’ve been building.

We demo deploying applications onto a variety of Application Servers and other Middleware, like for instance WebSphere/Oracle-Bea Application Server/Portal, MQSeries, HTTP Servers and so on… Sometimes demo-ing a story, like deploy application A to application server B can take 10 to 15 minutes. That means, for an hour of demo time we can not show every user story that we finished in our sprint. So we only show the important ones. But what happens when demoing a story can take up to 45 minutes? How can can we cram multiple finished stories into the hour?
Read more →

Java Persistence API – Podcast – JSpring ’09 Preview

On the 15th of April the NLJUG (Dutch Java User group) will be holding their J-Spring conference. Four Xebians will be presenting. Every week we’ll be providing a sneak preview on the podcast of one of those presentations.

The second sneak peek is about The Java Persistence API – How do i build a real application by Vincent Partington.

The preview is in Dutch, a full interview in english will be coming in about 4 weeks.

You can find more information here or read Vincent’s JPA blog series.

Vincent’s presentation is from 14.25 to 15.15

So head on over to the show page or subscribe to our podcast!