Thursday, November 25, 2010

Why apps are called apps

Apps, you gotta have em. There are apps for everything. Apps that help you remember the milk, apps that prevent you from getting lost, apps that make you see things that aren't really there (such as ghost buildings that used to stand at the spot you are looking at or unreal fish ponds with unreal fish you can really try to catch), apps that allow you to text and walk (this one will bring about our extinction) and apps that help you relieve your stress by setting angry birds on pigs (to name a popular example).

So apps are all the rage, I understand that because apps are fun and useful. But why does it have such a crappy name? App is short for application, which is a very abstract concept. An application is a verb that has gone noun. Verbs sometimes have such silly ambitions, but don't realize that there is no way back. So an application - or app - basically is a verb that is stuck in noun state. Nouns just are. So apps just sit passively inside a mindbogglingly sophisticated piece of electronics until its user uses it. I just can't get my head around it. Why are apps called apps?

Who came up with the idea to call a computer program and application? Wikipedia only knows that an app is a piece of software that helps the user to perform a certain task, say, kill a stupid pig. The online entymology dictionary teaches me that the term application has roughly been in use for 500 years. It's inventor has died long ago so he or she can't be questioned anymore. Application means "the bringing of something to bear on something else" and that it is indeed a noun of action from the verb "apply", which apparently means "making a sincere, hard effort".

Well, there you go: An app makes a sincere, hard effort to bring something to bear on something else. Replace the first something with "Angry Bird" and something else with "Pig", and you immediately see that "App" is the perfect name. Glad that's sorted out.

Friday, October 29, 2010

The Business Case behind the ComputerWeekly IT Blog Awards

In 2008, when I still wrote for Capgemini's technology blog, that same blog became the runner-up (no.2) for ComputerWeekly's (CW) IT Blog Awards in the Corporate Technology Blog category. When I heard our blog was shortlisted, I immediately started to proudly spam my entire social network to ask them (actually, it was more like begging) to vote for my blog. That must have been very annoying for a lot of people. I find it very annoying myself now.

When the blog I was part of became runner-up and even winner in the year after, I was, of course, thrilled, but also, a second thought started to nag inside my head. A cynical thought. I couldn't get rid of the feeling that my pride was very smartly being taken advantage of. And the more I think about it, the more I am starting to admire what is going on. Why didn't I think of this myself!!?

To prove my point, I did a little research into web advertisement. A web ad rates from about $0.50 (for banner ads) to $2 (for skyscraper ads) per 1000 views. CW's IT Blog Awards pages generally have 2 banner ads, a skyscraper add and several other ads. If I counted correctly, there are 15 pages about the blog awards: the home page and 14 category pages. Each of these pages is worth about $5 per 1000 views in terms of ad value. Now, all that these pages need are visits, lots of them. And how do you achieve that? Well, by convincing people to visit your pages, or even better: by convincing other people to put big, red "Vote for me" buttons on their own web pages (blogs and such) and have these people beg their own audience to please click on that button because it will help boost their already enlarged ego.

These buttons are nothing more than web ads rated $0! Yes, that vote button is a free web ad that you, the vain, proud and rather gullible blogger, are only too eager to put on your blog, at no cost.

So, how much money could CW make with this? Let's see, there are 14 categories, each listing 10 or more nominees, amounting to about 150 blogs. Of course, these blog's owners are flattered and will gladly put the vote button on their blog and spam their valued audience (moms, dads, colleagues, friends) through Twitter, Facebook, Google Buzz, and whatnot to boast about their nomination and invite people to click on the button. Suppose that each of these buttons generate an average click count of 1000. That adds up to 150.000 page views on CW's IT Award pages, leading to a transfer of a total of $750 to CW's bank account. And as a reward, the winners and runner-ups get to put yet another zero cost ad, now called "badge", on their blog that will definitely get a very prominent spot for at least a year (till next year's blog awards). In the end, there are 14 badges that could well get at least 5000 clicks throughout the year, earning CW an extra $250.

So CW could make $1000. It could be a lot more, or less, but that's not the point. My calculations are completely based on wild guesses. The point is that CW is an online magazine, which is a company for which advertisement income forms a major component of it's business case. CW has simply found an ingenious way to make some money off of bloggers at no extra cost. They are just milking a long tail. And they are nurturing that same long tail as well, because the winning blogs will grow more popular and get larger audiences that CW can milk in the next year. Very clever, CW obviously understands how to make Web 2.0 work for them. 

Friday, September 24, 2010


SpidermanImage by rpeschetz via FlickrAn old friend of mine (Rick Mans) wrote on his blog that heroes and champions are not the solution to everything. His point is that you don't need heroes and champions to drive adoption of social media. So you need them to start the day, but if I understand Rick correctly, you should'nt expect them to save that day in the end.

But Rick, didn't you realize? Super heroes are soooo 1980! They wouldn't dare to go too public these days, because up front heroism is uncool. So they are holding themselves back and try to make a normal living like everyone else. I bet Spiderman is on the web all day from his depressing cubicle and sending updates on twitter (@depressedspider) like "need more coffee to keep me going till 5 pm".

Avid social media junkies with their enormous ego's position themselves as super heroes (like the self declared guru Robert Scoble), but @depressedspider isn't one of them. Real heroes are modest and do their heroic actions "matter of factly" and without a mask on and with their underwear under their clothes. Heroes are modest and don't like all the fuss about the thing they did to save someone's life. They "just" acted out of compassion. So there's my point (and I guess Rick's too): be compassionate about the things you do, and heroism comes natural. If you are in the right job, compassion should come easy.

Monday, August 16, 2010

Maintenance mustard

Mustard condiment. A french recipe containing ...Image via Wikipedia There is this Dutch expression that says: "that is mustard after the meal". It means that you have thought of something you should have done when you still could. Maintenance is often that mustard after the meal, especially software maintenance. More often than not (at least in my experience) maintenance is an after thought or at best something that we think of in a late stage in the project.
Not thinking about the above at all I was sitting in my garden the other day, enjoying the weather, watching the trees and bushes around me. Then I suddenly got this crazy idea of building a fish pond. It would be a fun project to do with the kids. The garden is large enough to have a fairly large pond. A running stream between two ponds is also among the possibilities. Yes, a running stream with rocks in it would be awesome. I would of course have to install a water pump to pump water from the lower and largest pond up to the higher and smaller pond. And what is a fish pond without fish? So the pond is going to include a bunch of big, fat, lazily swimming gold fish. O, and water lillies! I want those too. And to top it all off, a deck, where you can sit in the sun (meaning I will need to cut some trees too) and enjoy the artificial piece of nature I have in mind. My vision of the perfect pond is complete.
So, let's summarize my requirements:
  • two ponds: a small one and a large one. The small one sits higher than the big one.
  • a stream of running water from the high pond to the low pond
  • big, fat, lazy gold fish
  • water lillies
  • a deck that gets a good amount of sunshine
My shopping list is at least going to include the following (I have never built a pond, so I will need to improvize a little bit):
  • water proof lining to put at the bottom of the ponds so water stays in it.
  • rocks
  • fish
  • water lillie plants
  • wood for the deck
  • water pump
  • water hose
  • a filtering system for keeping the water clean and creating and maintaining a healthy climate for the fish.
  • out door electricity cable
  • water proof electricity power sockets
  • new tools (hopefully)
A quick work breakdown:
  1. request a permit for cutting two big trees
  2. dig out the ponds and the path of the stream
  3. install electricity to power the water pump
  4. install the water pumping system required for the running stream
  5. line the ponds and the stream with the water proof lining
  6. construct the deck
  7. cut the trees
  8. put the rocks in the stream path
  9. fill the ponds with water
  10. connect all the hoses required for the stream to the water pump
  11. test if everything works
  12. put in the plants
  13. let it aclimatize for a month so a healthy ecosystem evolves
  14. buy the fish and put them in the pond
  15. sit back on the deck, and admire your work
I estimate the total cost of all this to be somewhere in the range of 300 to 800 euros. It will probably take about 6 to 10 weeks to realize my vision. My wife is (wisely) going to be very silent while I start getting busy on my silly project. My guess is that she is going to ask some really sensible questions at a moment I don't really want to think about the issues she will bring about. If I am lucky, she will ask me before I go shopping. She might have the following questions:
  • How often does the pumping system need cleaning? Can all the parts that need to be cleaned regularly be reached easily?
  • Are the fish prone to diseases and do you know how to recognize these diseases?
  • How are you going to prevent that the fish are being eaten by herons as happened with our neighbours?
  • Nice deck, but you realize that you regularly need to apply anti algea agent to prevent the deck from becoming slippery, don't you?
And she will go on and on. My vision gets troubled with lots and lots of maintenance work I will probably have to put off because I won't have the time for it in our busy family schedule. In my vision I only saw a static result. I did not think of the pond as a dynamic, changing system. I also didn't think of the dynamics of my family. Those dynamics will definitely change too. That pond suddenly looks a lot less idyllic to me now.
A hot dog.Image via Wikipedia
I think you see the point I am trying to make. Nobody likes to eat the mustard after finishing that hot dog. Thinking of maintenance at a late stage in your project is very much like that. Your face will show very similar contortions (go eat a spoonful of mustard and look at your face in the mirror to see what I mean). Somehow, software system construction projects are more prone to maintanance mustard than other construction projects. This might have something to do with the nature of software, or better: the way we perceive software. Unlike a Canal tunnel, a piece of software can always be modified, right?., not really. What we always underestimate is the cost that comes with these modifications. Especially after a longer period of use. We underestimate the number of people and other systems that have come to depend on your piece of software. Over time that piece of software hasn't become all that easy to modify at all because the ones who originally built it have moved on and the documentation turned out to be of poor quality because they weren't thinking of future maintenance either.

Powered by ScribeFire.

Saturday, July 3, 2010

The ultimate, generic IT platform

Andy Mulholland (who happens to be a popular CTO and former colleague) wrote an interesting piece about SAP's acquisition of Sybase on Capgemini's CTOBlog. I tried to post a comment on that, but you need to sign in at the blog site to be able to leave a comment. What's all that sudden fuss about having to be a member of the Capgemini CTO Blog? Preventing spam is one thing, but making it virtually impossible to interact at all is an entirely different thing. This Typepad powered blog is refusing comments. I trust this is caused by a bug or a faulty configuration.

So, my attempt to drop a comment failed. That leaves me with two options: give up (right, as if!!) or try an alternative route. You are reading the detour.

Andy concluded that SAP got some real gold nuggets that should deliver to them a blazingly good mobile platform with unique capabilities to support and enable data rich remote operations that can be linked to the existing SAP process capabilities.

I tend to agree, but I am seeing a trend. There is more buzz about this on the web. Michael Cote (Redmonk) wrote this insightful analysis for example. SAP seems to want to become the ultimate, generic IT platform. My colleague SAP consultants have a hard time understanding why you would want to custom build something outside of SAP to meet a business need. It is almost if they are saying: "if the business need can't be met using SAP, then it probably isn't a real need"  And now, with the purchase of Sybase, SAP has expanded its mobility reach. A whole range of mobility business needs have suddenly become real to SAP too.

Some time ago, I wrote a blog item about the difference between an SAP consultant and other consultants using the much abused car manufacturing metaphore. I stated - dramatically oversimplified - that a SAP consultant starts with the determination of the customer's industry, then simply picks the SAP package for that industry, implements that package at this customer, and he is done. The customer is advised to use their new platform as is and not tweak it (right, as if!!). I wonder how SAP will have these industries that it targets benefit from the newly acquired gold nuggets. Will performance improve indeed? Will mobility business requirements be met more easily. Time will tell.

Wednesday, May 12, 2010

If SAP consultants would build cars

Yesterday, during a coffee break, I had an interesting conversation with a colleague consultant from "the other planet". Now, I am from planet Earth of course. I make sound and earthly design decisions when it comes to designing software systems for "the business" (who happen to live on Mount Olympus). Not knowing any better, I approach the business' demands with the methodologies I was taught and with the skills I have acquired over the years. The process "consultants of my kind" follow is roughly like this:

  1. Help the business understand their main problem and what they really need: translate their demands (which are often features like: a blue casing, a multi-touch UI or a "stealth mode" button) to actual needs. The result should be a set of bare necessities that current (legacy) systems are not fulfilling or can no longer fulfill (in case of systems near their end of life).
  2. Make a logical design of the system that fulfills these needs (resulting in a selection of pictures that show stick figures holding balloons and rectangular shapes with arrows).
  3. Make a physical design of the system. The result of this step should be at least one technical solution, but preferably a number of technical solutions for the problem we helped the business understand in step 1. Such a solution usually is a composition of legacy systems and new technologies. An exciting but also very time consuming part of this step is the selection of the new technologies, which can lead to miniature religious wars within the IT department.
  4. Realize the solution that you managed to convince the business of picking. The new system is built from the ground up over a period that roughly varies between 1 month and 4 years. Ideally, the business is involved in this process so we end up with a system that it indeed needs and can actually use.
If this were applied to car manufacturing, the resulting car wouldn't look at all like the initial designs (step 2 and 3). Somehow, the multi-touch UI and the stealth mode button come standard with the car, but several bare necessities migrated to optional features that will cost you extra. The car is everything you desire but not exactly what you need (car sellers heavily depend on that). Once in your possession you will boast about your car's specifications (engine type and horse power, top speed, number of airbags, built-in stereo wattage, interior design details, et cetera) because they matter a lot to you. Your car certainly isn't a mere transportation device, it is a fashion statement and a way of life!

Okay, this is slightly exaggerated, but more or less true (I may have been watching too many episodes of Top Gear).

In my conversation with the extra-terrestrial colleague from the planet SAP, we embarked on all this. Every large enterprise either has an SAP-based system or an Oracle-based system for managing enterprisy things such as enterprise resources (ERP), customer relations (CRM) and the supply chain (SCM). That means that the consultants of my kind working for a large enterprise will eventually deal with an SAP consultant during the process I sketched above. An SAP consultant approaches a business' demands from a completely different direction:

  1. Determine the industry (e.g. insurance, health care, banking, retail, utilities, ...) that the business requesting the service of the SAP consultant, belongs to. 
  2. Make a single, authoritative, SAP-specific design that is entirely in shades of blue (it is even called "blueprint")
  3. Compose an industry tailored SAP package that exactly fulfills the business' bare necessities.
  4. Advice the business to buy this package and to make no (if possible) or only minimal customizations. Use it as it is.
  5. Implement the SAP packaged composed in step 3. This takes between 9 and 18 months on average, although there are cases known where it took just 45 days, but also 10 years. The result is a system that already does about 80% of what you need out of the box. One trick in achieving 100% is in making the business in question see that they are not a special case in their industry, and that their specific needs are not really necessary. In the end, these business will customize their SAP system to approach the 100% need coverage.
Now, let's return to the car manufacturing analogy. When the SAP approach would be applied to car manufacturing, the resulting cars would all be blue and have all the primary functions a car should have for the intended use, and nothing more. For instance, a family car is a blue 5-door, very safe station car. And a medium transport vehicle is a blue van with a standard size loading volume. The engines in these cars would deliver exactly enough horse powers needed for the car's intended uses and nothing more. You are strongly discouraged from customizing the car to fulfill needs that are specific to your situation. No options whatsoever, the car is what it is. Once in your possession, you will treat the car as a mere tool that you happen to use for transportation. Nothing special, just a decent tool. You will have no idea, nor the interest of the car's internal workings, but only how well it provides the functions you need.

You can imagine what happens when a consultant from my kind is to collaborate with an SAP consultant on a system. I tend to want to understand the internal workings of parts of SAP, and if these parts really are suitable for the business in the long term and if they should perhaps be replaced with parts from other vendors. But the SAP consultant does not understand why I would want all that. The SAP consultant would specify the system in terms of business applications, where I would specify it in terms of technology components that ideally comply with open standards. We are both right in part. It is the classic clash between open and closed. I love that! I have such an exciting job!

Monday, April 19, 2010

The 4th Port and Robbery Planr. Fact or fiction?

This post is not about a Port nor about Port. In stead, it is about the mysterious Fourth Port. Most people don't even know that it exists. I can assure you though that the fourth port, which I will hereafter abbreviate as P4, is real and is going to become extremely important for the Dutch and perhaps the entire European energy market.

The Dutch energy market has been privatized several years ago, meaning that energy production (electricity & gas) has become competitive. Consumers can choose what provider to buy energy from. Recently (2008), the Dutch government has also decided that energy production and energy distribution should be done by separate companies. That's why Dutch energy providers are being split into two parts: a free (as in freedom), private company that only provides energy services, and a public company that takes care of the distribution of that energy to end consumers. So the government stays in control of the infrastructure for energy distribution, but no longer the commercial activities being deployed on it.

The Netherlands currently have 8 regional grid operators for distributing electricity and 9 for distributing gas to end consumers. The public grid ops build and maintain the distribution infrastructure, including the installation and maintenance of metering equipment at end consumer addresses (homes, industry). All energy providers can provide their product (gas or electricity) via these public grids. The end consumer should normally only deal with the energy provider. They will get a bill for consumed energy by the provider, not the operator. But since the grid ops own the metering equipment, the consequence of all this is that the grid ops must facilitate the energy providers in their need for data on energy consumption.

It boils down to this: grid ops distribute and measure, energy providers produce and sell to end consumers (like your self).

Are you with me so far? Here's what P4 is for: providing a central facility for obtaining metering data and controlling end consumer connections to the grids. Ultimately, this is a single, national facility. Use cases include:
  • read individual consumption status
  • batch read multiple statuses
  • enable and disable individual connection
All these operations should be made available through a standard web service (SOAP). So, P4 is a web service. Needless to say, this web service should be really really secure. We don't want to create an easy facility for the evil minded to black us out, do we?  In the thieving business for instance, being able to predict when you are not at home (by mining your consumption data) or even have control over darkness in your street (switch off connections) could be very helpful. Imagine the plethora of evil Google Maps mash-ups (looking like my sketch below) you will get that allow you to zoom in to street level, select a block of houses and click the "black out" button (you will have to do the manical laughter yourself). However convenient this may look to you, this is not what P4 is intended for.

In spite of these security and privacy related issues, the Dutch energy grids are evolving towards the smart grids that are envisioned by the government. At the moment, P4 mostly consists of a number of standards specifications and has been partly implemented by some of the grid ops. Several 10-thousands of smart meters have been rolled out in the Netherlands so far, but they can't be queried centrally through P4 yet because of the above mentioned privacy issues that have yet to be resolved.
Reblog this post [with Zemanta]