Saturday, December 5, 2009

Apple Lala and what it means to me (and ooTunes)

As many may have heard, it appears that Apple has indeed purchased Lala. This is bittersweet news to me for many reasons.

First off, I was a very early user of lala (back when it was a CD trading website, I did about 100 trades to help me get a lot of music that I'd been meaning to buy, in exchange for some old cd's I didn't like much anymore). I was very impressed with the openness and the talent of their founder(s) and engineers. So impressed, that I even sent them a Résumé (my first ever non-academic Résumé to be sure). It was a fun experience, and I got replies from at least 2 founders, the most notable one from Bill Nguyen (co-founder, successful serial entrepreneur, CEO and someone I respect very highly).
Here's part of his response:

I'll bite on your interest in being a part of lala, but here are my concerns;

1. It's really expensive to live in the Bay Area. You've got a family including a young daughter. Have you considered the lifestyle implications.

2. The ootunes demo is pretty slow and buggy. What's with that?

(mind you this was back in May of '08 shortly after I launched the ooTunes server).

So what did I do? (Well I actually had 3 kids, and now a 4th on the way, something that certainly would have been tough)

I thought it was awesome I got that response from him, with a valuable bit of feedback. I took a hard look at how long it took to login/use the demo (and found some severe IE bugs), and a bunch of unnecessary network calls that were too slow for services like mp3tunes (and even at the time, to itself, more on that later) and fixed them asap. (FWIW, I just timed full load of vs. full login/load of and the winner was... ooTunes, by 2 seconds, but that's neither here nor there ;)

Anyway, I say this more to say that I believed in them from the beginning. They changed along the way (got a little less "transparent" about what they were doing, and moved to some more mainstream features than cd trading, but that's what happens when you have millions of dollars in VC money and the accompanying strings). Interestingly, at that time, ooTunes actually had integration with, even allowing you to listen to your LaLa uploaded tracks from the iPhone through my (then jailbreak only, remember this was before the app store even existed) iPhone app, or even the Safari browser on the iPhone. This was (unsurprisingly) broken about a week after they checked out the demo (and I took that as a sign that this wasn't welcome, so I let it be).

So, while I have no clue what (if anything) will become of as we know it, so far I know that the CD trading is officially gone (as they've been referring people to another trading site).

I don't think the app is going to suddenly show up in the app store (and this may have been part of the reason for the buyout, iTunes couldn't have survived this, I don't think, though I've also been told that didn't have the rights for mobile streaming anyway so I'm sure that's not the only way to prevent accepting it).

I personally think that Apple will one day do something similar with or some way to stream your iTunes tracks to your phone (they've got related patents filed, for instance, and it makes sense to do). I don't think it's going to be anytime soon though.

So I'm thrilled that something I instantly loved and knew would succeed was bought by "the who's who" in this field.
I'm excited for what it *might* bring to Apple (streaming, subscription services, free preview listens?).
I'm exceptionally happy for those guys who worked so hard to make it happen. They're very talented and deserve a big payoff.
And, I'm terrified of what it means for ooTunes (not just the server, but the radio playing iPhone app, at least in the short term). However not for the reasons some people may think... let me explain:

a) Apple's never followed the "one app at a time" rule that 3rd party developers have to follow. Apple can make an app that does what ooTunes does, but let it run in the background like their own iPod app. That seems a bit unfair to me (given the number one feature request for ooTunes is just that) but that's the breaks.

b) If Apple's going to be competing in this area, that might hurt my (very meager) sales of the ooTunes Server (something I'm not too worried about since it's really at hobby level for me at this point anyway).

c) Here's the one that's got me scared... I recently added "lala" as a keyword for my app in iTunes (apple now gives developers 100 characters of keywords to make the app more searchable in iTunes and the app store). That wouldn't be a big deal except that I've submitted a much needed (and AWESOME) updated version to Apple, yet received their dreaded "this review is taking longer than expected" email from Apple indicating *something* needs further review. There are horror stories of people who get that email only to find their review is still in limbo even months later. So let's hope this isn't ooTunes' fate (especially given that the features of the ooTunes server are very similar to lala's offerings, IMHO justifying the keyword, and news of this acquisition only surfaced in the last day or two, and the app was submitted long before that!)

But as the communication channels between me and Apple consist a pretty uninformative email when they feel like it, I'm left worrying about it all...

Monday, June 15, 2009

ooTunes milestones...

Just wanted to post a short mention of what I've been up to lately....
first off, ooTunes has been #1 in paid music apps in Canada for going on almost a week now :) I guess that's what I get for adding almost 800 Canadian streams for you iPhone / iPod Touch brandishing Canucks :) I was told also that at least for the first 8 reviews, I had an average rating of 5 stars!

Second, I've been getting station requests like crazy! As of today, I added the 10,000th stream to the full list of all ooTunes Radio stations here.

Third, the ooTunes server has been recently updated with beta support for sharing your photos. On Mac, assuming you use iPhoto for your photo management, you get albums, ratings, tags, titles, etc. On windows and linux, for now it's only going to scan directories for photos. The feature is off by default, be sure to turn it on in the Global preferences for ooTunes Server if you want to give it a try, and let me know what you think!

Fourth, I'm currently working to finalize the realtime video transcoding that iPhone OS 3.0 can take advantage of. The cool thing about this is it should eventually allow not only playback of videos in non-iPhone compatible formats or sizes, but also eventually live video (as in, from a TV tuner card, webcam, or even some live online video streams).

Fifth, I did the unthinkable! I finally pre-ordered an iPhone 3G S! Oh, and I developed, sold and supported a rather popular iPhone app entirely on a 1st Generation iPod Touch :)

Finally, later this week, as part of the release for the new iPhone 3G S, my family and I will be taking a little ooTunes promotional trip, it's fully experimental, but I'm really excited about it. I'll post a followup on how it goes here, someday...

Thanks for reading :)

ooTunes Nerd

Monday, May 4, 2009

Crash logs for iPhone app developers!

Wonderful change, thank you apple!

When I logged in to iTunes connect this morning, I noticed a message about being able to get crash logs for my application(s)! This is absolutely wonderful! Before you had to either rely on a debug log or a user manually finding and emailing you the crash log(s) when they happened, which was a bit annoying...

Here's a bit more info on the iPhone app crash logs on TUAW.

Users are prompted to upload the logs when they sync with iTunes and now we finally get to see them as developers!

I think apple should provide a new category of apps: Top 20 most/lease crashy apps or something like that... though I'd hate to find myself on that hall of shame :(

Of course since ooTunes Radio 2.0 came out, there's far far fewer crashes... I hope they posted all the crash logs so I can actually statistically see that (or not...).

Anway, thanks Apple, and I'm still waiting for the email about ooTunes 2.0 being accepted and available ;)

Sunday, May 3, 2009

ooTunes Radio iPhone Review

Well, this last week has been phenominal since the release of ooTunes Radio 2.0. From the start (Apple never actually notified me that the update was accepted... still waiting for an apology from them on that), to now (over 2,000 downloads later!) things have been a bit unexpected. It's currently at the number 14th most popular paid Music application in the US app store. Some people might say "so what?" but to them I say... I've gotten there with absolutely no paid advertising, almost exclusively word of mouth advertising and google web searches, a ton of help and suggestions from friends, customers and beta testers, and a lot of late late nights... To this day, as far as I know, I've had ZERO reviews of ooTunes on even any smaller (or possibly even personal blogs!??).

So, since it's been out for almost 3 months now, and the Outstanding 2.0 update has been out for a week now, and I've even TRIED to get someone to review it this time... (to be fair, there are a few people who say a review is in the works :/), I've decided to capitalize on the google search traffic that apparently has nowhere to go until SOMEONE posts a real review... so here is my totally unbiased review of ooTunes Radio 2.0.

It's AWESOME, especially when you look at where it came from. 4 months ago, I'd never written a single application in Objective-C (the programming language most used for developing iPhone apps). I wrote it in my spare time (such a thing used to exist for me I think). I did it ENTIRELY without using a real iPhone (I have an iPod touch thanks to both the most expensive Christmas present I've ever received, as well as the longest lasting). In fact, I did it almost entirely without using the iPhone OS Simulator since about a month into development, it just stopped working on my computer... go figure :(

So, keeping that in mind, the first released version was far from perfect... the start was even more rocky when I found out about 2 hours before the app was accepted for sale, that I'd have to remove one of the cool features! (Note to others with no business experience... get something in writing BEFORE you decide to use a 3rd party's services...)

Also, many of the reviewers were angry because they had assumed that the ooTunes Server was included in the $4 iPhone purchase... so beyond bugs, it also had a bunch of negative reviews in iTunes for that... I quickly changed the description to use ALL CAPS and ******'s galore to make it so any rational individual who glanced at the description should grasp the features that required the server and those that didn't.

So, I realized that I'd catered a bit to those who were willing and able to buy and run the ooTunes Media Server and left some of the features of the plain old iPhone app lacking... so with version 2.0, I concentrated on making the app the absolute best radio player in the store... and it turned out, even better than I could have hoped! I knew as I was finishing up beta testing that this version was going to go somewhere (the earlier versions had a couple of short stint's on the top 20 music apps, but nothing lasting...)

So here we are, ooTunes Radio 2.0 is NOT the last word, by any means. I have a huge list of additional features to add, improvements, customizations to settings additional audio formats, etc. I'll be working more on the next update as early as this coming week, as long as I can get to it between providing the VERY BEST customer support anyone could ask for, and taking my son on an outing to celebrate him not peeing the bed for 3 consecutive nights! (You rock Herbie!).

So, was this really a review? No. But it was long, and it was pretty positive, so I'll rate this post 3 stars (out of 5).

And if you happen upon this while searching for a review of ooTunes Radio, why don't you tell someone at a REAL website that you'd be interested in seeing a review, I'd assume there are other people who listen to user's feedback :)

P.S. Buy ooTunes..

Wednesday, March 18, 2009

Live Video Streaming on iPhone 3.0!

Title says it all. My job just became a million times easier to get that working. No more porting FFmpeg, SDL, etc. or paying for a 3rd party streaming sdk. This is quite simply awesome!

That's all, can't say more since it's still under NDA.

Wednesday, March 11, 2009

App store reviews now separated by version!

Since the last two posts were complaining (about apple) I'll restore some balance...

Apple really does seem to be listening to developer feedback. One of the annoying things for developers and reviews of their apps is that they are cumulative for all versions of the app, so if someone has a rough start, it's hard to shake the early reviews. Well, now in the reviews, they've added "Average for all versions" as well as (presumably) average for the current version! This will of course also mean that it works the other way, if for some reason your app blows up after the second update (after having lots of great feedback) then would-be buyers will also see that the the current version maybe isn't as good as it used to be. It doesn't go as far as letting developers actually RESPOND to the feedback, but it certainly is a step in the right direction. Here's a couple of images from my own app's page.

Also of note, it appears that they now show the total number of ratings, not just those with actual textual reviews. Though I still think they should separate the non-text reviews from the averages since they are highly biased downward by asking for a rating when an app is deleted :(

Note, I haven't yet upgraded to iTunes 8.1 yet so this is a feature for everyone, not just the newly upgraded.

I hope they also made the dang thing load a bit faster (and cache old pages a bit less) but I won't hold my breath since those are typically mutually exclusive demands.

Oooh, it also has a last modified date by all the reviews, I like it!

One more request (since I'm pretty sure steve jobs read this blog): LET DEVELOPERS SEE THE INTERNATIONAL REVIEWS FOR THEIR APP please, instead of having to resort to some crazy screenscraping hack which is undoubtably slowing the store down for everyone else...

Friday, March 6, 2009

Blogs... where people go to complain...

iTunes app store feedback is a fun little forum. It's like the rest of the internet, mostly garbage, some nice spots, and of course, noone really controls it. Well, I've been a bit baffled by some of the reviews I've had for the ooTunes Radio iPhone app. So I almost posted this as feedback (with a 3 start "neutral" rating). Then I decided against it (thanks rob :) Instead, I've resorted to using more *'s and ALL CAPS to make sure people don't just skim over my app store description (hey, some people are liking it enough to buy it without thinking twice... actually over 2000 people :) The beautiful thing is that I'm getting much more feedback directly than in the app store. However, I'd love for more people to contact me... customer service can be a real adventure (and time sink!) but I've always liked talking to people.

Here's what I'd post as my own feedback. It was fun to write:

My goodness gracious! Hi, this is Oogli. I don't exist as a real person. But really, I would be a nice guy if I did!
Okay, I've spent the last 2 years of my life, in every waking moment working to make this app and the server a reality. Some may call me an idiot, great. Please do it to my face (see the "ooTunes Radio Support" link). I cannot honestly believe the number of people who are still "surprised" that the ooTunes server costs extra money! I can't believe it (unless you bought my app on day 1) there are two places in this long (poorly written) description that have stated in no unclear terms (sold separately see:

I don't understand why people are able to read all about all the features (many of which require using a server, not because I'm trying to get rich from it, but because they are TECHNICALLY IMPOSSIBLE TO DO without having a server running on YOUR computer) but FAIL to see the SOLD SEPARATELY text??? I'm not trying to rip people off!!!! I want everyone to be happy, I want to keep working to make my software perfect, I want to live a long(ish) and happy, not-overly-stressful life. However, I'm finding that it is quite difficult given the circumstances:

  1. I can't advertise my Server software here more than I already am, this is Apple's store, they don't get anything from people purchasing my server software, this is not an advertisement.
  2. I can't respond to people here. Please contact me!!!! (see the "ooTunes Radio Support" link) I answer every email I get! I want to help you!!! I want you to tell me why I'm a fool, then you can tell the rest of the world.
  3. If you feel as though you were ripped off, tell me to my face (or by electronic mail, rather)! I'll make it right!
  4. Please check your facts before you post reviews. I've heard several people tell me that "all these streams are available elsewhere for free". Please tell me (and any potential customers where, so we can move on with our lives!), or that the web-browser is only available with the server? It's not. Try again, or ask me how to use it.
  5. If you have trouble with the software, it's my fault. Please tell me so I can improve it. I'm listening, and working hard on it. See the "ooTunes Radio Support" link.
  6. If you like my software, thanks! I sincerely appreciate your business. I'd still love to hear what I can do to improve it! (then you can tell the world)
  7. That feels better...

Wednesday, March 4, 2009

A bug report for the app store review process


Horrible subjectivity, inconsistency and unpredictability of app store review process.

Steps to Reproduce:

-(BOOL) willAppleDoTheRightThingForDevelopers{
App *myapp = [App appWithMuchHardWorkAndLateNights];
while ([[Users of:myapp] count]){
do {
[myapp submitForReview];
if ([Reviewer feelslikeapproving:myapp] && ![Reviewer insteadOfReviewingUpdatesChoosesToRejectForSomethingPrevious2ReviewersMissed] ) return YES;

[I WTF];
[I cantFindReferencedAttachment];
[I respondToRejection];
[I hearNothingBack];
[I didntInfringeTrademark];
[I haveNoRecourse];
[I curseApple];
[I prayAndroidSucceedsImmensely];
[I franticallyMakeChangesAndResubmitSoMyUsersWillStillRespectMe];

} while ([I amSane]);
return NO;

Expected Results:


Actual Results:




While the tone of this is somewhat sardonic, the realities of the frustration are 100% accurate.

Suggested improvements:

Some sort of estimated time til review (there has to be an internal queue for reviews why can't we see something giving us a rough estimate that becomes more accurate as it gets closer to review?)

A more thorough review upon first submission, so that future updates can focus on what's new, not digging up old skeletons.

If old skeletons must be brought into the matter, why not also review the actual update so fixing the first won't result in a second rejection when the new features are actually reviewed?

Since it's expected that a review can't possibly be 100% thorough for all apps, give developers a "warning" for something that's already been accepted but shouldn't have been, by saying "fix this by the next submission (if the issue is NOT serious... which in most cases it wouldn't be or it would have been found in the first n reviews!

Some means of quick turnaround with questions on clarifications from the review. I honestly got a review that said "see attached image" with no attachment! I responded asking for the attachment and still haven't heard back. In fact, I have never heard back from anyone about any requests for clarification I've made. Going on weeks now!

Provide a more concrete set of review guidelines. It was very frustrating to have an app rejected for using the word "demo" on a button, when nowhere do the guidelines state this, and the only place I could find information on it was on ars technica!

While I'm going, how about a way to respond to reviews, or more encouragement for people to contact the developers before leaving a damning review.

That's all for now, if there's a better venue for this, please let me (and all the other developers) know!