The iPhone will lose

I’m sure you might think it presumptuous to announce that the phone which is selling more than all other touchscreen smartphones combined is going to be defeated in the war of the phones, but unless Apple gets its act together we really will see a repeat of the Macintosh tale. A story where openness is rewarded and tight control fails. Of rational communist style sensibilities crumbling to the anarchic chaos of capitalism.

The Google Voice story is only the latest in a long stream of controversies in the AppStore, but it is the one that has pushed reactions beyond mild frustration to stark outrage. It has been a long time since Apple has last had to deal with very evident negativity from not only the media, but in its loyal fans. There is now real talk of people ridding themselves of the iPhone, as soon as those pesky contracts are over.

It’s not that the phone is bad. I still stand by my statement that the iPhone is the best phone I have ever owned. It jump started the mobile Internet revolution in a way which no previous device really was able to do. Unlike the klunky S60s, the iPhone is a sheer pleasure to use and the AppStore is beautiful compared to awkward operator services that nobody bothered with. It does so many things right that you have to wonder what other companies were wasting their time with all those years. Besides, it’s even great for ringing people.

However, for such an Internet savvy gadget to be tied to the whim of a mobile operator — and an American one at that — is a pure crime. It is a device of epic engineering and attention to detail, but almost ruined by outdated and near-sighted policies.

I say ‘almost’ because I still own and use one daily. While many people I know refuse to purchase an iPhone to avoid being a part of that prison, I still took the plunge. I hated being tied to one operator, but the phone is that much better than the alternatives.

It is worth noting that while Apple has the lead right now, that lead is going to get smaller. The competition is playing catchup and the gap is rapidly closing. At some point that gap will be small enough for people not to care. At that point the applications will decide the phone, and right now Apple is limiting innovation taking place with their platform. Consider, for instance, that I can use VOIP over 3G with just about any other phone available here, yet I’m left out with the iPhone.

The final blow would be any rejection of Spotify. Something that quite possibly should take place. After all, it competes quite directly with the iTunes hegemony and thus duplicates functionality of the iPhone — something that is forbidden in the AppStore terms of agreement. Not only that but it is likely to be a bit of a net hog, which AppleT&T seems very keen to avoid. If they really do ban it, loads of people will be considering a new phone. Maybe Apple should just suck up and buy Spotify?

I am sticking with my iPhone for now. Like many others, I have to. However, if things continue the way they are now, with better competition and no change in policy from Apple, the story in a year might be very different. One to two years is all they have.

Published in:  on 2009/07/31 at 07:39 Comments (3)
Tags: , , , , , , ,

TV companies need to wake up

Now I know I’m not the only one saying this, but TV channels are likely to disappear in the future, or become something much more fluid and independent. Like I could set up my own TV channel with all the cool shows I like, and anybody who cares could follow it and thus find out about new content. I would get revenue based on people watching.

The old creaking TV stations have already lost a lot of their traditional strength. Whereas before you would collect round a TV to watch your favourite show on one of the few channels available, now it’s just coded into your DVR. Most of the time I don’t even know what channels programmes are coming from. But, more importantly, channels are full of random repeats and the odd out of date import. They are thus already becoming less of a venue for the latest and greatest show, but instead a stream of content clips. From the viewer’s point of view it no longer matters where the episode of a show is coming from. It’s the content itself that matters.

Apple, and some others, seem eager to move this to the next phase by providing easy ways to shop the content you want, and watch it as you please. The problem here, and the opportunity being missed, is that content is still sold based on geography. That’s so last century. It’s ridiculous that the whole world is now actively connecting with each other, and yet I can’t legally join my UK companions in catching the latest Doctor Who episode, as soon as it is out. I can have a video conference for free with someone in Japan, and even cinema releases are now digitally syndicated throughout the world at the same time, but I can’t watch the latest dull twist in Lost.

TV companies are so fixed on the ancient distribution networks that they haven’t realised that the content they have created is the truly valuable asset. It is incredible they show so little interest in making money off of that. The BBC or any other content producer could stick the latest material online the minute it is available, and charge a decent fee so that anyone in the world could watch it. And, believe me, there are millions who would be waiting to do just that. Instead they try to sell it to cash-stripped TV channels around the world, who often don’t even buy the content. Happens all the time: nobody in Finland can legally watch Doctor Who, or Battlestar Galactica, however much they’d want to.

Not that the small matter of legality will stop them, of course. It only means the Beeb is not getting any money from them, and how dimwitted is that? On the positive, this is likely to change very suddenly. It will only take one or two serious content companies to do this, and everyone else will immediately follow. It just makes too much sense to ignore. Unfortunately sense is the one thing often lacking in media business.

Published in:  on 2009/06/12 at 17:34 Leave a Comment
Tags: , , , , ,

Webpages are not meant to be wide

Yes, this is something I have complained about for years, and will likely be forced to do so for many more. The only people who will appreciate fat pages are those who maximise their browser window. In other words:

  • Morons
  • Windows users

And yes, more often than not, these are actually one group. Maximisation goes back to the days of pre-95 Windows, when nobody seriously multitasked with their system. The ability to do that was something only propeller hats had (notice how something more technically advanced is always propeller hat territory before YOU have it too?).

Blame tradition or bad UI technology, but the habit has stuck. The difference is nowadays you’ll see people with huge widescreen displays, and windows still maximised. Will their brain be overtaxed by multiple inputs? Maybe it was a mistake to use the plural form when Microsoft was debating a name for their product.

To the users of Microsoft Window: books are generally not in landscape format. Neither are magazines, newspapers or posters. There’s a clue hidden there somewhere. In fact, by using maxed windows you lose a lot of the benefit you could have with a widescreen display. Consider the amazing possibilities you could have with two windows side by side! Then again, I guess we should just be happy you’re sitting at your facebook desktop and not, say, operating a fighter jet.

It’s a growing disease as well. Take a look at WordPress, for instance. I had to widen this browser window by 100 pixels or so, just to be able to edit this text. WordPress’s design has loads of horizontal space being wasted and elements laid out horizontally when they could work quite well vertically. Now I feel squashed into my tiny text area. I also saw the preview of Window 7 and it seems MS is keen to help by having windows automatically maximise when you move them to the edge of the screen. How wonderful.

Not only is all of this a problem for people who actually like the ability to see multiple windows on their desktop, it’s a problem for mobile use with small and narrow screens. Take a clue from the iPhone: everything there uses a vertical layout style. In fact, the normal UI widgets for tables are actually just lists. There are no grid style tables.

It really isn’t that difficult to design something with a sensible browser window in mind. Use more vertical layouting, don’t add heaps of empty horizontal space, allow your elements to scale. It’s all to do with the right mentality. A bit like having your toilet rolls with the paper correctly hanging over the top.

Published in:  on 2009/06/05 at 13:54 Comments (2)

correctWayToNameCode

Perl and Python share one particular idiosyncrasy I dislike, the habit of naming_stuff_with_underscore.

There was a time when I mocked naming variables, methods and functions in a verbose way. I had just learnt C and anything longer than atoi seemed wasteful of precious, uhm, something. I was sure someone would die if anything longer turned up. It’s true, overly long names can sometimes make code very difficult to read, and often used things should probably use short names. However UIAlertView is a helluva lot clearer than UIav, and drinkBeer is a lot easier to swallow than a plain, short db, especially after calling it a few times. 9 times out of 10 abbreviating things or using cryptic names will only make it more difficult for anyone planning to maintain the code.

So what does this have to do with how variables should be named? Simple, really. It’s to do with our brain. If we have now agreed that verbose names are good, we know look at how those verbose names look like. As anyone who has coded until the early hours will know, humans are really quite bad at parsing stuff a compiler does with ease. Otherwise we’d never miss that missing semi-colon. So, going back to beer, here is one example:

beer_crate.guinness_can.drink(gulp_factory.create_gulps(3))

Sure, this particular object model feels a bit Javaish, but it’s not uncommon to see code like this, and obviously I’m trying to emphasise the point. Not only do the underscores visually separate terms which are actually the closest to one another conceptually, they can get mixed up with the dots, especially with monospace fonts. I don’t mean it’s impossible to read, but it’s not as easy as it could be, and with heaps of code staring at you, anything helps. Just try to imagine pages full of that.

This really dates back to when there were just functions and none of this OO nonsense . drink_guinness() is not particularly unclear in comparison. However, as OO rocks for other reasons, we have to live with structured calls. For comparison I’ll use the common syntax of a couple of other languages:

beerCrate.guinnessCan.drink(GulpFactory.createGulps(3));

[beerCrate guinnessCan] drink [GulpFactory createGulps 3]

[[beerCrate getGuinnessCan] drink: [GulpFactory createGulps: 3]];

Take your pick, but any of those are clearer, despite messing around with a silly factory class. Our brains are wired to separate space and thus they are very effective at parsing those into chunks of related information, without underscores to confuse the parsing. Not only that, but they’re quicker to type too (if only marginally).

Almost every popular language out there has widely adopted the camelCase format, at least for public APIs and libraries. And quite a few less popular languages have too. There are good reasons for why this is good.

The really ridiculous thing with Python is they have been unable to decide what they want. Classes are named properly, variables and methods are not. In fact, there’s loads of Python code that proves my point about brain parsing. It’s not uncommon to see something like: beercreate.guinnesscan.drink(). Yes, that is easy for the brain to parse into chunks as well (possibly even easier than camel case), but it’s bringing in another problem: word separation. A separate issue, but not one to ignore either.

Python goes as far as to have this underscore style presented as ’standard’, so any glimpse of originality will be immediately squashed with a “but it’s not policy”. And no I didn’t read the PEP. After all, I know I’m right.

Published in:  on 2009/05/22 at 17:49 Comments (3)

Complaining leads to development

I started this blog firstly because sometimes it could be useful to have a personal blog, instead of using Scred’s Blog ScreditCrunch for everything, but also for my fundamental need to complain about things.

We had a debate about this one day, and it is my firm belief  that to complain is to develop. I’m not talking about an old lady groaning about you leaving a car in a car park for 2 minutes while dropping off your fiancee (yes, been there), but ‘constructive complaining’. The type where you notice something basically sucks, and it could be improved. As an example, one might be a fan of AltaVista, but then come to realise it’s a bit annoying that so many of the results are not very relevant or useful, and that, you know, maybe finding out what sources link to a page could be a good measure of relevance. Something like that.

I am a natural at this. I stumble across things all the time that frustrate me, just because they’re crap or do things wrong. Automatic taps which don’t work, non-obvious usage for bus card devices, annoying HTML template systems… A lot of great companies have been founded on the realisation that an existing solution is rubbish. And, before anyone mentions, I am fully aware there are many things in Scred that are frustrating. We’re doing our best to rectify them (although it still is a helluva lot less frustrating than the alternative).

So this, I hope, will be my take on everything that is wrong in the world. I hope you’ll find the posts worthy of a few complaints themselves.

Published in:  on 2009/05/21 at 14:33 Leave a Comment