JWZ Unable to Distribute Two Free Pre Apps
jwz.livejournal.com
jwz.livejournal.com
I don't feel like engaging anyone there (as they think they are funny by calling Google "Skynet"), but you don't need to have any interaction with Google to distribute or sell Android apps. Any user, even with a carrier-locked phone, can download a file to his computer and use free utilities to install that on his phone. (I am not 100% sure that the computer is even required; there is probably an app that will install apk files that are on the phone's SD card.)
Example where I have done this: Sipdroid. The version in the Market does not support VoIP over 3G. The version on their website does. So you download their version, run adb, and now the Sipdroid on your phone supports 3G. If the Sipdroid website wanted to charge me for this transaction, they could.
No Google needed.
If you want openness on your phone and still want a good user experience, Android is the way to go. Other phones have a good user experience, but they are only "open" when compared to game consoles or microwave oven firmware.
It's my understanding that the process is even easier than this. If you alter one option in the phone's settings, you can install Android programs downloaded directly through the phone's web browser -- no additional hardware needed.
Yes, there is.
That's how I got the very handy Tetherbot app installed, when Google did not want to carry it in their marketplace.
You can also use the SDK to install apk files.
"This is the subject of an upcoming post that I haven't finished writing yet, but let me just point out that the WebOS port of Dali Clock -- a program that does some moderately complicated realtime graphical tricks -- took me a couple days to do, but I've been dicking around with the iPhone port of it off and on for, like, a year. Note that I know ObjC really well, and I have already written a Cocoa version of Dali Clock that runs on OSX, and porting that version to the iPhone has been such a monumental pain in the ass that I keep giving up on it before I finish.
"So yeah, WebOS is easier.
"Certainly less powerful (no OpenGL, for example) but holy shit is it ever easier."
I'm not sure jwz is quite the developer draw you're making him out to be.
Waitstaff in any restaurant you've heard of are probably not being paid below the minimum wage. I'm pretty sure the waitress we tipped at L2o was making solid money without my gratuity. It's just a social convention.
An important point here is that Palm-the-company used to not be stupid in this way. The way this worked on PalmOS was completely sane. They went and fucked up their whole process when they switched to WebOS.
I assume this is because they hired the majority of the WebOS management team from Apple, pushing out the people who did it right in the PalmOS years, and those new people are idiots.
I'm not sure it's safe to assume that this process is stupid. Palm did, indeed, copy all of this straight from Apple's playbook. Apple's App Store is wildly successful. It may have issues from the perspective of some developers, but that's not the only perspective that matters. Palm isn't trying to make a bunch of developers happy. They're trying to sell phones and make users happy.
Whether you can make users just as happy without requiring developers to jump through hoops remains to be seen. One could easily argue that it's possible, but I'd like to see evidence of that in the real world. I don't think the software ecosystems for desktop computers are a fair comparison. The ecosystems for older Palm devices, which jwz references here, were never nearly as successful as Apple's App Store. Maybe that suggests that the hoops somehow help the user experience? I don't know. But it looks like Palm is assuming that it does.
I agree that this whole process seems completely broken from jwz's perspective, but it's hard to say that Palm had people "who did it right in the PalmOS years" when they never got it right in the category that matters: number of app sales. That could be 100% attributable to the iPhone's superiority, not the App Store's, though.
I know I'd be equally as frustrated if I couldn't just get my apps on the store.
That said, I don't see how making it difficult for developers to submit apps, or preventing users from installing apps by other means makes for a better user experience.
But in the end it is Apple who'll pay for this absurd, not them.
There is, supposedly, another way: there is a program by which universities can get free iPhone developer kits for use in classes. Sounds great, right? Don't you believe it. The signup process is poorly conceived and a flaming mass of pain that, after a month and a half of trying, caused me to give up making an iPhone/iPod app be the final project in my HCI class. Good job, Apple!
That pretty much sums up the problem, in my opinion. Those things aren't cheap, and if it's mine, I should get to install what I want on it. I can understand weeding things out of their store - that's fine - they want to control the quality. However, if I want to put something on my own device via a usb cable, I ought to be able to.
As far as I know you can only develop for the iphone on a mac.
Is that true?
A developer shouldn't need to be "serious" to code a small app and deploy it on his device. By this logic, I couldn't write an app for my Linux laptop without paying Linus & co a "development" fee, or my Windows machine without paying Microsoft, or deploy a J2ME mobile app on my Nokia smart phone without paying Nokia.
Apple is just greedy. Soaking developers is sick. Asking annual (vs a one time) fee is pure evil. It will eventually be their downfall.
We can only hope.
So what's the situation with brew? Does one have to pay annual development fees? I've never developed a BREW app so I wouldn't know. I don't know if BREW is particularly widespread either.
I do know that I can code and deploy on my Nokia phone and Android phone (ordered, on the way). I used to write and deploy apps on a Windows ME phone(not a great experience but I didn't have to pay any money, least of all annually).
I'll be damned if I pay an annual fee to deploy my app on my phone. F$%^ that. Developers paying platform vendors to be "allowed" to develop for a platform is completely backward.
Others can make a different choice. Fine by me.
In terms of openness, the iPhone and Pre are somewhere between these and desktop operating systems. From one side they appear terribly draconian, but from the other, very appealing. This is why you see Apple putting a lot of effort into courting game developers over, say, hobbyists.
I'll be damned if I pay an annual fee to deploy my app on my phone.
I understand where you're coming from, but if all you want to do is deploy your own app on your own phone, then you're not really using most of what that $99 ostensibly pays for. The people who are paying are generally those who are going to make use of what else it affords them, e.g. the ability to distribute or sell that application to tens of millions of others. They don't really have it backwards--they're just paying for something more than what you're wanting to do.
Last I heard, you didn't have to pay Microsoft to write a "ToDo List" app for Win XP (or a Win ME phone).
The situation for iPhone developers have a lot of well publicized flaws, but the cost of participating in the developer program (which includes development software and publishing in the App Store) is not one of them.
And jwz isn't trying to make money--he just wants to make his apps available for others to use.
/sarcasm
Between phone companies having to negotiate with platform and phone developers the market is too complicated. Makes Android look like the only long term, viable competing platform. Even though Balmer said MS got Windows Mobile wrong [2], even if the next one is better not sure the next version will be open enough, and cool enough to gain wide adoption.
[1] - http://gigaom.com/2009/09/28/app-world-will-be-crucial-for-r... [2] - http://wmpoweruser.com/?p=8170
Edit - just saw this via @timbray http://openandroidalliance.com/
Any crazy Android stories like this?
Also, it's pretty simple for users to install non-market apps on their Android phone - instructions for doing so can be found here: http://phandroid.com/2008/10/17/how-to-download-non-market-a...
If not, you're in the same boat as me -- sitting around waiting to see if some developer's going to pipe up with a story.
Or they want people spending money on apps so they are making it a bit harder to make just free ones?
All speculation though. I imagine it's just simpler for them to have one type of account, and giving them your info is the only way to have it, regardless of what you do with it.
Quality control is definitely an essential feature for me. It just seems like Apple hasn't figured out all of the bumps yet in providing it.
Writing a toy program is how most developers explore a new framework start to finish. In this case, submitting a "Hello World" or "Tip Calculator" application as a test was very revealing.
If yes, who controls access to the capability of issuing/revoking certificates?
I can install apps by downloading a program file and copying it to the phone. Or I can install apps "over the air". In neither case does _anyone_ have to authorise me installing the application.
Nor will I buy any phone that makes me jump through that hoop.
On Blackberry, you have to pay 20$ to get code signing certificates, and without that you can still write basic apps, just not ones that access most of the 'interesting' features.
Android lets you self-sign applications.
All those platforms have free development tools, and in Android's case, I believe most of it is actually open source.
For example:
1. Your app cannot browse directories without the user being asked for permission on every change of directory. Try deveweloping a file browser with that restriction.
2. You cannot use a SocketConnection to connect to a remote host to port 8080 (only HttpConnection is allowed without beeing signed). Try developing an http-proxy with that restriction, when you want to forward every connection to another proxy on port 8080.
And the Problem with being signed is that you have to have about 5 different certs on your key to be accepted on any phone by any manufacturer on any carrier.
Those certificates are not free. They cost about 300$/year each.
This was really annoying.
I am so glad I do not have to do this on Android.
BUT: For a lot of the interesting APIs you need more than that. To send ICMP Packets you need a manufacturer certificate (for NetworkControl capability).
I understand that I need a different level of trust for DRM related stuff. But ICMP? Come on.
The apparent desire of Palm to embrace and confine Palm's once open ecosystem means that the Pre, which I had been looking forward to as another shiny Palm device, is now for me just another piece of noise like the iPhone. As a customer I'm not interested in a closed ecosystem, and I'm beginning to realize that in the end the thing in my pocket is just a phone and I can get a really cheap one (with text!) from Cricket. If I need a restaurant or movie somewhere, I can look it up before I get there, and I can listen to my own farts in the elevator without having to buy them from Steve Jobs or his counterpart at Palm.
So Palm's task is to figure out whether they'll make enough money on apps to make up for lost phone sales from people like me. Because in the end, they have no responsibility to customers, employees or outside developers; their only responsibility is to shareholders.
And if they decide to go with a closed system, then like Jean Kirkpatrick, I will wave fondly as they sail into the sunset, and look wistfully at the Palm devices in my sock drawer.
Central point of control == bad?
I don't buy it. JWZ is a central point of control for DNA Lounge, I assume; PG is a close to a central point of control for YC news; Linus is a central point of control for Linux kernel enhancements -- or was, for a while; I haven't been keeping up so if I'm wrong, please understand the general point, which is: we happily accept central control as long as there is good will.
DRM == bad?
Again, though I agree, Apple's implementation of DRM for Apps has gotten it far closer to right than any other, with family sharing of one purchase on multiple devices, refunds, DRM-free music, free updates, remembering your purchase so you can re-download purchased items for free (remember the phone companies' model, buy a game, run out of memory, delete it, then if you want it later you have to buy it again?). Definitely iPhone is not free, in the freedom sense, and downright scary, in the your-app-can-be-yanked-at-any-time sense, but I believe the same is true on Android; we just haven't seen the test case yet.
iPhone is not open == bad
OK... but it's a platform. Lots of platforms are open only down to certain layers. Google is a platform. But it only exposes certain parts of itself for developers to use. And we understand that. So why do we not understand it when it comes to a phone? Maybe because it's such a personal device?
It doesn't let us do everything == bad
I think this comes closest to being an answer. This would be the answer for me. But, neither does any other device. I continue to think that Android developers are naive to assume they are not going to bump up against limits imposed by carriers and by Google. They just don't have the critical mass to have hit all the nooks and crannies yet.
Apple is not friendly to open source == bad.
Grand Central Dispatch, LLVM, Clang (probably there are more) all would indicate otherwise.
So, what am I missing? Not trying to troll here. I'm sure I have exhibited some ignorance in this long post, seriously. Why are (some small number of smart) people pounding their heads against the wall rather than develop for iPhone?
I think what you're looking for is right here:
>as long as there is good will.
I don't think nearly as many people would be angry over the App Store if the approval process were sane.
Also...
>OK... but it's a platform.
Sure, but before the iPhone, application development for phones was, in general, significantly more open. If I wanted to deploy a Symbian OS application three years ago, I wrote it and let people download it. Windows Mobile was similar. It's not the fact that it's not open, but it's the fact that it moves the industry towards less openness that's concerning.
Apple's decision-making process on what gets into the App Store is completely opaque, and has a hugely variable turn-around rate. Developers need to push updates out quickly, and Apple's approval process is actively hampering such efforts.
There have been many posts detailing horrible cases of delays in approval, where the developer has been unable to have anyone to contact at Apple. Also, there has been no word from Apple as to what they are doing, if anything, to fix the long and inconsistent approval process
Annual development fees == bad !
I hope that helped you understand why a few of us have reservations about developing for the IPhone.
I developed Win32 apps once, including for WinME phones. I didn't have to pay annual fees to Microsoft. I (for one) will never develop for the IPhone as long as they charge annual development fees - basically I have to rent the right to develop from Apple annually.
No Thanks!
But the point is, JWZ is not a central point of control for all nightclubs, PG is not a central point of control for my startup, and Linus is not the central point of control for every Free operating system.
Apple controls devices that you own whether or not you want Apple to have that control. If I want to pay a friend to write an application for me, I have to get Apple's permission. This is a different kind of control than "if I want pg to give me free money, I have to convince pg to do so". Apple is injecting itself between parties that do not want Apple in the middle. (The word "wiretapping" comes to mind.)