Sunday, May 8, 2011

Missing The Point

There was some interesting buzz about this great little project. Basically a really small, really cheap computer.

It seems though, people are missing the point of this project. It's not replace the XO's of the OLPC project. In fact, it quite specifically says in the article linked that the project is a reaction to there not being enough technology education around computers and instead, skills such as word processing are taught.

But the buzz I keep hearing from people is that the costs would soon mount up once you start adding in a monitor and the cost of a keyboard and usb hub etc. And how is it supposed to help people of developing nations?

It's all a matter of scope. That's not the market they're targeting. Let's put this into context. The project assumes users will have a TV or computer monitor with HDMI input. That users will have a ready power supply.  It would be a bit like trying to use a spoon as a fork. It's not designed as a replacement to the XO and sure, potentially it could be used with a bit of hacking, but then, how many people see a spoon and figure out how they can turn it into a fork? And once they do, is it a horribly compromised fork? i.e. a spork. It still isn't really built for purpose...

I do have to wonder if it's scope is all that realistic. The number of people actually interested in getting to the guts of their computers is fairly minimal. It's a bit like offering an electronics class. If you only end up with 7 students out of 500, is that really a good use of a school's resources? If the goal is to encourage the uptake of things like programming, then a really simple to use flowchart application, along the same lines as Freemind would probably do more.

I know loads of people disagree with me about the best way to learn programming. Personally, I think it should be taken away from the computer/any particular language. Learn the logic first. Here's a flowchart for the logic. Now I want to use this same bit all over the place. Suddenly you have functions. While we're at it, why don't we learn what binary is? Getting people into a line either standing or sitting to represent different values. I know there was a guy at... kiwifoo? I was told... who was advocating this very same sort of thing.

Is the scope for this computer completely wrong? I think it misses the point of the stated aim and is quite probably going to be a very cool niche device for computer enthusiasts everywhere. As for it's educational value? I'm just not really seeing it.

And then you have to wonder about things like QR codes.

Data contained within this QR code: "This data could be made
human readable but for some strange reason we want to create
this odd barrier to entry by putting information into a strange
non-human readable format."
I can't see a suitable scope for them. They create this really odd barrier to entry. Rather than just being able to read the information, users must have the technology in order to take a picture and decode it. Is this a reinforcement of a class system?

The question is, what is the scope of this technology? Does it have any real practical application or is this one of those "if we create it, people will figure out what to do with it" sort of things? The wikipedia article on QR codes claim that uptake is fairly strong in Korea and Japan.

Meanwhile, I can't help but think that this is contrary to current trends in computing. We tend to store a lot of data in a human readable format called XML.I'm sure there's a joke in there somewhere. Something along the lines of take XML and define how to decode QR codes and then encrypt it in a QR code.

Could it be that the technology was only really supposed to expand the humble Bar Code? Rather than having a number which is then linked to an entry in a database (UPC's, the bar codes you find on consumer goods, have a standard format. A certain number of digits for the manufacturer for example)? In which case, is it's use for encoding URL's or text completely unintentional and taken by those who don't quite understand what the technology is for?

It's this sort of thing that's a serious danger to just about every programming effort out there. At one stage I was programming a time sheet. But then, the time sheets were then being printed out and the information typed back into the computer. So I had to make something to put the information into the format the "system" wanted. Except that the system was the boss's mum. And at some stage, that same information, after vetting from the bosses mum, then got input somewhere else - again, printed and put in manually. A 3 month job turned into a 18 month job.

No one was happy. I wasn't happy as I had quoted horribly cheap rates given that it was just a little project to fill in some time - 3 months rather than what turned out to be 18 months on the same sort of wages you would expect to pay someone at MacDonalds. The client wasn't happy - the system still wasn't working brilliantly. The main factor here being that all of this was being built on top of MS Excel. They weren't willing to go to through the expense of having a database application built. I'm seen as a bit of a prat because it's not working great (I still have to go in occasionally to maintain it). But then, the scope was never fully explored and rather than a development path being chosen on what was sustainable, the development path was chosen solely on what they were already using.

During our efforts in getting a Creative Space in Auckland started, one of our members kept going on about VOIP. Rather than getting the space up and running this one member's emphasis was all on getting a website and a bunch of wizz banginess set up. Never mind the fact that at that stage there wasn't actually a space. There is the fact that member is still involved where as I pulled away from Tangleball a long time ago.

This sort of thing could be seen sort of like a rot for projects. Asking the right questions at the beginning of a project - things like "What are we trying to achieve?", "How can we achieve it?", "Are we creating barriers with the way we're trying to approach things?", "Is this sustainable?", "Are we trying to shoehorn the new into the old and what is the risk/benefits or doing so?", and "Does the cost outweigh the benefit?" - is absolutely essential. And it wouldn't hurt to go through these questions several times over the life of a project.

You see this rot on just about every project and it's really hard trying to warn people about it. It's one of those things that's hard to define.  Either people are so entrenched in their positions, or are involved with someone who is entrenched (think legacy providers), that they refuse to see a problem at all or the issue hasn't reared it's ugly head and the full cost hasn't yet been realised.

In terms of cost, that should be seen as a cost to time, monetary, morale of those involved in the project etc. While it might not have a huge effect at the top of a project, the people in the trenches may be struggling. All because the scope is either shifting or just hasn't been defined.

No comments:

Post a Comment