Steve Jobs intervenes, approves Knocking streaming video app

The impassioned pleas of one developer, e-mailed to Steve Jobs, resulted in a …

A persuasive e-mail from an iPhone developer to Steve Jobs helped Pointy Heads Software get its Knocking Live Video—the first official iPhone app capable of streaming live video over 3G and WiFi connections—approved for sale in the App Store. The app relies on a private API—well-known among iPhone developers—to enable its video streaming feature, so its approval is a good sign for other companies developing video-based apps. It's also a good sign that Apple is taking developer complaints with the App Store approval process seriously.

Knocking Live Video uses an interesting take on streaming video. Unlike Qik, which is designed to stream video to multiple clients, Knocking streams from one iPhone to another. (It should be noted that the iPhone version of Qik wasn't approved with live streaming—it can only upload the video to Qik's website after recording for later streaming.) You simply launch the app and "knock" another iPhone user with Knocking Live Video installed. That user will receive the "knock" via push notification. Once answered, you can then stream live video directly to them. An iPhone 3GS or iPhone 3G is required to transmit video, but other iPhones and iPod touches can receive and view the stream via WiFi.

"We are focused on phone-to-phone, not uploading to the Web," Pointy Head developer Brian Meehan explained to Ars. "Who really cares about fleeting moments other than friends and family seeing it as it happens? With Knocking people share what they are doing right now. Our testers have referred to knocking as a 'visual tweet,'" he said.

To make its magic work, the app relies on use of a private API that enables capturing frames live from the iPhone's screen. "Our app uses a form of screen capture to create live moments which we have built a complex algorithm around," Meehan told Ars. However, use of private APIs—internal programming functions and methods that aren't approved for developer use—is a direct violation of Apple's iPhone developer agreement. It goes without saying that Knocking Live Video was promptly rejected about 30 days ago for violating this clause.

But Meehan was convinced that his app was worth fighting for. "When it was rejected, I decided not to give up and reach out directly to Steve Jobs via e-mail," he told Ars. "I reached out to Apple to reconsider our application due to its potential to culturally change how people share live moments phone-to-phone."

He made his case "in a way that was not about me or our app, rather about being a life-long user of all Apple products, about how I believed in Apple and that I believed Jobs would respond," Meehan said.

Meehan ended up composing a passionate plea to Apple's CEO, explaining he has been frustrated and disheartened with the app approval process, which often leaves developers wondering and waiting with little or no response from Apple about any potential problems. He pointed out that there are other apps that had been approved using the same private API call—though it was prior to Apple's suspected use of automated analysis software that can comb through code and spot references to unapproved APIs. Meehan even "humbly" requested that Jobs himself review a demo of the app and reconsider it for approval. He then fired off the e-mail to Jobs at 11pm on Saturday, November 21.

An Apple executive, who wishes to remain anonymous, contacted Meehan at 8:30am the following Monday morning to discuss the app and its rejection. He revealed that the order to reverse the app's rejection came "directly from the top." Within three hours of the phone call, Knocking Live Video was approved for sale via the App Store. The app is available for free starting today.

The approval is significant for several reasons. It's the first app with verified use of private APIs that Apple has approved for sale. It's also the first app approved to allow live video streaming. Finally, it's a concrete sign that Apple is indeed working to address developer concerns—though persuading Steve Jobs to personally approve an app is probably not going to become an official policy.

"Apple told me they are listening, and truly care about their developers and getting it right," Meehan said. "And I have to say I agree, as they reached back and it was a very positive experience," he told Ars.

The executive that Meehan spoke with didn't say if all apps using the particular API would now be eligible for approval—use of private APIs is generally frowned upon since they may change at any time and aren't guaranteed to work indefinitely. If Apple makes an internal change to iPhone OS, an app that uses a private API may suddenly stop working or start crashing. Given that Apple has been convinced that streaming video is a useful application for the iPhone, it will likely soon offer an approved API for screen capture or even accessing the iPhone camera's video stream directly.

Recently Apple SVP of worldwide marketing Phil Schiller tried to address concerns with the App Store approval process, echoing the sentiment that Apple is working hard to get things right. We noted at the time that saying it is one thing, and doing it is another. Reversing its decision to reject Knocking Live Video—like its recent reversal with Rogue Amoeba's Airfoil Speakers Touch—is an important step in the right direction.

63 Reader Comments

From the article:It's also a good sign that Apple is taking developer complaints with the App Store approval process seriously.

I don't see how needing to escalate an application to the very top of an organization is a huge victory for the approval process. Seems like Jobs has to walk an application through the process himself to prove its "worthy".

I suppose this can be construed as a sign of improvement. Or, on the other hand, it can be seen as a affirmation of what has been known from the start:

App Store rules are applied fast and loose in a completely arbitrary way. That, to my mind, is what must change. An indicator that change is actually happening is if Qik is now allowed to stream video; if other apps utilising private APIs are now allowed; and that the terms are updated to actually reflect the allowance of private APIs in applications.

I work on an iPhone app and was notified on November 17 that Apple had changed their policy on UIGetScreenImage, presumably the API in question. I don't doubt that the developer heard from Apple and that Apple may be coming around to some kind of sane developer relations position. But I'm skeptical a letter to Steve Jobs on the 21st is the cause of the reversal on this API.

I agree it's not solid evidence in and of itself. Obviously trying to persuade Steve Jobs every time a cool app gets rejected isn't sustainable—nor do I think it would work in all cases, even if the app is cool. But seeing how quick Apple was to respond to this. as well as recognizing that using the particular private API that some other apps are using enables useful functionality, is a (baby) step in the right direction. Apple also refined its policy on the use of certain images of its products in apps, which gave Rogue Amoeba the opportunity to restore useful functionality to its Airfoil Speakers Touch. Taken together, I believe it is a good sign.

Apple is still in emergency reaction mode, but from the impression I get from Meehan, the Apple executive was very concerned about the issue and it seems there are some things behind the scenes that are happening. I will feel more confident when we can see the results of those actions, though.

Apple's change of heart came "directly from the top," and is a sign that real change in the App Store approval process is in the works.

LOL! Real change? I'm so glad His Steveness deigned this poor developer's app to be allowed into Apple's golden realm of iPhone apps.

This incident shows exactly what is wrong with the approval process: the fact that there is a process at all. Developers should be able to make and sell whatever apps they want. Let the consumers decide which apps make it and which don't. It shouldn't be up to some guy at Apple (and especially not His Steveness) whether I can sell an app or not.

I know Apple likes to create and maintain a very specialized ecosystem for its users, but maybe I, the user, should be the one deciding how I want to use my device, rather than Apple.

Linux and open development never looked so good. Heck, even Microsoft is incredibly good at catering to developers' needs.

Originally posted by aiken_d:So this is a good heartwarming story... but I'm a little dubious.

I work on an iPhone app and was notified on November 17 that Apple had changed their policy on UIGetScreenImage, presumably the API in question. I don't doubt that the developer heard from Apple and that Apple may be coming around to some kind of sane developer relations position. But I'm skeptical a letter to Steve Jobs on the 21st is the cause of the reversal on this API.

I believe that is the method in question. We haven't heard any other evidence to the contrary, but Meehan was told he could discuss the story to the press as long as specifics weren't mentioned.

I would say this is even worse. Allowing arbitrary apps to use private APIs unless one of the company leaders says its okay (if he decides to grant you his time) isn't a software platform, its some crazy secret club. On my latest app I actually changed the music icon from blue to a different color in case Apple decided it owns a blue note icon. The TapTapTap guys had an app rejected (previously accepted) due to a an icon that looks like a clock. I have ZERO idea what is allowable and what isn't.

This story isn't going to help Apple either, now many people will use private APIs and start writing letters to Steve Jobs. How will this method of app approval scale ?

The usual story is Apple doesn't have to care since it has the market locked up. Is this actually valid? Most apps cost 1 to 5 bucks. Say I have 10 essential apps and a great new open platform comes along (it will happen - say android gets its act together). I decided to check out Android, I clicked two buttons and started downloading the SDK - zero hurdles to get it and start coding it (compare this to the certificate disaster dance on the iPhone). So as a developer I port my app to Android. Customer comes along and likes the Android and sees their favourite apps exist on it. Well it would cost them a whopping 50 bucks to make the move over since the Apps are so cheap. Due to the cheapness of the app store there is no stickiness to the Apps. The iPhone market lead is due to its superiority to its platform, unlike windows versus mac/linux it won't cost someone thousands to move over.

The fix for Apple is pretty obvious. Allow easy Ad Hoc installation to developers who want to sell their app on their own website. Then for the iTunes store run the app through an automated checker, if it passes it should indicate this to the developer and now basically it should be on the Apple iTunes App store tester to prove why it should be rejected due to blatant huge obvious misuse of the stated terms. Otherwise it gets approved. Also if a developer is in good standing all updates to apps get auto approved once through the automated checker. This will massively reduce the load to the Apple testers and remove the mystery of the approval process.

Originally posted by foresmac108:Apple is still in emergency reaction mode, but from the impression I get from Meehan, the Apple executive was very concerned about the issue and it seems there are some things behind the scenes that are happening. I will feel more confident when we can see the results of those actions, though.

They're going to be in emergency reaction mode right up to the point they remove themselves from the process entirely. This isn't a good system with a few problems, it's what happens when Apple gets total control over something and nothing is going to change until they no longer have that control.

Originally posted by jozero:I would say this is even worse. Allowing arbitrary apps to use private APIs unless one of the company leaders says its okay (if he decides to grant you his time) isn't a software platform, its some crazy secret club. On my latest app I actually changed the music icon from blue to a different color in case Apple decided it owns a blue note icon. The TapTapTap guys had an app rejected (previously accepted) due to a an icon that looks like a clock. I have ZERO idea what is allowable and what isn't.

This story isn't going to help Apple either, now many people will use private APIs and start writing letters to Steve Jobs. How will this method of app approval scale ?

And this is the problem with ARS running an article like this without digging into it. Your concern would be 100% appropriate... if events had transpired the way they're depicted in the article. And of course now the press will run with this story because the fiction -- or at least distortion -- is much more dramatic and interesting than the reality.

There were around 150 - 250 apps in the store using the UIGetScreenImage call when Apple instituted their static analysis checks. Suddenly, none of those apps could push updates, and new apps competing with them couldn't get in the store at all. This affected some fairly high profile apps.

I don't know exactly what happened, but I heard in developer circles about the reversal and allowance for UIGetScreenImage four days before the email to Jobs was supposedly sent. So there's nothing to see here.

(The icon image issue is much more legit -- the Tap Tap guys used a clock icon pretty much identical to the "recent" icon from the dialer app, and it was a white-on-black mask rather than any kind of color issue. Apple has since published quasi guidelines -- it's OK to use their icons to link to their apps [e.g. Safari], but not ok to repurpose artwork. It's still not entirely clear, but for our part we are avoiding designing anything "just like" built in resources)

I disagree.... As long as Apple markets the iPhone as a device that's only allowed to download its software from THEIR online store, it's clear that they wish to have some control over the whole user-experience. If you let developers submit and sell ANYTHING, you wind up with a store that's so overloaded with garbage and "scam-ware", you can't easily find the good stuff -- and it cheapens the perceived quality of the iPhone itself.

The approval process has some SERIOUS problems. Nobody I know would argue it doesn't. In fact, I'd say they MAY just need to approve new apps by default, and have a review process that kicks in only when a certain number of bad reviews or complaints come in from buyers?

But this is a good sign, because it tells me Steve Jobs isn't so stubbornly bent on "following the rules, set in stone" that he's unwilling to make an exception. They obviously *tried* to create a more efficient and faster approval/rejection system by automating the process of searching apps for unauthorized API usage and making a rule that it would cause automatic rejection. Probably seemed like a good move, on the surface, but then this guy came along with what's really a "killer app" in many ways. (Ability to stream video, live, from phone to phone is something I really haven't seen anyone offer before. We're not just talking "yet another silly little video game" here. This adds a whole new aspect to social networking applications.) It's good enough to force Apple to re-think its strategy, and Jobs was smart enough to get the implications and act on it quickly.

quote:

LOL! Real change? I'm so glad His Steveness deigned this poor developer's app to be allowed into Apple's golden realm of iPhone apps.

This incident shows exactly what is wrong with the approval process: the fact that there is a process at all. Developers should be able to make and sell whatever apps they want. Let the consumers decide which apps make it and which don't. It shouldn't be up to some guy at Apple (and especially not His Steveness) whether I can sell an app or not.

I know Apple likes to create and maintain a very specialized ecosystem for its users, but maybe I, the user, should be the one deciding how I want to use my device, rather than Apple.

Linux and open development never looked so good. Heck, even Microsoft is incredibly good at catering to developers' needs.

[QUOTE]Originally posted by chronomitch:I know Apple likes to create and maintain a very specialized ecosystem for its users, but maybe I, the user, should be the one deciding how I want to use my device, rather than Apple.QUOTE]

If you don't want the experience which comes with the product then purchase a different product. Apple isn't forcing anyone to buy their products.

people keep talking like apple was the first one to do this with the apps store. fact is, t-mobile was doing this years ago with the sidekick (aka danger hiptop). *all* apps, ringtones, etc could *only* be downloaded/purchased from the online store on the sidekick (no way to do it from a computer then synch). when i had one they were gprs only, so download times could be painful. all apps had to go through t-mobile's approval process which apparently was at least as strict as apple's. for awhile you could "jailbreak" by applying for a dev key, but they closed that loophole.

To make its magic work, the app relies on use of a private API that enables capturing frames live from the iPhone's screen. "Our app uses a form of screen capture to create live moments which we have built a complex algorithm around,"

Say what?!?! So they capture screen grabs from the camera to make video?!!?

Someone tell me that is a joke.

And as for streaming video. There is this thing, you know, called "video calls". It is a standard part of UMTS (3G) phones. That is why they include a front facing camera on them.

Apple's change of heart came "directly from the top," and is a sign that real change in the App Store approval process is in the works.

LOL! Real change? I'm so glad His Steveness deigned this poor developer's app to be allowed into Apple's golden realm of iPhone apps.

This incident shows exactly what is wrong with the approval process: the fact that there is a process at all. Developers should be able to make and sell whatever apps they want. Let the consumers decide which apps make it and which don't. It shouldn't be up to some guy at Apple (and especially not His Steveness) whether I can sell an app or not.

I know Apple likes to create and maintain a very specialized ecosystem for its users, but maybe I, the user, should be the one deciding how I want to use my device, rather than Apple.

Linux and open development never looked so good. Heck, even Microsoft is incredibly good at catering to developers' needs.

I didn't even know that Microsoft had a cell phone... what's it called, the X-Phone? Let me see - does the X-phone suffer from the blue screen of death, the black screen of death, or is it the red ring of death?

As to you being the user deciding on how to use your device: why don't you make your own cell phone? Apple revolutionized the cell phone. Maybe you can do the same, then you can make the rules. Funny how that works, eh?

This is terrible news. An app shouldn't be allowed to use private APIs, ever, and the fact that someone high up at Apple personally approved this particular app just makes the situation worse.

Now that you have one app in the store that was given permission to break the rules, developers are going to come out of the woodwork requesting exemptions for their apps too. If Apple doesn't grant permission for other apps to do the same thing, it'll be extraordinarily inconsistent and unclear what exactly the rules are. And if they do, prepare for all those apps to break with the next OS upgrade when the API changes.

This is just stupid. The only way this could possibly make sense is if someone internally at Apple knows that the current API is already finalized and will be made public very soon...but even if that were the case, why not have the Knocking developers just wait until then?

This isn't a "step forward" at all. All they've succeeded in doing is setting a precedent that if you use private APIs and then complain to someone in Apple management, they might make an exception for you and let you in anyway. That's progress?

There has to be more to this story that we don't know. If not, this does nothing to alleviate any of the problems with the App Store and approval process.

Kind of funny that Jobs himself (allegedly) approved this app, but the app itself is getting slammed by the early reviewers on the App Store, with 5 of 7 giving one star and saying it doesn't work. :-(

"An important step in the right direction", as mentioned in the article, this definitely is not. What's the take-away here? Publishing an iPhone app is all about greasing the proper wheels? That there is a monetary reward for breaking the rules as long as you suck up to the right person/people?

Frankly, I am astounded that anyone could read this (or write about it) and come to the conclusion that this is "good news".

I do not believe this particular case in as of itself suddenly means everything is fine with App Store approvals. How you deduce that from what I wrote is beyond me. I agree that just complaining to Steve Jobs to get your app rejection reversed isn't a good thing—and I said that. There probably is a lot going on behind the scenes that we don't know about, but I've shared everything I was told I could about this particular incident.

Schiller has repeatedly stated that Apple is working to fix things, and other exec told the same thing to Meehan. I won't get into the whole "use private APIs or not" debate—I explained why using them is a bad idea. The exact reasoning behind Apple making and exception for _UIGetScreenImage is unknown, but according to aiken_d they have. At least for the time being, it means we have apps that can do some things with video that they couldn't otherwise. From a user point of view, that's better than nothing.

Until Apple reveals what's going on internally, I'm keeping an optimistic view of the situation.

Originally posted by effgee:"An important step in the right direction", as mentioned in the article, this definitely is not. What's the take-away here? Publishing an iPhone app is all about greasing the proper wheels? That there is a monetary reward for breaking the rules as long as you suck up to the right person/people?

Frankly, I am astounded that anyone could read this (or write about it) and come to the conclusion that this is "good news".

While I agree with your sentiment, there's a technical error in your comment; specifically, this particular app is FREE, so no monetary reward received by the developer for greasing the right wheels. (Unless he's got some kind of ad revenue scheme going on inside the app that isn't apparent from its listing.)

On top of that, is writing a letter asking for a reconsideration by higher authority really "greasing" the right wheels? That phrase usually brings bribery or exchange of favors to mind...

Originally posted by diskrete:This is not the first app to stream live video over 3G.

There is a free app from France24 that has streamed live video over 3G since at least April.

Unless they are referring to sending live video... but I thought the ban was on both sending and receiving live streams over 3G.

This is not the first app that can receive video streams (live or otherwise) over 3G. There are plenty of apps that can do that—MLB.tv, for one. This is the first that I've been made aware of that can transmit a live video stream.

Technically, the ban from AT&T is on "live television," according to the TOS, though that doesn't explain why MLB.tv is ok and other apps—notably Sling Mobile—aren't.

Originally posted by jozero:I would say this is even worse. Allowing arbitrary apps to use private APIs unless one of the company leaders says its okay (if he decides to grant you his time) isn't a software platform, its some crazy secret club. On my latest app I actually changed the music icon from blue to a different color in case Apple decided it owns a blue note icon. The TapTapTap guys had an app rejected (previously accepted) due to a an icon that looks like a clock. I have ZERO idea what is allowable and what isn't.

This story isn't going to help Apple either, now many people will use private APIs and start writing letters to Steve Jobs. How will this method of app approval scale ?

And this is the problem with ARS running an article like this without digging into it. Your concern would be 100% appropriate... if events had transpired the way they're depicted in the article. And of course now the press will run with this story because the fiction -- or at least distortion -- is much more dramatic and interesting than the reality.

You're assuming our sources lied to us, and lied about what Apple said, and at the very least Apple hasn't contacted us for a retraction? We know the PR folks read Ars, and I guarantee that Apple would complain if there was something factually inaccurate about the story.

And, I stated quite clearly that using a private API and begging Jobs to approve the app is not a sustainable policy.

quote:

There were around 150 - 250 apps in the store using the UIGetScreenImage call when Apple instituted their static analysis checks. Suddenly, none of those apps could push updates, and new apps competing with them couldn't get in the store at all. This affected some fairly high profile apps.

I don't know exactly what happened, but I heard in developer circles about the reversal and allowance for UIGetScreenImage four days before the email to Jobs was supposedly sent. So there's nothing to see here.

The static analysis tool isn't without its own issues—there have been claims of false positives already—but the fact that all these apps were using the API is an indication that a) if they only way to do something is to use a private API, then even good developers may succumb to the temptation to use it, and b) apps that make use of the video camera (or using the iPhone 3Gs camera as video) has benefits to users. At least Apple is providing a way for those apps to continue on, even if it is dragging its heels to provide and approved, public API to achieve the same functionality.

I'm absolutely not denying that the information about _UIGetScreenImage started spreading around to developers sooner, but that doesn't mean that non-developers won't find the story interesting. And I'm not sure why you keep stressing this four days thing. If you thought it was so significant then, why not contact us about it? We're always open to tips and pointers.

I like how this article makes absolutely no mention of the equally arbitrary denial after a public appear to Stever Jobs. Week 1: Arbitrary Denial. Week 2: Arbitrary Approval. I suppose this could be characterized as progress. Maybe next week there will be a change in the actual approval process?

quote:

Originally posted by Felix_A:[QUOTE]Originally posted by chronomitch:I know Apple likes to create and maintain a very specialized ecosystem for its users, but maybe I, the user, should be the one deciding how I want to use my device, rather than Apple.QUOTE]

If you don't want the experience which comes with the product then purchase a different product. Apple isn't forcing anyone to buy their products.

Wrong. I paid for an iPhone, not Apple's bullshit App Approval process. Just like it's Apple's problem if there are security flaws in the software (or design flaws in the hardware), it's Apple's problem that the environment sucks. Sticking your fingers in your ears and singing a Kum-bai-ya is a little counter-productive.

Originally posted by DistortedLoop:On top of that, is writing a letter asking for a reconsideration by higher authority really "greasing" the right wheels? That phrase usually brings bribery or exchange of favors to mind...

Agreed, I should have phrased this differently – bribery was not on my mind. As for the monetary reward, I am quite certain that there's some kind of revenue model 'down the road', no company creates a social network without some idea of future 'monetarization'.

quote:

Originally posted by foresmac108:... Until Apple reveals what's going on internally, I'm keeping an optimistic view of the situation.

Ah, a "glass-half-full" kinda guy – that's perfectly fine, of course. Myself, I seem to be getting more and more cynical with age and thus would have been hesitant to consider this blip on the seismograph a quake worth mentioning, let alone file it in the "good news" drawer. But I do see how this is largely a matter of perspective (as opposed to "right" or "wrong").

FYI, I'm fairly certain this isn't the first known use of a private API call in an approved app; Google's iPhone app uses the proximity sensor to sense when the phone is being used to speak a search term. This has been publicly-known for nearly a year....

If you don't want the experience which comes with the product then purchase a different product. Apple isn't forcing anyone to buy their products.

What you're basically saying is that everyone should shut up and not criticize or voice complaint about any Apple product because they could buy something else instead. What a pathetic and dangerous attitude - your kind inevitably end up bound in the chains of tyranny.

-----

Apple looks more and more like some sort of idealized utopian dictatorship. The more carefully you read the article, the more twisted it all seems. It's extremely creepy that Apple is now in the position of making moral and political judgments about what apps are approved (and yes, I appreciate that this particular app doesn't involve that, but it's all part of what's wrong with this system). And the reverence that must be paid to Steve Job's lordship is sick.

-----

I support Apple's right to have their own app store where they give their blessing to whatever apps they want. For users who want to stay within that "utopia"(and btw, the notion that it somehow protects users from crapware is dubious at best - the app store is already full of crapware). What I don't support (beyond a few very limited exceptions) is Apple deciding what users may or may not install on their phones. Why can't Amazon have an app store for the iPhone? Why can't I buy apps directly from the developer? It's about choice. And before we come full circle to "no one's forcing you to buy their product" - if Apple can get away with it, what company eventually won't? And when every company gets away with it, what choice will we be left with?

Originally posted by effgee:As for the monetary reward, I am quite certain that there's some kind of revenue model 'down the road', no company creates a social network without some idea of future 'monetarization'.

Point taken, but...(you knew there was a but coming)...

The assertion that no company makes free software without some monetization plan in the future flies in the face of the whole "open source" movement (or at least a part of it), where people release software just for the love of it. You make yourself an LLC to avoid being sued personally if your software does something bad.

I'm also not sure it's "social networking" (e.g., Twitter-ish, FaceBook-ish, etc) to be able to stream photos or video from only one phone to another, but that's just nitpicking over the definition of social networking.

It will be interesting to see how these guys do monetize down the road. Perhaps they'll go the "better features version for paid app model".

I don't see how needing to escalate an application to the very top of an organization is a huge victory for the approval process.

To me it says that the approval process is out of touch from what Jobs likes. I think that's a nice slap in the head to the people running the approval joint, letting them know that they're not doing shit right.