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.

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. 

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.

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.

July 03, 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.

June 10, 2010

Using Vaadin with embedded Grizzly

Grizzly is a framework for building fast and incredibly scalable server applications. It takes advantage of the new Java IO API (NIO) and offers an extended framework for web applications, which includes an embeddable Servlet container.

Vaadin is a Rich Internet Application technology built on top of the Google Web Toolkit. Vaadin Applications run within Servlet Sessions. As such they are very easily deployed in just about every Servlet Container. So, it should be possible to deploy it in an embedded Grizzly Servlet Container.

And that is exactly what I did. I used Grizzly 1.9.18 and Vaadin 6.3.3.

The source code below shows how it's done:

GrizzlyWebServer grizzly = new GrizzlyWebServer();
ServletAdapter sa; 
String servletClassName = "com.vaadin.terminal.gwt.server.ApplicationServlet";
try {
    Servlet s = (Servlet)Class.forName(servletClassName).newInstance();
    sa = new ServletAdapter();
} catch (...) {
sa.addContextParameter("productionMode", "false");
sa.setProperty(ServletAdapter.LOAD_ON_STARTUP, "1");
sa.addInitParameter("application", "my.domain.MyApplication");
grizzly.addGrizzlyAdapter(sa, new String[]{"/MyApp","/VAADIN"});

I have marked 4 important lines in the code:
  1. the line where the root folder is set;
  2. the line where the context path is set;
  3. the line where your Vaadin application is deployed;
  4. the line where the ServletAdapter instance that contains your Vaadin application, is deployed within Grizzly.
The root folder must be set to the folder that contains the Vaadin Web library. Vaadin also requires you to specify a servlet mapping that maps * (all files) in the servlet's context folder to your application (when configured with web.xml you would need to add a servlet-mapping element). Grizzly does not support servlet mappings yet. You can only map all files ("*") in the context folder of the servlet to a servlet instance. Fortunately, that is all we need. That's why the context folder of the Vaadin Servlet containing your Vaadin application is explicitly set to folder "MyApp".
The third line I marked instructs the Vaadin Servlet to load your Vaadin application class. I guess I don;t need to explain why that is important.
Finally, on the last line, the Vaadin Servlet is deployed on the embedded Grizzly Server. It is essential that you add the string "/VAADIN" to map the path /VAADIN (which is used the Ajax application that the java code of your Vaadin Application is rendered to by the Google Web Toolkit) to the Vaadin widgets and themes that are inside the Vaadin Web library.

Vaadin runs great inside Grizzly. It allows for building fast and rich user interfaces that run in a browser in embedded environments (such as the dashboard of a car, for example). You could build embedded systems that can be controlled through a standard web interface.

As for the image at the top: I combined the logo of Grizzly with the Vaadin Logo, which I rotated 90 degrees so I could fit it on the poor bear's face. It does make the bear look like an owl, doesn't it? That bear suddenly looks a lot smarter. I hope the designers of the logo's don't mind my playful joke here.

I am using Grizzly and Vaadin to build an HTTP proxy server that runs on your desktop. This proxy server can be used to filter web content, but also to monitor and analyze HTTP traffic sent from and received by your desktop. Vaadin provides a wealth of rich UI widgets (trees, grids, charts, you name it) I can use for that purpose. And Grizzly provides an easy and very fast way for me to embed a thin web application layer on my proxy server. I have named my little pet project "Yapser" (Yet Another Proxy SERver) and made it open source from the start. My project is hosted on Google Code: If you feel like participating, you're more than welcome of course!

June 08, 2010

How did the homo sapiens get extinct? Because of Type n Walk...

As a species, we are doomed. A couple of decades, and that's it. We're done for! Here's the explanation:

The life styles of the current and next generations will become more and more dependent on being online and on being in constant touch with other people through social media. Work and private life will get more and more intertwined. Office hours will disappear. We will probably develop stronger legs because we will always be on the go, and develop stronger multitasking abilities (women have have an advantage on men for that matter...).

City population will get denser and denser, as will the city traffic. Taking part in traffic will become ever more dangerous. Taking the above mentioned human species developments into account, we will be taking part in traffic while interacting with friends, colleagues, shops, et cetera. Do you catch my drift?

The iPhone app "Type n Walk" will hardly reduce the risk. I believe it will even speed up our extinction. According to the NY Times article (see link above), Finland is installing crossing signals in the street so they are visible to people looking down... The Fins will go extinct first.

Now, Unless the gadgets and online services we are getting so dependent on will really get smart in the sense that they can intelligently and autonomously act on behalf of us and that they can be controlled by thought in stead of by index finger we may have a chance of surviving our own stupidity.

Posted via web from Mark's odds 'n ends

May 28, 2010

Online spaghetti

I have so many online accounts, that I had lost track. That's why I
decided to make a mind map to untangle things. I did this from the top
of my head. And it only made things worse... It is a mess!

Posted via email from Mark's odds 'n ends

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!

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]

April 14, 2010

Should I help promote Pluggio?

I got an email today from Justin Vincent. Doesn't ring a bell? Well, he's the guy behind TweetMiner, and of lately, Pluggio (The Helpful Twitter Client). TweetMiner basically is...was an RSS reader combined with a Twitter client. It allowed you to quickly and easily tweet about items from your RSS feeds. It also allowed you to schedule when your tweets were to be submitted to Twitter. After it got extended with multi-acount support and support for other social networks such as facebook and LinkedIn, TweetMiner was renamed to Pluggio (which still provides all those useful functions of course).

I use Pluggio every now and then, but not to its full potential (yet?).

Here's what Justin wrote in his email:

Pluggio needs your help!

Are you (or someone you know) a blogger?
If so we would love it if you could blog/review Pluggio.
I've created a bloggers resource page with pics and videos:

No worries if you're not interested or don't have time!

Thanks for reading :)


If you follow the provided link you will read that you could get a FREE 1 year account if your blog gets over 10k unique visitors/month. It could be interpreted like this: Don't bother to help if your blog gets 9999 unique visitors per month or less. My blog only gets about 100 UV's/month, not including my dad (Hi dad, you're always welcome, you know that). So, I shouldn't even bother to bother. My blog is practically invisible, so, whether I like or dislike Pluggio, hardly anyone would see it.

But besides the above threshold, I find it interesting that Justin makes this appeal at all. Maybe I have been moving in the wrong circles, but this hasn't happened to me before. I have accounts for many online services including several twitter clients (Seesmic, PeoplBrowser, ...), but none have ever requested this from me. As far as I am concerned, this is a unique request. I wonder what Justin is exactly after? He is reaching out to popular bloggers to write about Pluggio, so exposure must be a big part of it.

Justin, I hope your Pluggio will get the exposure increase you are after. I am giving you the exposure this post gets. If you're lucky, it'll hit 50 visits. At your service!

Reblog this post [with Zemanta]

April 09, 2010

iPads are like toilet paper

What an iPad (and iPhone) has in common with toilet paper:
  1. easy to use touch interface
  2. it gets dirty during use
  3. it doesn't last long
  4. it is disposed of when you no longer want to use it
Hold on, don't stop reading yet. Give me a chance to explain:
In a way, it is entirely true, especially the part about iPads being just as disposable as toilet paper. All of Apple's iProducts can be used until the internal battery that you can't replace (well, you technically can, but normal users won't be able to) can no longer hold its charge anymore (it doesn't last long). But even before the battery dies, you will feel that your iProduct is becoming of less use sooner than you think. It will become old and obsolete sooner than its battery and you find you no longer want to use it anymore.

It is the effect of a brilliant and broadly applied business strategy: produce things people want and will want to replace with newer versions before they actually become useless. A profitable business is a business where you are able to sell something lots and lots of times. The best products are the ones people use and
dispose of, such as toilet paper, shaving knives, tooth brushes. Car vendors usually try to apply this strategy, and also most vendors of consumer electronics. So Apple isn't really being exceptionally evil in this respect. They're all guilty.

People have also been calling Apple evil because of their over-protectiveness with respect to their technology. Apple is often accused of being too closed, and of obstructing the spreading of open standards. I believe that Apple "just" wants to make sure that the quality of the products is as high as we have come to expect. Apple stuff usually looks good and works great out of the box (even that box looks great). Applications for the iPhone and iPad have to go through a strict process of approval before they can be offered on the App Store. Apple wants to control the whole chain: from hardware design and production to software design and production, including third party software. And they are obviously very successful at that.

Accusations such as mentioned above often surface around successful businesses. Apple started out as everybody's hero, but now they're a dominant player, they are suddenly evil. That's just how it goes. Admiration turns into envy and suspicion. It happened to Microsoft, and it is now happening to Google too. Trust seems to be inversely proportional to size and success. But that is somewhat besides my point.

My point is that Apple produces disposable technology. And since Apple products are very fashionable and have moved into the domain of luxury goods such as watches and jewels, people are subtly urged to always have the latest model. I am curious about the environmental impact of this all. How bad is it that we are disposing of technology that is still perfectly usable? By what numbers does this happen? Is it even a problem at all? What is the ecological footprint of an iPhone, or an iPad? To what extend can their parts be reused?

Humor me.

Reblog this post [with Zemanta]

April 02, 2010

Agent Martin

Today, I was listening to the devnology podcast (6th edition). This relatively new podcast hasn't been able to keep my attention for long so far. Most of the time I listen to the first few minutes, and then I usually "zap" away to another podcast that happens to be on my iPod. Not today, because they had interviewed Robert Martin, or "Uncle Bob". Such an inspiring personality. He speaks in a manner that makes you think twice before doubting what he says, let alone criticize.

While I was listening, I kept thinking what a familiar voice he has, although I was sure I had never heard Uncle Bob speak before. I read some of his books (a long while back), but I had never heard his voice. But still, that thought kept nagging in the back of my mind. Robert speaks in a calm manner and seems to have thought about every word he says. It is almost as if he reads from a live script in his head. That is partly true of course, because he is obviously interviewed lots of times and he often speaks at conferences and such. So, he must have a lot of statements in his head where he draws from on those occasions.

And then it hit me. He sounds just like that character "Agent Smith" from the Matrix. Especially when he seems to be re-saying a profound statement. A statement like this for instance: "I tended to dislike high level languages, because they separate you from the metal". When he said that my primary thought was "yeah, he's right, we lost touch with the metal".

At a certain point in the interview, Uncle Bob remarks upon certification. He gives an analogy on how doctors become doctors and how lawyers become lawyers. That takes years and costs lots of money, but at a certain point, you have proven yourself worthy of the title. According to Uncle Bob, it is not at all like that for programmers. I quote: "Do we need something like that for programmers? Maybe we do. Do we have something like that? No. Are there attempts to pretend that we are going to make something like that? Yes, there are certification programs out there that are utterly meaningless, but they confer upon the developer this title of being certified. This is a disaster". Wow. So true.

Here is another quote from the interview. More or less Uncle Bob's exact words: "for 50 years, programming has been if-statements, while-loops and imperative statements. There are interesting ways to structure them, cute ways to organize them, but it comes down to statements, selections with if, looping with while, and that's what programming is. And it is going to stay that way for a very long time". Now picture Agent Smith. Dark shades, immobile face, dryly stating the above. If you are not "The One", you won't think of bringing anything against those words.

Just listen to the interview (if you are a developer, it is definitely worth your while), and hear for yourself:

Reblog this post [with Zemanta]

March 22, 2010

Loose Cases

Illustration depicting thought.Image via Wikipedia
Check the Loose Cases. They are the result of radicals leaking from a software architect’s thought processes. They chose to take the shape of loosely drawn use cases and emerge on this blog. So this is a form of waste. The author doesn't care, because he's just relieved to be relieved of the radicals.

Ah, who am I kidding, you have already guessed that that author is me.

Anyway, do pay Loose Cases a visit and share your opinions about it with me. And while you're at it, why not submit some requests too. Tell me what scientific/political/enterprise/whatever oddities you would like to see expressed in a loose case diagram, and hopefully, another radical thought sparks.
Reblog this post [with Zemanta]

February 02, 2010

Why you should follow many tweople

On Twitter there is much redundancy. The better the tweet, the more often it is echoed (copied, mentioned, retweeted, et cetera). So, if you want to catch the important stuff that is being echoed around on Twitter, you should follow enough people to increase the chances of you seeing these hot tweets when you dip into your friendsfeed.

Yes, that's what the seasoned tweople do: they dip. I consider myself among this category, and I just dip into my friendsfeed a couple of times per day. The dip only takes a about 5 minutes, and you only read the first 10 or 15 tweets or so. I am following a modest number of people (currently 489), but they generate far too many tweets for me to read. Keeping up with them would take me more time than I have in my day, and I have a life to live too. So, I can only dip. During a dip I read what I see, so the majority of the tweets from the people I follow won't reach me.

Now I can hear you think: So why bother tweeting in the first place? Should I retweet myself in order to increase the chances of anyone hearing me? Well, yes...and no. Apart from your mother (no offense mom, just joking), most of your followers will also be following quite a few other people. Reality is that your followers won't be sitting in anticipation for your tweets all day (okay, perhaps not when you are Ashton Kutscher or Barack Obama). So yes, it probably couldn't hurt to repeat yourself, but try to keep some distance between identical tweets.

The other unrealistic thing to think is that your tweets are unique. They aren't. Try this twitter search for example: "apple iPad no flash". You'll see that lots of tweople are wondering about the absence of the Flash Player on the iPad at exactly the same time as you are. But you should still tweet it, because the redundancy is exactly what makes Twitter such a great medium. The bigger the crowd that is shouting the same thing, the more important this thing probably is.

So in order for you to get the most out of Twitter, you should follow many people. I don't know how many, but I know it will depend on the type of person you are. I also know you should be selective: only follow people that you find interesting. Check their most recent tweets, check how often they tweet, check their bio. A good resource for finding interesting tweople to follow is wefollow. This service allows you to find authoritative tweople by subject. Do some maintenance on your connections every once in a while too keep your friendsfeed fresh: unfollow tweople you no longer find interesting (you could for instance use Tweepi).