Screw Apple (Again!)

Ok… so today’s announcements about revamping the iPod line was underwhelming to say the least, but something really struck another nerve with me.

I’ve been patiently awaiting the Nike+ announcement for the iPhone… Several times I’ve considered trading my new iPod Classic for my girlfriends iPod Nano just to use Nike+. I’m the kind of person that finds motivation to work out in graphs and charts of my progress… yea… I’m that kind of nerd…

So - the announcement that the new version of Nike+ only works with the second generation iPod Touch is immensely disappointing. Way to go Apple… make a product that is damn near mutually exclusive to the expensive iPhone that I own have one single feature I care about in an attempt to differentiate the two products enough so that everyone walks around with two nearly identical products… one in each pocket I guess…

I understand the reasoning behind not pushing a fitness app for the non-solid state hard drive based classics. That would be a genius bar nightmare… lots of fat nerds with their sweaty iPods that have been shaken to death from a few rounds around a track… but c’mon Apple… hook us iPhone users up. There is absolutely no reason to keep Nike+ away from us other to try to cash in on us double.

So, instead of the sweetness of being able to go out for a jog and, all out of breath, chime in on a conference call to tell some IT guy he’s an idiot while the latest Jack Johnson song is spinning in the background we’re left with the frustration of having to try to remember which iPhone looking thing to pick up to answer the phone call from work saying we’re late… again… hopefully we get it right this time…

Thanks for keeping us fat, Apple.

Apple is the new Microsoft… in a bad way.

Alright - expounding on my previous post and inspired by a lengthy conversation between Brit and myself; I’m about to open the flood gates of flame ware hell.  I realize this and I really don’t want to go where I’m about to go, but I’ve got to vent.  (I also realize that half of the comments I’ll receive will be from Apple fanboys that will fail to read anything except for the headline of this post.)

Recently Dirk Holtwick recieved notification that his application,Big 5, was rejected by Apples App Store approval process.  His application was built using PhoneGap, a project that allows access to the iPhone SDK through the use of Javascript - exciting because it means that web developers like myself don’t have to learn an obscure language like Objective C to get our ideas onto our iPhones; we can use a language we’re already comfortable with instead of fighting through a bunch of new classes and methods in an unfamiliar IDE, using unfamiliar syntax.

Ultimately Big 5 is an alternative to using safari on an iPhone - the big difference is that it allows a web developer to send alternate content that makes use of iPhone features to their users.  So - say I have a recipe website and I’d like to allow a user to take a photo of a dish they just cooked with their iPhone camera and upload it directly to my site - I could do so using a Big 5 enabled site and all I’d have to do is include a little bit of Javascript on my site.  Very cool.

What Apple is doing on the other hand - not so cool.

No telling how many hours went in to Big 5 development, but all Dirk got in return was the following email:

Dear Developer,

We’ve reviewed your application Big Five.   We have determined that this
application is of limited utility to the broad iPhone and iPod touch
user community, and will not be published to the App Store.

Sincerely,

Nice of them to let him know why his app didn’t make the cut. Several theories abound, but the one that bugs me the most is that the SDK agreement that a developer agrees to when they download the SDK states that an application cannot execute code. The funniest thing about that argument is that the security risks presented in an app like Big 5 are identical to those that are posed any time any user access a website via safari on an iPhone - Big 5 uses the SDK component, Web View, to access a site just like safari.

This seems to be a power play to make sure that safari is the only web browser on an iPhone. I understand the move, but why not allow developers a similar solution using safari - allow users to have javascript hooks into the SDK for alternate content so that we can take advantage of iPhone features. And for God’s sake, please give a developer that spent a lot of time an explanation as to why their app was rejected. At this point, I could spend 100+ hours of my development team’s expensive time kicking out a killer app for a market that Apple doesn’t deem important only to get rejected with the same form email as a guy making a “I am rich” app.

The worst part of this whole situation is something that really infuriates me. As a developer, having downloaded the SDK, I am automatically under a non-disclosure agreement. I can’t talk about any of te projects I’m working on… I can’t post code of solutions to problems… Technically I can’t even write this freaking article bashing Apple for crushing something that could open the door to a lot of cool stuff. There are very few sites with iPhone SDK programming tutorials because of this, and the ones that are out there are in violation of the NDA… and this makes the Objective C (and the iPhone SDK) even less accessible.

Been to Barnes and Nobles recently? Notice that there’s only one book on iPhone development on the shelves and its pre-SDK (using open source tools and jailbreaking)? Look on amazon and see how many books are out there for iPhone development and then realize that none of them can ship until the NDA is lifted…

And why would Apple make it’s SDK developers agree to an NDA that would prevent people from evangelizing its toolset? Because (according to U.S. patent law) by keeping everyone using their SDK under an NDA Apple can own anything developed on their platform - without exception. So… how’s that for spurring innovation?

Now - realize this - I’ve been accused of being an Apple fanboy many times in my life… I’ve owned almost every generation of iPod, I’m on my fifth Apple laptop and I’ve been responsible for evangelizing Apple products in the video world for several years now (A certain professional football team switched to Final Cut Pro from Avid because of my constant bitching). All told, I’ve been responsible for about a quarter of a millions dollars worth of Apple gear being bought in the last 4 years. Take all of that into consideration when I say what I’m about to say:

Only a company that has a zealous following can do what they’ve done in the last few months. MobileMe anyone? Any other company would’ve been burned to the ground. What about blacklisting apps that are useful to a large market without giving justification to the developers? It even pisses me off that they pulled the “I am rich” app - it serves the same purpose as a $300 purse. If someone wants to spend $300 on something that just holds their makeup and wallet, that’s up to them, not Apple.

So - let the onslaught begin, but please - at least act like you’ve read the post.

Apple’s Approval Process Needs Drastic Change

Brit’s recent post about Apple rejecting Big 5 is just the latest example of Apple’s poor QC and approval process.

The process is so poorly implemented (and understood) that it’s led to a lot of developers completely giving up on putting together useful apps. We have had several ideas for apps that fill a need in the market and we’re still waiting on our dev key (3 weeks now). And once we get the key and kick out one of our apps to their approval process we may be greeted with a generic “your app is not useful to the broad audience” email…. without any justification as to why.

This is ridiculous.

A developer puts in a bunch of hours developing an app and Apple just says “no thanks”… Apple really needs to do something about the process. I understand the need to make sure that the apps Apple approves are useful and secure but several apps have been approved that are complete crap.

Avid vs. Final Cut Pro

Had to jump back into an Avid for a gig this morning and man is it a rough transition.

I grew up editing on an Avid and I have to say, aside from a few tools, I absolutely despise them…
I hate the idea of ‘modal editing’ - let me drag clips around without having to hit an extra hot key…
And I absolutely hate the way that Avid forces you to import footage… “No rendering” they say… but I’d rather grab a cup of coffee when I’m almost done with a project than wait until all of my animation codec files import and get wrapped in a proprietary format…

All that being said, Avid’s are still everywhere and they still have their uses.

So - in case anyone wants a crash course on either system:

MobileMe

I’ve had a .Mac account for several years now… Not that it’s ever been worth $99/year but I’ve had my @mac.com email address for some time now and I really don’t want to lose it… But the shift to MobileMe will probably see Apple losing my business.

When I heard about the push service and all of the nice sync’ing I thought it was going to be pretty cool… but then I heard that the email addresses are going to all migrate to @me.com… How egotistical does that look - sending an email from myname@me.com?!? But I figured I could live with it… but not the bloatware.

MobileMe is one of the slowest, bulkiest systems I’ve seen… And it’s sad. It’s sad because Apple could have done something really classy and effective with it. It’s sad because the execution is no way to show off their new Javascript framework, SproutCore.

Update: Walt Mossberg agrees…

iPhone SDK Tutorials

Anyone else out there looking for good iPhone tutorials?  Apple has some decent stuff but you have to wade through a lot of it.

Jai over at iPhoneSDKArticles is beginning to post some pretty solid and well structured tutorials that I’ve found pretty useful.  This is my first exposure to Objective C and so far I’m not a big fan, but I guess it’s the poison I’ll have to deal with if I want to scratch the iPhone development itch I seem to have developed.

I’ve got a couple of small freebie apps in the works and right now at Figaro Interactive we’re starting to push a couple of our clients towards iPhone apps - for the sexieness and for the usefullness.  We keep struggling with trying to define the iPhone demographic though - we want to beleive that all of the iPhone’s out there are in 20-something macgeeks hands but judging from the last time I took a ride with Southwest Airlines I think everyone out there has one.  And Karl Rove?  Really?  Do I have to have something in common with that guy?!?

Karl Rove uses an iPhone... sigh...

Karl Rove uses an iPhone... sigh...

Compressor Virtual Clusters

Anyone out there using Final Cut Studio 2 needs to read this post.

If you have any of the Intel based Mac products and want to get a little bit more oomph out of Compressor all you have to do is setup a virtual cluster.

Compressor setup on a solid network is a really cool way to encode and transcode alot of footage quickly. The problem is that sometimes you don’t have any other macs on your network (or a shared storage setup).

A virtual cluster allows you to run an instance of compressor that acts like all of the processors on your machine are machines that it can use to distribute its work to. All of those dual core and quad core and dual quade core systems out there don’t really use more than one processor during an encode (generally compressor distributes the encode to one processor and then to another and then to another in a multi-core tease that drives anyone that knows what’s going on under the hood insane).

QMaster Panel - Setting up a QMaster Virtual Cluster

QMaster Panel - Setting up a QMaster Virtual Cluster

To set up a virtual cluster go System Preferences > Apple QMaster

QMaster is the distributed rendering/compressing app that ships with Final Cut Studio. It’s basically your network traffic controller. The easiest way to get up and going is to use a QuickCluster with services.

Check the Share and Managed boxes for Compressor and set your instances to how ever many processors you have - my laptop is a dual core so I set it to two - if you’re lucky enough “gishcluster” and click on start sharing.

Now - next time you’re in Compressor and you want to take advantage of your virtual cluster just submit a batch and instead of using the “This Computer” option send it to the cluster you just created.

There are a few caveats about this whole process:

  • You must have the machine connected to the network protocal that you had it connected to when you installed compressor - this is beating of an issue but one that sort of makes sense - compressor was meant to be an application that lived on a stable network so it wants to know what ports are being used and how everything is connected.  If you installed compressor on a laptop and you had the ethernet port setup for your network connection then you always have to use an ethernet connection to use compressor and its virtual cluster (it will hang/freeze if you try it with wireless).
  • Sometimes things just freak out - I used a setup like this for a lot of very intensive encoding for 3 months straight and only had a couple of issues - generally they were resolved by following this procedure exactly
  1. quitting compressor and batch monitor
  2. turning off the QMaster sharing
  3. restarting the machine
  4. opening compressor and clicking on Compressor > Reset Background Processing
  5. quitting compressor
  6. turning QMaster sharing back on
  7. opening compressor and submitting my batch
  • Keep your Final Cut Studio install discs and serial numbers handy - if the above steps don’t work and you’ve checked your network connection then you may have to reinstall.  It sucks but that’s part of the risk you take with using something in a slightly different way than it was intended.