Dali Clock for PalmOS, back from the dead and ready to party
Today, HP showed just how little they cared about WebOS. In the third paragraph of a press release about the acquisition of some other company, they said: "In addition, HP reported that it plans to announce that it will discontinue operations for webOS devices, specifically the TouchPad and webOS phones. HP will continue to explore options to optimize the value of webOS software going forward." In their earnings call, HP spent a minute or two explaining that after releasing one tiny low-end WebOS phone (the HP Veer) and six weeks after releasing a WebOS tablet (the HP TouchPad), WebOS was somehow not making gangbusters money, and should be killed. Now, onto some enterprise printer news.
Long-time readers may recall that I was a huge PalmOS fan for many years, using their phones well past their sell-by date because I loved the keyboard, I loved the openness of the OS, and I loved the vast numbers of applications. Then PalmOS gave way to WebOS, and my experiences with that rewrite were... not good... causing me to finally, regrettably give up on my Palm brand-loyalty and jump ship to the iPhone.
You can read all about it in my palm tag, specifically in "Dear Palm, it's just not working out".
Even though I gave up on them years ago, I do still feel a twinge of sadness. It's like when your favorite band releases a string of shitty albums late in their career, and then announce that they're breaking up. You haven't listened to them for years, but it still bums you out.
But there's one thing that WebOS got right that iPhone still gets incredibly, shockingly wrong, and it still puzzles me why they haven't caught up. (Maybe the answer is patents. Maybe it's just hubris. Who knows.) Anyway, it's this:
The WebOS "Messaging" app was transport-agnostic.
When someone sent you a message, it didn't make a fuss about how that message arrived. SMS? AIM? Jabber? Who cares. All of those messages showed up in the same interface, in a single list, grouped under the sender's name (assuming both their AIM handle and their phone number were in your address book card). When you replied to a message, it would default to sending it back using the same transport that the last message came in on.
This was genius, and I seriously miss it. It's the only thing about WebOS that I miss, and it's the only feature that no other phone has yet cloned.
The IM situation on iPhone is so bleak that I've just given up on using it entirely. When I'm away from my desktop, I only use SMS and am unreachable by AIM/Jabber/whatnot. That's bogus, but the various other IM apps on iPhone are so relentlessly terrible -- and require incessant fiddling-with instead of just being always-on -- that I decided that I just didn't care enough.
So that's what I miss most about Palm. The UI of the Palm Pre "Messaging" app. I can't believe that hasn't become the standard way of doing things everywhere yet.
Well, also I miss that when I had a Treo, I was essentially carrying around an original toaster-Mac in my pocket, architecturally speaking. Yeah, an iPhone is arguably more like a Cray XMP, but come on, a toaster-Mac phone. That's cool.
Dear Palm, it's just not working out.
Believe it or not, this actually has nothing to do with my utterly nightmarish experience of trying to get my applications into Palm's app catalog, and everything to do with the fact that the phone is just a constant pain to use.
This should be obvious, because my complaint about Palm's developer relations is that they are setting up a closed ecosystem, and Apple is even worse than Palm in that regard. (And while Palm is also slow and unresponsive to respond to developers, Apple is, again, even worse.)
So why would I get an iPhone? Because it's an appliance that just fucking works.
I have a list of 30-ish reports of more-or-less irritating bugs that I encountered during my first week of using the phone that I back-channeled into Palm via several of their developers, but most of those bugs were tolerable. The deal-breaker bugs are as follows:
- I still can't reliably sync my phone to my Mac.
Now, I have to say that since the last time I publically bitched about this, the developers of Missing Sync really stepped up: I've been exchanging emails with a couple of the Missing Sync developers for months now, doing tests and sending logs and trying out alpha versions, sometimes several times a week. So I really appreciate the effort they went to to try and diagnose the bugs that I was experiencing. But, the bottom line is, it still doesn't work. The only reliable way to sync the phone is to manually do "desktop overwrites device", which means I can't actually edit contacts or calendars on the phone, ever.
Peformance is a joke.
Seriously, it's comically bad. The speed of this phone is truly pathological. It's horrible across the board, but some of the most egregious examples:
- If the Calendar app is not running, it takes 10-15 seconds to get from "I clicked on the Calendar icon" to "I can see today's events". And then, switching from the display of one day to the next takes 2+ seconds (and it doesn't buffer swipes, so you have to keep trying). It's embarassing when I'm talking to someone and they ask me about availability and I have to say, "I'll tell you in a little while, once my phone wakes up."
If a call comes in, the phone starts ringing, and I can answer and talk to the caller, but most of the time it takes another 10 seconds before the Phone application's UI comes up! So if it's from the front door and I have to press a button to buzz someone in, I have to either hope the app starts responding before the caller hangs up; or I have to slide out the physical keypad and pray that it buffers the keystroke. Trying to answer the door feels like a game of whack-a-mole.
If I want to take a photo (for example, of the license plate of a hit-and-run) getting from "I clicked on the Camera button" to "I have taken a photo" takes almost 20 seconds. If I want to get all the way to "I have reviewed the photo, and can tell that it came out ok", that takes more like 40 seconds.
It seems to me that the only way this phone is going to be usable is for it to get literally 10× faster across the board. There was a speed improvement of maybe 10% between WebOS 1.0 and 1.2.1, so I think it's safe to assume that they've already picked the low-hanging fruit. I don't expect the performance of this phone to be even remotely suitable for every day use for at least a year. I figure it's going to either take a substantial amount of work on the lower levels of the OS, or they're going to have to throw Moore's law and new hardware at it... and the recently-announced Pixi is clearly not the hardware that's going to be 10× faster.
So even though I hate Apple's developer-hostility, and even though I hate that now I'm giving money to AT&T, and even though AT&T's network is way less reliable in San Francisco than Sprint's, and even though I absolutely despise the iPhone's on-screen keyboard... at least now I have a phone whose software actually works.
I thought about trying out an Android phone, but the reality is that the most positive review I've ever heard about Android was damning with faint praise along the lines of, "it sure does show the potential to someday be an iPhone competitor." Also, you have to surrender all your data to the Hivemind to use one. At least an iPhone will actually sync with the computer on my desk.
Sorry, Palm. I tried to root for the underdog, I really did.
Palm's App Catalog, part 2
After I posted that, it really made the rounds. I was surprised at how much press it got so quickly. So, with a PR disaster like that, you'd think the first thing Palm would do would be to finally post my apps, right? Well, they still haven't. Even though they stated their intention of posting my two applications in their app catalog way back in early July, neither the intervening months, nor the recent bad press, has caused them to actually post them.
Obviously I'm more concerned about the bigger picture: I want Palm to make it easy for all developers to get their software into the hands of anyone who wants it, without Palm being a roadblock between them.
But still, if you were Palm, wouldn't your first step be to actually resolve the problem for the guy who brought your broken system to the attention of the press? I guess they don't see it that way.
One of the new guys at Palm twitted at me that he wanted to talk on the phone about this stuff, and I replied, "What more is there to say? Just post my apps already." Apparently the peanut gallery thinks that was "rude", but after having spent three months, thirty-ish emails, and the aforementioned 160-line blog post explaining my position, I don't think they really require clarification on where I'm coming from. Seriously, have I been unclear?
The only conversation I'm really interested in having about this at this point is one that ends with them saying, "Hey, your apps are in the app catalog now." And you know, a one-line email saying that would do just fine. We don't have to do that on the phone.
Anyway, yesterday they made an announcement. Here's their press release and here's their attempt to explain what the press release says in English.
I found even the second link somewhat confusing, but as far as I can decipher, what it says is this: starting in December, developers will have these three options:
- Sell or give away your app through Palm's App Catalog, after Palm has reviewed, nitpicked and finally approved your app, and after you have paid $99 per year and $50 per application. Palm keeps 30% of every sale.
Sell or give away your app through some kind of "second-class-citizen" app catalog that Palm intends to create, without Palm reviewing your app first. You still have to pay $99, and Palm still keeps 30% of every sale, but you don't have to pay $50 per app.
If your app uses one of the recognized open source licenses (BSD, GPL, etc.) then Palm will let you give away your app in that "second-class-citizen" app catalog without paying for the privilege.
We still really have no idea what this second-class-citizen app catalog will look like, since they say it won't exist for two to three months. That means it doesn't help those of us who have working apps today that we would like to get into the hands of our users today, but it's a step in the right direction, assuming that getting things into the second-class-citizen catalog is a whole lot easier than getting it into the "real" catalog has been so far. (It won't surprise you to learn that based on their past behavior, I don't think that's a particularly likely assumption. But we'll see.)
But this is all needlessly complicated.
Here's what I want:
- A developer makes the executable of their application available on their own web site.
- A user visits the developer's web site via the web browser on their phone, and clicks on the link.
- A dialog box asks, "Are you sure you want to do this crazy thing?"
- The application installs. Done.
That's how it worked on PalmOS. That's how it works on desktop computers! Anything more complicated than that is just stupid.
My ongoing Kafka-esque nightmare of dealing with Palm and their App Catalog submission process.
So why are they still not available in Palm's App Catalog? That's a very good question. This is my story about attempting to simply distribute this free software that I have written, and how Palm has so far completely prevented me from doing so.
The main problem here is that the only reasonable way that exists to distribute software for the Palm Pre is to get it into the App Catalog. On Palm's previous operating system, PalmOS, you could download and install applications from anywhere. There was a thriving software ecosystem of third-party applications for the Palm Treo, Centro, and their decade-long history of PDAs before that. You could (and I did) buy third-party software that ran on PalmOS on random web sites, or buy it in physical stores on CD-ROMs.
But taking a page from Apple's play-book, Palm has now decided that they have to be the one and only gate-keeper for all the software on your Palm Pre, in a way they never did on the Treo, Centro, or any of the earlier PDAs.
So if you, a developer, want to get your software into the hands of your customers, you have to beg and plead and wheedle Palm to distribute it for you.
Shortly after I wrote those applications in June, I mailed a few people inside Palm trying to figure out how to get them into the App Catalog, so that normal people could actually run them. In July, Palm publically asked for submissions for the App Catalog. I submitted my apps, signed up for their application-submission web site in July, printed out ten pages of PDF legal documents, signed them and scanned them back, then signed up for their web site again when they threw away the previous web site and created a whole new one in August, and basically jumped through dozens of hoops -- literally dozens of email exchanges -- from July through September.
They had all kinds of ridiculous requests and requirements, like, "It's a corporate policy that all of the applications use a version number less than 1.0.0", even though Dali Clock is already at version 2.31. But whatever. I jumped through all their hoops.
Finally, in mid-August they found a hoop I would not jump through. They said:
Required: You can only distribute your app via the Palm App Catalog. Do not make your app available on your website or anywhere other than the App Catalog.
They were objecting to the existence of the source code and binary executables on my Tip Calculator and Dali Clock web sites! I responded:
This is absolutely unacceptable, and frankly I find it offensive that you would ask for this.
This is open source software, and I will distribute both source and binaries any way I see fit, and give permission to anyone else to do the same.
If this is a requirement for inclusion in your app catalog, then I will stop developing for your platform at all.
Look, I'm on your side. I've been rooting for Palm for years, primarily because of the openness of the old PalmOS platform. But if this is your new direction, forget it. I use the Pre every day, and believe me when I tell you that you have exactly two advantages over the iPhone. First, a physical keboard. Second, a more open development environment and the goodwill of your developers. Apple has been shooting itself in the foot over its app store policies lately, and their idiocy has been your gain. Don't screw this up. If you try to maintain as much control as they do over the applications available, you are going to be a footnote. Did the vast numbers of applications available for PalmOS teach you nothing?
A few weeks later, I got a response asking to have a conversation about my objections after signing a non-disclosure agreement! I said no, obviously.
Finally, in September, I got a reply from Joe Hayashi (I don't know what his position is, but apparently he's somewhat higher up in the food chain than the folks I had been arguing with before) who said, "We aren't asking that you remove the binaries or source of your apps from your web site, and we aren't restricting anyone from distributing their source code, open source license or otherwise." Well, actually, that's exactly what they had asked for, but I was willing to assume that what he was trying to say was "we have now changed our crazy policy." Great. Problem solved, right?
I said, "Thank you for changing your policy. When can I expect to see my applications in the app catalog?"
Now, they have apparently changed the rules again, and won't post my applications until I give them a PayPal "Verified" account, and (possibly?) pay them $99/year in order to give away my software for free. My last exchange with Palm, on Sep 14:
Can you tell me what the status is of my apps? Will Tip Calculator and Dali Clock be showing up in the app catalog soon?
Liz Benson wrote:
I'll check status on these and see if we can't expedite. I know we sent you a review on Tip Calculator a while back and that you had feedback on our feedback. I'll ask for a re-review and see where we are.I wrote:
I replied to the last review email I got (and then it was all de-railed because of the "you must take the source code off your web site" demand, which has since been rescinded.) The other small code changes you asked for, I don't agree with, and I'm not going to do.
I consider both Tip Calculator and Dali Clock to be complete.
I would be happy if you would post them both as-is to your app catalog.
If you think the minor changes that you asked for that I'm not interested in making are deal breakers, then please just tell me that, and I'll give up.Is this a PayPal "Verified" account? That is what is needed to get you set up on the new portal.
No, it's not, because I don't trust Paypal to have my checking account number. I'm happy with them only having my credit card number.
Please understand: these programs are free. I am not, and will never, be charging money for them.
If you're not going to post them without me giving Paypal my checking account number, then, forget it. I will just stop trying to get my code into your app catalog, because that's just one ridiculous roadblock too many.
I have written free software that I am trying to give away and so far this has involved 27 emails and ten pages of signed documents.
I understand that you're still trying to work the bugs out of your submission process, but seriously, this is downright Kafka-esque.
Please, just post the programs already. Or tell me you're never going to, so I can stop trying.
I am so frustrated by this.
It's been two weeks, and I have received no reply. In the months since this process began, other third-party developers seem to have managed to get their applications into the App Catalog. Apparently these people are better at jumping through ridiculous hoops than I am.
So at this point I think it's safe to say that I won't be developing any more software for the Palm Pre.
Maybe it's time to look into getting an Android phone again.
Update, Sep 29:
- Despite Joe Hayashi's claim that "We aren't asking that you remove the binaries or source of your apps from your web site, and we aren't restricting anyone from distributing their source code, open source license or otherwise", gregv points out that the license agreement that comes with the 1.2 Palm SDK that was released yesterday still contains the restriction that applications may only be distributed through the Palm App Catalog. Let's hope that this is just an oversight: that the company has, in fact, changed this policy, but that the paperwork just hasn't yet caught up to reality. An official statement from Palm to clear up these contradictory statements would be appreciated by everybody, I'm sure.
Update, Oct 6:
- I posted a followup.
Palm Pre sync
I have a Mac, and I have a Pre, and I would like my Mac's address book and calendar to be bidirectionally synchronized with my phone.
You'd think this would be a no-brainer.
Palm's recommended solution to this is, "Give up on using desktop applications, and use Google Mail and Google Calendar instead". The Pre can sync to those.
Another solution is Missing Sync, which I had been using with my Palm Treos and Centro since 2005 or so.
However, I've been using Missing Sync for Pre since the phone was released, and it is a categorical piece of shit. I have yet to get it to sync twice in a row without error. There have been three betas, and I reported extensive debug logs to them in each beta, with no response. I finally got a response after I complained to 'sales' instead of 'support', and then two days later, the trial period expired. So now I can't even go through the motions of trying out their obviously-unlikely-to-work boilerplate response that comes down to, "your call is very important to us, delete all your contacts and calendars, reboot, and try again".
I mailed them saying, "I'd like to try your suggestion, but you ignored me for so long that now it has expired. How do I reset the timer?" They replied, "You can't. Pay us money, and if we can't fix the problem, you can ask for a refund."
Well, I think "fuck that" is the only possible response.
I spent a while trying to figure out how to reset the timer and failed. Deleting /Library/Preferences/.MSWebOSInstall makes the Missing Sync installer willing to run again, but there's some other file somewhere that the app itself is consulting, because it still knows.
I would prefer not to give my contacts and calendars to Google, because I don't trust them.
(I don't care if you trust them. I don't care if you think that's stupid. I'm not interested in discussing that with you. At all.)
Do I have any other options? I see that Pre can sync with Exchange. Is there an Exchange clone I can run on my Mac that will bridge between the Pre and iCal/AddressBook?
Failing that, and assuming that I do knuckle under to Skynet and allow Google to have all of my contacts and calendars, is it possible to bidirectionally sync contacts and calendars and between my Mac desktop and the Google hivemind without actually using Gmail for email at all? That is, using it just as a data store for my address book?
With the new phone, I find myself in need of new headphones. My last three phones, two Treos and a Centro, used 2.5mm 4-band jacks. The Pre uses a far more sensible 3.5mm 4-band jack, but that means my headphones no longer fit. I don't want to use an adapter because they are bulky and, in my experience, make it more likely that you'll break the headphone jack.
My previous headphones were "Shure e2c", and I loved them. The sound quality was great, they fit well, and they blocked out outside noise better than any other headphone of the size that I've ever used. The cables tended to fray, though. I had the 2.5mm 4-band version, but they also used to make them in a 3.5mm 4-band version. However, apparently the whole e2c line has since been discontinued.
Shure's new product line baffles me. I can't tell what corresponding new product is, if there even is one. It kind of looks like they have decided to only make headphones with 3-band jacks, and if you want to use it as a headset on a cell phone, you have to use an adapter. That sounds bulky and irritating (and also would put the mic quite far away from your face, I assume.)
Before the e2c, I tried "Etymotic ER-6", but I hated them. I gave them away after two days. They had no bass response at all, and were not nearly as sound-isolating as the e2c were. And I they had the wrong sized jack, too.
So, because Shure's site confused me, I took someone's recommendation and picked up the "V-Moda Vibe Duo" headphones (3.5mm, 4-band). I've been using them for a week, and I kind of hate them. They block out basically no outside sound. They sound muddy. The midrange is weird. And about a quarter of the time when I take them out of my ears, the rubber ear-bud tips stay behind in my ear canal and I have to go digging, even using the smallest size.
My requirements are:
- 3.5mm 4-band, so I can talk on the phone with it too (though the primary use is music).
In-ear-canal. Not those iPhone-like buds that just sit on the surface. Not over-the-ear cans. Don't bother telling me about those, no matter how much you love them.
Extremely sound-isolating. With the e2c, wearing the headphones without anything playing sounded like wearing earplugs. I loved that.
Good sound quality. I'm no audiophile, but I can tell when it's crap. Bass is better than "perfectly flat", but bass to the exclusion of all else is bad.
So what should I get?
Update: I picked up the Ultimate Ears SuperFi 4vi. Conveniently, the
Apple store stocks these. (Not any more. Bastards.) I've only used them for a few minutes so far, but they seem pretty good. Nice isolation, and sound quality is very similar to (possibly better than) the e2c. So I'm hopeful.
One nice thing about the Modas was that the cable was cloth, so they didn't tangle as easily. More manufacturers should do that.
im in ur browser, melting ur digits
If any of you browser-internals types have suggestions on how to get better performance out of the <canvas> tag (specifically in the Palm Pre version of Webkit) I'd love to hear them.
Palm WebOS Dali Clock
I have ported Dali Clock to the Palm Pre.
Truly, this program will last forever. If I have anything to say about it.
It's a little slow. It is, in fact, a bit slower than the PalmOS "Classic" port. And, for that matter, the original Xerox Alto version. Why, you may ask?
Let's take a moment to ponder this version and the Alto version, and just how many wasted instructions, layers of abstraction, frameworks, toolkits and outright cruft have gotten between the algorithm and the frame buffer in the intervening twenty-seven years. This program makes my phone hot. Hot, I tell you.
Oh. The huge manatee.
My first Palm Pre app!
It was relatively painless, though the documentation is pretty spotty.
Since Palm isn't yet letting people upload things to the App Catalog, here's how you install this:
- Email yourself a link to the .ipk file. Don't mail the file itself as an attachment: just send yourself an email with the URL in it. You can do that by clicking here.
Open that mail message on your Pre, and click the link.
That will appear to have done nothing, but it did! Go to the first page of the Launcher, and you'll see that the new application has been installed.
Dear Lazyweb, I have several questions.
- How do I get it into the Palm App Catalog?
How do I give a button a different background color, while still having it look like a standard Pre button?
Update: Oh, the email I've been getting. Look, it only does whole numbers because if you insist that your tip be accurate to the penny you are a cheapskate weirdo. Here in the Colonies, we use paper money, not coins. If your bill is $44.22, just enter $45. Don't go all Scrooge McAsperger's on us, ok?
Update 2: Holy shit! The intardwebs have a new cesspool, I see!