|
|||||||||
|
|||||||||
|
|||
|
With the release of Apple's SDK, the development community has come to the rude awakening that it's not all it's cracked up to be with its restricted features, missing methods, and heavy distribution scrutiny. Nobody had imagined that a development platform would be so heavily DRMed, but it looks like the compiler itself even includes DRM key exchange components. Where does this leave developers? Well, it looks like it's impossible to build anything with the Apple SDK that is DRM-free, possibly requiring approval from Apple just to run.
Apple's SDK restrictions appear to be taking a swipe at the open source community, which has already developed a functional open SDK (the tool chain), community distribution channel (via Installer.app, PXL, etc), and a very large audience of users. Nick Penree of Jailbreakme.com fame found over one million users used his site to install NullRiver's community installer on their device - just within the first few weeks. Apple is in fact lagging behind the open community, and rather than the open source community duplicating commercial efforts, Apple is embarrassingly the one trying to duplicate the open source community today. As a result, many of Apple's SDK restrictions appear specifically targeted at this established community: Apple has banned NullRiver's installer app, as well as PXL and other software installers, essentially locking out any third party distribution channels from iTunes (which may equate to unfair competition). They have also guaranteed themselves full control over the accessories market by limiting the SDK's ability to communicate with accessories. Finally, Apple has secured themselves potential contracts with game manufacturers, such as Nintendo, and with companies such as Sun and Adobe by banning any software that "executes another program's code" on the iPhone. This means companies will need to ink a special deal and pay a hefty ransom to Apple to release things like Java, Flash, and video game emulators (many of which are already available using the open tool chain). The good news is that, in spite of Apple's attempts to thwart "unauthorized" software development on the iPhone, we now have two different SDKs to choose from - the open tool chain and Apple's. Enterprises requiring DRM control of their software, who can live with the restrictions that Apple's SDK imposes, are likely to fair well with an "officially supported" compiler and support from Apple. But where Apple has left the rest of the development community out to dry - that is, open source developers and small software houses (which will likely not see the light of day until 2009), the open tool chain provides the only way today to build DRM-free applications for the iPhone, and a distribution channel that can reach as large an audience (albeit, not as captive) as iTunes can. The open tool chain also runs on Linux and Windows, and doesn't restrict the developer from using any of the more advanced APIs - you can even run applications in the background, as God intended it. The various dev-team camps have made it so easy to add custom applications to the iPhone, in fact, that any grandma can do it today with just a few clicks - almost easier than using iTunes! It seems that now, more than ever, does the community need to support the open source tool chain and the ability to freely write and run software for the iPhone. Why? Because Apple's SDK is designed for enterprise - and makes no bones about alienating everyone else. Fortunately, we have a free tool chain that has almost a year of maturity, a fantastic (and free) support base, and hundreds of great applications available today for the iPhone that anyone can download and use. The Apple SDK, as many have come to find, has seemingly crippled much of the functionality that initially set the iPhone apart when first launched. Even simple features like the ability to run a program in the background, have been crippled in the Apple SDK. Fortunately, the APIs that the open tool chain uses seem to reflect more closely to the "real SDK" used by Apple to create their own applications. Most of the objects you use in the Apple SDK appear to be "wrappers" around these real objects, which limit their functionality. It's like a "fisher-price" SDK, so developers have a horn to honk, while Apple uses the private APIs for "real" software. While the Apple SDK lets you write applications that look somewhat like iPhone applications, the open tool chain allows you to get right down to the metal and write applications using the same objects as Apple's own applications - and use the same spectacular effects that are otherwise restricted. If you think about it, a lot of the agreements we see on hold today likely have to do more with monopolizing the iPhone's distribution chain than actual technical hurdles. Take Adobe Flash for example - it runs fine on 400Mhz machines, and even runs on weaker mobile phones without any problems. It's likely that rather than technical problems holding this up, that Adobe simply doesn't want to pay whatever ransom Apple is demanding to put code that "executes other code" onto the iPhone. All of Apple's restrictions and T&C for their SDK point to market control being the key factor. Just to confirm, the "Aspen" frameworks included with Apple's SDK appear to fully support the APIs used by the open tool chain - likely, because these are the real low-level APIs that are being used by Apple's own applications. While the Apple SDK has removed many methods from their headers, they still exist in the framework. For example, all of our old friends from UIHardware and UIKeyboard are in there: 30b32e9c t +[UIHardware deviceOrientation:] 30b3375c t +[UIHardware fullScreenApplicationContentRectForCurrentDeviceOr ientation] 30b32e40 t +[UIHardware fullScreenApplicationContentRect] 30be7744 t +[UIKeyboard activeKeyboard] 30be77d4 t +[UIKeyboard defaultSizeForInterfaceOrientation:] 30be7818 t +[UIKeyboard defaultSizeForOrientation:] 30be778c t +[UIKeyboard defaultSize] ... and so on What does this mean? It's very encouraging, as 2.0 is likely to run all existing applications written on the open tool chain with few, if any, modifications! And this makes perfect sense - otherwise Apple would have to rewrite their own apps (which use the same APIs), presenting a significant Q/A problem (bringing their software back to beta quality). Should this change in the future, I have already begun building a set of compatibility libraries that should enable tool chain applications should Apple ever try and remove support for it. As it stands today, the open tool chain is likely to be the dominant tool chain going into 2009, as the Apple SDK is clearly not ready for general adoption yet. Many pieces do not appear to function correctly, or at all, and there is presently no way to run these applications on the iPhone. Come June, only a limited number of developers will likely be admitted into the developer program, based on some remarks I've seen from Apple. The open tool chain works today, and has had almost a year to mature into what has become a very robust SDK with a large distribution base. I encourage developers to continue using it, and think it's going to be around for quite a while. Last edited by NerveGas; 03-10-2008 at 06:30 PM. |
|
|||
|
My concern is, will people with unofficially activated / unlocked iPhones be able to buy and install the official SDK apps? Because I am sure that there will be many "big" applications which will only be released through iTunes, and for sure iTunes knows whether you have registered an iPhone or not!
I don't want to miss out on all that new software (because I'm sure a lot of it will be compelling and worth the money) but I won't want to be forced into the very expensive airtime contract. |
|
|||
|
If Jailbroken, they should be able to use both.
|
| Sponsored links Remove advertisements | |
|
|
|
|
|
|||
|
Excellent post NerveGas.
Typically Apple can only see possible revenue avenues for its products and services, trying to squeeze every last penny out of us. In a way, they are kinda insulting, as without the vibrant and free-flow of tool chains, open source developers, jailbroken phones, the iphone would soon become boring and not very useful. Its all fair and good having a sexy looking phone, but it aint no miracle. Since using the iphone for a few months, some aspects of the software and UI are (and i'm going to shout and swear) F**KING SHIT. If I wasnt able to install the wonderful and interesting apps from Installer, I would be seriously considering selling the phone on ebay. To conclude, the money grabbing arseholes of Apple, have decided to go down the road of boredom, control and revenue opportunity. Ok, I suppose any company with shareholders would be similar, but there is no need to be rude to talented people, who spend their time developing, improving their product and making something potential boring (multi-touch UI - yeah, NEXT) into something more sexy than sex itself (c'mon i'm a geek you know ).
|
|
|||
|
Great summary, thx for the effort.
I hope people keep on dev'ing on the Open Toolchain ! Greetings, Ender |
| Sponsored links Remove advertisements | |
|
|
|
|
|
|||
|
Quote:
Quote:
Of course most of them won't be free, but I'm already paying for good shareware apps for the Mac so I wouldn't mind doing that for good iPhone apps as well. |
|
|||
|
If the "official" apps are indeed pretty special (e.g. kick arse games from EA etc) do you think there will be "hacked"/"pirated" iphone apps doing the rounds??? I can see this being a big problem for apple if possible unless maybe they keep prices to reasonable proportions however I guess big Software companies such as EA will be wanting a considerable chunk of cash from each software purchase
|
|
|||
|
Quote:
I'm sure that at the least, the downloaded official apps will be watermarked with the buyer's details, or perhaps the binary will only run on the phone with matching IMEI or MAC etc, but a determined hacker will always find the solution to that. |
| Sponsored links Remove advertisements | |
|
|
|
|
![]() |
| Bookmarks |
| Thread Tools | |
| Display Modes | |
|
|
|
|