Archive for November, 2008

Nov 27 2008

So Google uses undocumented iPhone APIs

Published by under Programming,Thoughts

The word is out that Google is using undocumented functions of the iPhone Application Programming Interface (API). While this is a violation of the license agreement of the iPhone Software Development Kit (SDK), strangely enough, Apple approved that piece of software from Google.

Now of course, you hear all kinds of ridiculous justifications from the Apple fanboys and zealots why Apple rightfully allows mighty Google to have a competitive advantage over some small garage developer whose software would never have seen the light of day when it had used an undocumented iPhone API.

Since most Apple users do not know – or care – much about software development but have too much confidence in Apple and mighty Google instead, you hear mystical arguments like “Google has enough resources to test an undocumented API, a small developer has not”.

Well, it doesn’t matter whether you’re Google in all its shiny glory and might or a John Doe developer in your garage. It never is the job of a developer to test an undocumented function. Only the creator of the framework can properly test undocumented functionality and then properly release it.

There are only two reasons why APIs are undocumented:

1. The specific undocumented API itself has not yet been thoroughly tested enough by its maker, in this case Apple, and therefor the API is deemed unstable and subject to change. Using an undocumented API can render an application useless over night in case that the maker of the framework/API (again: Apple) decides to change the definition and name of the API, its functionality or just drop it from the framework entirely.

2. The second reason is simply evil. You create – and use – undocumented APIs to have a competitive advantage over third party developers. Microsoft has been sued over this again and again. If Apple condones this use of undocumented APIs, then it is plain and simple foul play on their part.

Now, of course, you also hear that many people believe that the iPhone is more accessible to developers than any other smartphone. This belief is mainly founded in the very visible AppStore that Apple designed to be the only option to distribute third party software for the iPhone and iPod Touch. Since everybody is selling their software there, it seems that there is mass of software for the iPhone that other mobile phone platforms don’t have. Because it is all visible in one place.

In case that you are lucky and Apple choses to publish your application on the AppStore, this probably is a good thing for you. Only one distribution channel to worry about, limited advertisement costs, people will find your software. It’s a very streamlined distribution channel.

But in case you are among the software developers whose software gets arbitrary rejected by Apple, or in case you want to sell something that does not fit in Apple’s “Disney-Pixar” morality, let’s say you want to sell a Strip Poker game or maybe just something that will compete with Apple’s own software, like, say, a web browser (hello Opera), or maybe you want to add tethering capabilities to the iPhone (as the company Nullsoft tried to do), your software will never get sold to anybody.

Apple rules the iPhone platform with an iron fist, like a French monarchy.

So saying that the iPhone being more accessible than other smartphones or PDAs is just uninformed, wishful thinking. Or plain bullshit.

Unlike the iPhone, smartphones using Windows Mobile have been open for every programmer on this planet from day one. Openness to third party developers has always been a major cornerstone of Microsoft’s platform strategy. (They just don’t like competing platforms or applications that compete with their core cash cows, like spreadsheets and word processors .)

Now you might hate Microsoft like almost every other Apple customer or open source zealot, but unlike Apple, Microsoft does not create viable platforms for an entire industry by accident. Microsoft creates platforms intentionally and by design, and when Steve Ballmer gave his “developers, developers, developers” rap that wasn’t just a bad show performance, but it really was what Microsoft’s philosophy is all about.

Apple doesn’t care about software developers. They never have and they never will. To Apple, third party developers are a necessary evil at best. But Apple knows that they cannot do everything alone, and they hate it. Providing SDKs to other developers is always an afterthought at Apple, not at the core of their strategy. That’s why the world had to wait that long to get an iPhone SDK in the first place. Along with the AppStore where your only choice is to put up with Apple’s arbitrary decisions when you want to make some money there. Again, the problem with the AppStore is that you just cannot know whether your app will make it there or not.

You. Just. Don’t. Have. That. Shit. With. Microsoft.

Hell, Microsoft even opened the Xbox 360 platform to indie developers. Now ask Sony and the others if they ever intended to do something like that.

So no, the iPhone is not the most accessible platforms for small developers. It is exactly the opposite.

Ultimately, openness has always won over closed systems. And, no, open source folks, openness does not mean ‘give me the code’. It means ‘give me the API specification and let me publish my stuff the way I want’.

Like the Mac, the iPhone will remain a niche product and won’t ever get a dominant market share. They might have a chance to gain market domination if they opened their platforms, meaning the software, the operating systems, to other hardware vendors. If Microsoft DOS had only run on IBM PCs, it would never have become the industry standard. And if Microsoft Windows had only run on Compaq or Dell computers, it wouldn’t have become the current industry standard either.

The policy of tightly bundling their software to only their hardware has always been in the way of Apple’s success. Sure, there obviously is good money to be made in a niche market, but I don’t like this narrow-minded attitude.

Comments Off

Nov 24 2008

Left 4 Dead and Gears of War 2 (Xbox 360, UK Versions)

Published by under Games

I’ve been playing Valve games since the original Half-Life 1, and I’ve played Half-Life 2 and the complete Orange Box on a PC and on the first generation 20″ iMac Core Duo in both XP and Vista, and I’ve also played the Orange Box on my Xbox 360.

Guess what? Like with everything else by now, I prefer playing Valve games on the Xbox 360, especially now that we can copy our games to the hard disk of the 360.>

The only significant difference between a console game and its Windows version these days is that all games will always run on the console they were written for, but you will never have a guarantee whether it will run on your current computer without the need for upgrading the graphics card, the CPU, the operating system or adding more RAM. And you don’t have to deal with any horrible copy protection mechanisms on a console.

Since the release of the Xbox 360 and the PS3, consoles have finally won the battle against gaming PCs. It just does not make any sense anymore to invest into a gaming PC; the costs are too high and there are no benefits to it.

That being said, I have the full version of Left 4 Dead running on my Xbox 360 and played through two of the single player “cinematic” episodes so far. Again, I’m playing the game on a 1920×1080 resolution.

The graphics are about as good as Half-Life 2 but cannot compete with Far Cry 2, Call of Duty 4 or any Unreal 3-engine based game. Still, the graphics are good enough even by today’s high standards.

The artificial intelligence of the computer companions is quite good, they talk a lot and feel “human enough” for this type of game.

The game itself… Well. You must love zombie shooters, and I mean really love them, otherwise this will be a huge disappointment for you. The only objective is to stay alive and get the hell out of the city. There is no story. None at all.

The selection of weapons is very limited and so is the variation of zombies and their attacks. The gameplay is very repetitive and I think you cannot spend more than one or maybe two hours in one gaming session on this without getting bored.

This game is not like the Xbox 360 classic Dead Rising, which is also very repetitive and quickly becoming boring, but at least in Dead Rising it will take you a couple of days to fully explore the shopping mall. However, Dead Rising was a single player only game, and Left 4 Dead is all about a co-operative multi-player experience. Except for the general scenario – survive a Zombie holocaust – they cannot really be compared, but fans of survival horror games will want to compare them nevertheless, especially when they will only play the game in single player mode.

Left 4 Dead is a simple, casual zombie shooter. An acceptable game for genre fans, but probably a bad choice for everybody else.

If you want something really great that in my opinion is even more amazing and awesome than the hype makes you expect, give Gears of War 2 a thorough look.

The original Gears of War was already a great game, but it just pales in comparison to its sequel. It almost looks as if the original Gears of War was made a decade, and not just a year or two, ago. Not graphics-wise, because both games are based upon the same Unreal 3-engine, but gameplay-wise.

Gears 2 actually has a story and even something that can be called character development. And, as Arnold Schwarzenegger would say, “it has a lot of action”. They’ve put everything into this game that Gears 1 was missing, and they’ve even added a few things none of us have ever thought about. On top of that, the game has a dense atmosphere and several funny references to Gears 1. Of course, Marcus Fenix is cool as always, barking his commands and optimistic statements, but he is also showing emotion this time.

Gears of War 2 is a must-have. Just prepare yourself for a fast and tough ride.

Comments Off

Next »