Cathode Tan - Games, Media and Geek Stuff
logo design by man bytes blog

Friday, April 09, 2010

Adobe Evangelist to Apple: Go screw yourself

That's the message from Adobe Platform Evangelist Lee Brimelow on his latest blog post, speaking purely for himself he is keen to say - which is probably an understatement for what may be the most widely read post by Adobe lawyers...

While the firebrand stuff is fun, let's get to the meat of it:

Adobe and Apple has had a long relationship and each has helped the other get where they are today. The fact that Apple would make such a hostile and despicable move like this clearly shows the difference between our two companies. All we want is to provide creative professionals an avenue to deploy their work to as many devices as possible. We are not looking to kill anything or anyone. This would be like us putting something in our SDK to make it impossible for 3rd-party editors like FDT to work with our platform. I can tell you that we wouldn’t even think or consider something like that.

Lee's previous posts show that he was clearly engaged on the Flash on the iPhone side of development, so this has to be a pretty serious slap in the face. It's an odd intersection of company politics. As someone noted elsewhere: Adobe's goal is to get Flash on as many devices as possible. Apple's goal seems to be to promote as Apple specific of an agenda as possible.

Rumor Mill: Apple Blames Multitasking For Flash Ban

The primary reason for the change, say sources familiar with Apple's plans, is to support sophisticated new multitasking APIs in iPhone 4.0. The system will now be evaluating apps as they run in order to implement smart multitasking. It can't do this if apps are running within a runtime or are cross compiled with a foreign structure that doesn't behave identically to a native C/C++/Obj-C app.

"[The operating system] can't swap out resources, it can't pause some threads while allowing others to run, it can't selectively notify, etc. Apple needs full access to a properly-compiled app to do the pull off the tricks they are with this new OS," wrote one reader under the name Ktappe
-- Mac Rumors (via Apple Insider)

So you can't create a Flash app because of an OS that hasn't been released yet with a feature for essentially one of the iPhone models (and later, iPads). Wow - hope that face didn't need that nose after all. Even if this is accurate, it hardly sidesteps what is a big old FU to Adobe in terms of timing and a complete lack of conversation on the topic. Also, it seems a bit of an artificial crisis - I'm to believe that all Cocoa and all Carbon apps will play nice with the new multitasking API whereas Flash ones would start crashing phones? That doesn't sound sophisticated ... that sounds fragile.

Apple Tightens The iPhone Hegemony: No Flash Apps

This news is really just hitting, so there may be many slings and arrows of facts and opinions going around, but it seems like John Gruber's popular Mac blog Daring Fireball picked up on the fact that the new iPhone developer agreement insists that "Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs". (Daring Fireball / iPhone Developer Program License Agreement).

And for those scoring at home, linking against undocumented APIs was already a huge no-no...

So what does this mean? Well, since Adobe has released an "export to iPhone" feature for CS5, our office has been attempting to port our Flex and AIR concepts over to the iPhone and more recently the iPad. Gruber points out that these apps will be prohibited under the new agreement because they weren't originally written under one of the now blessed Apple languages. Essentially Apple is saying that if you didn't compile using either their chosen framework (Xcode) or a technology so transparent nobody cares (WebKit) ... you can take your ball and go home.

This is moderately huge for Adobe, which has made a large push in having CS5 be iPhone ready. Many in the development community saw this as a kind of compromise - Apple wasn't going to give in when it came to embedded Flash in WebKit (which they would have no control over) but Flash developers could still submit apps in for review and have them posted on the App Store like other apps.

Gruber puts it in more sanguine terms:

There was no mention of this change during the announcement event today, but the language in the agreement doesn’t leave much wiggle room for Flash CS5. It could hardly be more clear if they singled out Flash CS5 by name. (Wonder what Adobe does now? CS5 is this close to release and the iPhone compiler is the flagship feature in this version of Flash. They’re pretty much royally fucked.)
-- New iPhone Developer Agreement Bans the Use of Adobe’s Flash-to-iPhone Compiler

On purely technical terms, I can think of one and only one reasonable explanation for this move. I'm a bit rusty on Apple's inner workings, but I believe when an Xcode compiled app is bundled up to Apple for review - Apple can examine the source code. Some developers who have attempted to bury features within their application to avoid review have discovered it isn't quite so simple. A CS5 compiled application may circumvent all of that as the code never existed in a known Apple framework like Cocoa (Obj-C) or Carbon (C/C++). Since WebKit tech isn't compiled, it gets a free pass as well.

Of course - it would seem like allowing developers to submit source code might be a more rational route than simply giving Adobe the one finger salute.

If we look at it from non-technical terms, things get even murkier. Gruber suggests this isn't singling out Adobe, but is creating a boundary specifically at Apple's own framework and hence also exiling MonoTouch and the like. A way to paraphase this angle is that Apple doesn't want to devalue the Cocoa application framework by having other frameworks sail in the same harbor.

I think it is overly kind to suggest that Adobe isn't the main ship down the irons of Apple's cannons, though.

From my perspective - I think Flex and AIR are very capable development frameworks which bridge the gap for many coders between the worlds of native and web applications. AIR, for the record, has many of the same restrictions that a normal web application would have - it just offers decent hooks into certain native level pieces of functionality like notifications, limited file support, and an integrated database. What I think really sucks is that both Adobe and Apple are looking specifically at Flash ... and as I've said many times: Flex is not Flash. AIR is not Flash. They compile to Flash, sure, but they're very different beasts. The iPhone and the iPad could benefit greatly by these technologies by lowering the barrier of entry to creating iPhone apps. The suggestion has been made many times that Apple's main concern with Flash is a potential competitor to iTunes for music and video consumption. OK, fine - but does that mean there is no review process which could allow someone to write a decent data driven app?

Honestly, I think both Adobe and Apple are getting it wrong by focusing on Flash over AIR. AIR is far more akin to WebKit development than Flash development. Basically compiled web technology, AIR uses XML and ActionScript instead of HTML and JavaScript. The advantage is that AIR provides a robust component library and the previously mentioned hooks into the native OS (via the VM). Flex is AIR without those hooks, running in an embedded instance.

If AIR were a viable development option for the iPad, it would give developers a logical three stepped option for coding: purely native in Cocoa/Carbon, compiled web technology with native hooks a la AIR and uncompiled web technology via WebKit.

The kicker is that Apple's actions will only drive more developers to the latter. Which offers a great deal of functionality with HTML5 - but would still lack key integration with components like the iPhone's camera (AIR could provide that with the VM).

Anyway, I think the short, short version is that this sucks. I rather like Objective-C and iPhone development in general, but this feels like a scorched earth policy to maintain a tight grip rather than a positive for anyone but Apple.

Thursday, April 08, 2010

Game Play: We Rule (iPhone / iPad)

I could write the shortest joke review ever right now:

Farmville. With bugs.

Get it? Bugs? Oooh, ok. So if you aren't familiar with the FarmVille game concepts, you probably aren't on Facebook. If you were, there's a good chance you know someone who has many, many status updates about a crop they grew, or a puppy they found, or a building they built, or ... something. Basically a stripped down version of the SimCity metaphor, in FarmVille styles games you grow something, harvest something, sell that something, and build stuff with the proceeds.

And that's pretty much it. It's mindless, but somewhat addictive in that consumer driven gratification kind of way.

Ngmoco has released We Rule for the iPhone and iPad. Same concept: plant, harvest, sell and build. Buildings can also be "harvested" over a period of time as they generate goods (or taxes or whatnot). Harvest, expand your land, buy better buildings, repeat. Again, it's mindless fun as you add new things and move them around.

And the price is right: We Rule is advertising based and free to download. Like many of these games you can spend real money to buy more "mojo" to make crops harvest faster, or buildings build faster or whatever. Time is very important in We Rule. You plant crops and those crops take X amount of time before they can be harvested. You can spend more time "in game" and harvest wheat every five minutes and make more money, or plant longer harvest crop which requires less attention, but gives less profit.

Up to this point, the game is rather dandy. I wouldn't strongly recommend it except that it's free and hence pretty harmless to try.

However, Ngmoco has been plagued with stability issues. Sometimes you can't log in. Sometimes the game can't get a response as to whether you can actually harvest those crops. Sometimes you'll get into your kingdom and find it in some bizarre state, like everything is shown as "harvestable" when in fact - it isn't.

And since you can't play the game offline - this can get to be something of a bother. Nearly everything the game does gets sent back to the server in some way. If you want to plant, it needs to ask the server. If you want to harvest, it needs to ask the server. If you want to build, it needs to ask the server.

When these things go wrong, you can and will lose crops (crops die after their harvest period expires). And hence, you've lost money. So the game is essentially punishing the user simply because of the way it is designed.

Which is pretty annoying. Ngmoco clearly has a hit on its hands - but only if it can clear up these issues. Mindless and somewhat entertaining is passable, especially for an ad-based game. Mindless and somewhat annoying is not.

Oh - and Ngmoco? Stop asking if I want to download your other game while I'm playing the one I'm currently am not sure works. Get one working, then maybe...

What's Really Wrong With Mobile Digital Comics

Doctorow can complain about how you can't share your digital comics all he wants, that's not really so much of a problem (in fact, I've bought many, many comics and this point never really occurred to me).

There are, in fact, many benefits to digital comics. They're well priced, easy to download, you can keep an entire library online and download only what you need, and with iPhone readers from iVerse and Comixology - they are very readable in just the palm of your hand.

They're handy, they're not expensive and they're easy to manage. Pretty much the only reason not to read comics on your iPhone is if you don't like comics - right?

Well, kinda.

Here's the deal: I'm tired of reading a title for a while, enjoying it - and then losing it. I'm currently in a twitter off with Comixology on whether the fact that they published Fantastic Four 544 and 545 - only to have 545 to be undownloadable and latter pulled is an actual mistake. Or if the 4-part "Wild Kingdom" plot of X-Men should have a #2, since #1 and #3 are the only ones currently listed.

I could run down a list of examples, but I'm going straight to my biggie. Joss Whedon did a run on X-Men called Astonishing X-Men. It had 24 normal issues and then ended in a 1 giant sized (called, Giant-Size Astonishing X-Men of all things).

And neither iVerse or Comixology currently offer the full run (which ended back in 2008). Comixology offers the 24 issues of the normal run, which basically ends the story on a cliffhanger. And iVerse apparently runs up to issue 16 - which just ends in the middle of a plotline.

I spent a decent amount of money getting all 24 issues of Astonishing - only to have the ending kept away from me. If you bought a $25 book and someone ripped out the last chapter ... you'd be pretty annoyed, right?

The current state of digital comics, at least on the iPhone - is that it is something of a novelty. I used to enjoy them in part because it was a great way to discover new titles, but I'm still waiting to see what happens at the of the end of the truly excellent The Stuff Of Legend. Buying comics is like investing in a storyline - but this distribution is more geared to random selections of random titles. The Marvel line up is particularly bad about this - one week it's all X-Men. Then it might be Avengers. Then it might be Fantastic Four. You just don't know and if you were interested in reading what happened next to last week's selection - well, you're just out of luck.

It's annoying ... and I'm pretty much done with it. Instead of watching releases week to week, I'll check back in from time to time to see what series get completed. Then I'll consider buying them. This is just buying comics for comics' sake though.

I'm clearly talking specifically about the mobile delivery systems - I haven't tried PSN's new service or poked around elsewhere ... but I'll keep my eye out. Update: changed the title to reflect that, as I peruse DC's and Marvel's subscription services. Course, that is cutting out the indies.

Wednesday, April 07, 2010

TV Watch: Lost, Happily Ever After

About half way through this episode, I was really bemoaning the fact that it was clearly going to be a LA X heavy one - but I think the clever use of Desmond pulled it out in the end.

There's a "have cake, eat cake, still want cake" problem here - I've been mentioning nearly every week how the LA X world is clearly not "real" and yet we've only gotten a few nudges from the writers that anything is going to actually happen about it ... well, now something is clearly going to actually happen about it. Desmond "I have a constant" Hume is going to tie the whole thing together. Old Mr. Hume may have just been upgraded to one of the more important characters in the story, and I'm hoping this time it won't be quite the "time traveling Jesus" style that it was before (which resulted in sometimes clever, sometimes annoying results).

My real issue with this episode is that it spent a great deal of time unravelling a lot of details we sorta already knew - primarily that the LA X world is a construct and not an accidental one. However, bonus points for making "love" the key ingredient in poking through the veil of construct without making the average viewer wanting to puke sugar. The final scene with Desmond was touching and fun, not disgustingly romantic.

The question for me is - is Desmond walking behind Sayid in the jungle or driving around with George ... or both? He's the only character who appears aware of transitions between the island and LA X, and they're coordinated so it isn't necessarily like he is simply remembering one during the other. Course, the entire episode took only a few minutes to him "island time" ... so perhaps he can multi-task competently.

So not a lot of exciting reveals, but certainly a major plot push forward. We have some serious movers on the island now - Richard, Man in Black, Widmore and Desmond. This isn't a simple battle between opposing forces anymore.

Tuesday, April 06, 2010

Why Doctorow Not Buying An iPad ... Is Not News

Oh wow, Cory Doctorow doesn't like the iPad - let me go and get my face of complete lack of surprise.

Of course Doctorow doesn't like the iPad. Of course he isn't going to buy one. The man, for one thing, hates iTunes. Anyone who hates iTunes is not going to buy an iPad. Here is a post from Cory back in 2006 about the evils of iTunes, and don't neglect to forget to read the comments as many point out some of the basic factual problems with Cory's argument. This is very, very common with Cory. Cory claims he "was a CD-ROM programmer at the start of my tech career" - but we need to be specific here: Cory often has a very tenuous understanding of technology. Remember that Little Brother has a main plot point where Microsoft gives away a new version of the Xbox for free, only to have it used to play freeware MMO's when kids aren't running around playing ARG's.

Or when he railed on iTunes because it sold Bob Dylans Modern Times with the music videos encrypted so that you couldn't burn the audio off them ... even though they were music video extras of older songs.

Or of course, my personal favorite - when he announced on Boing Boing that the PlayStation 3 would not play Blu-Ray movies. Let's take a step back on that one, folks. Sony had put serious bank on Blu-Ray as a format for the PS3. They had risked a higher price point on the console against two serious competitors. They were trying to drive a market not just for their new format, but to increase sales of their HD line of televisions as well.

Of course the god damned thing was going to play Blu-Ray movies. That was like ... the whole point. A better argument is that the device was better suited for movies when first released. You have to be completely blinded by your own argument to even begin to type such a post. This is a post that defies a basic understanding of both technology and how the technology industry operates.

So let's take one bit out of Cory's current complaint:

So what does Marvel do to "enhance" its comics? They take away the right to give, sell or loan your comics. What an improvement. Way to take the joyous, marvellous sharing and bonding experience of comic reading and turn it into a passive, lonely undertaking that isolates, rather than unites. Nice one, Misney.
-- Why I won't buy an iPad (and think you shouldn't, either)

So firstly, my brother and I bought many, many, many comics as kids - and we never really got into any kind of mass sharing commune like Cory describes. Yet we still loved them. This is another fine example of Doctorow manufacturing what he believes to be the order of things. Story? Artwork? Fun? No, no, these aren't nearly as important as being able to give away what you bought. Cory also neatly avoids the fact that his argument is true of the entire eBook industry or that market data about the amount people are willing to consume on the products pretty much pulls the carpet out from underneath him. Real consumers don't share Cory's desire for sharing everything. Real consumers weigh the benefits of being able to download a comic in a few seconds and have an entire library at your fingertips versus the cost of storing many years of collecting comics in your mom's garage.

Benefit outweighs costs. Marvel 1. Doctorow 0.

Doctorow continues to moan about how you can't take the thing apart (I've been taking computers apart and putting them back together again for something like fifteen years - trust me ... you aren't missing much), how Apple is Wal-Mart, and yada freaking yada. Let's jump to the end.

If you want to live in the creative universe where anyone with a cool idea can make it and give it to you to run on your hardware, the iPad isn't for you.

There's only a partial truth here. Firstly, the barrier of entry to developing an iPad app isn't nearly as bad as one might think. Get a low end Macbook. XCode is free. Cost into the developer program is $99 a year. It's not cheap - but it isn't as expensive as many other forms of development. Cory is, once again, willfully neglecting to tell you the whole story. Sure, when computers could only do 4-bit graphics and had 640K of memory, it was a lot easier to be a garage hacker and come up with neat application. These days the gap between the "person with the cool idea" and the "one who can make it" is vast. And sure, if you have managed to get past that very practical truth - you have to get past the App Store Review. But while the review is chaotic ... many, many, many apps make their way online.

And (another point Cory forgets) if you're developer, you can always use Ad Hoc distribution. Here's the description, right from Apple:

Share your application with up to 100 other iPad, iPhone, or iPod touch users with Ad Hoc distribution. Share your application through email, or by posting it to a web site or server.

And (yet another point Cory forgets) if you really want to start coding something interesting and don't want to bother with any of that - make a cool web application. Mobile Safari is a very sophisticated web browser, capable of many of the application design concepts with HTML 5 and the iPad neatly solves the biggest issue - dealing with the iPhone's tiny screen. You can do that with nearly any PC running Safari, and deliver it for free to the entire Internet. This is, for the record, my current development plan for anything not work related.

Doctorow does this every day. He has Boing Boing, he has his stories which are freely available online. There are even apps for his comics which you can get on your iPhone and iPad. So Doctorow disproves his own argument. He has cool ideas. He makes them. He shares them with all those poor iPad users.

And his closing statement:

If you want to write code for a platform where the only thing that determines whether you're going to succeed with it is whether your audience loves it, the iPad isn't for you.

Sadly, fair readers - that platform simply doesn't exist. There will always be hurdles between you and your audience, and even if every single one of them loves it ... you'll encounter those hurdles.

However, if you want to code (or write, or draw comics, or whatever) for a large and voracious audience - the iPad probably is for you. It arrived on Saturday and there have been one million apps downloaded by Monday. There were 250,000 eBooks sold.

The iPad is not going to change the world. But it does provide a very interesting market.