Saturday, March 13, 2010
What happened to Simplify Media for iPhone?
Saturday, December 5, 2009
Apple Lala and what it means to me (and ooTunes)
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 lala.com itself, more on that later) and fixed them asap. (FWIW, I just timed full load of lala.com vs. full login/load of demo.ootunes.com and the winner was... ooTunes, by 2 seconds, but that's neither here nor there ;)
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:
Sunday, May 3, 2009
ooTunes Radio iPhone Review
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!
That's all, can't say more since it's still under NDA.
Wednesday, March 11, 2009
App store reviews now separated by version!
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...
Saturday, November 15, 2008
Performance improvements...
One of the reasons that I originally wrote ooTunes was because I was very put off with the poor performance of other alternatives. I tried DOT.Tunes (it was using 10% of my cpu all the time, and resyncing with my iTunes library took minutes). I tried slimserver and found that in order to keep the slimserver database in sync with my iTunes library I had to run a 1 hour long sync. I chose to do this during the night, since it bogged down my computer and made playing music from the library skip and buffer. I spent a lot of time tacking on additional functionality (like marking songs played when I played them, etc.) but it was obnoxious not to be able to see changes to a playlist for as much as 24 hours. So, ooTunes was born. I spent a lot of time writing and optimizing the code that reads the iTunes library. It now is parsed in under 5 seconds, without freezing up my computer, and that's on a library with 14,000 tracks! This means, what you see through ooTunes is basically what you have in your iTunes library. If it isn't, reload the page, and it will be.
Well, I spent several of the last few days further increasing the pageload speed. I found that a lot of the time when refreshing the page (usually re-reading the iTunes library is the biggest part of that, though it only re-reads it if there have been changes since the last read), was spent reading online playlist from mp3tunes and pandora. Many people don't use these so they wouldn't be seeing the slowdown, but for me, it was taking an extra few seconds each time I reloaded. So I made changes to do a better job caching those as well. (the demo will now load about twice as fast as it used to, on a fresh login!)
The other area that I've spent (probably too much) time optimizing in the last few days is the load speed on the iPhone or iPod touch. I found it a bit frustrating on my large library (granted, I also have a not-yet-released feature of my photo library being loaded, which is something like 2000 more playlists to render) but I still thought it could use some speedup. So I've reduced the image sizes using some cool compression tools that compress images losslessly, and more importantly, I ditched the dependency on Scriptaculous/prototype on the iPhone! I seriously regret ever having started using Scriptaculous, it brings in something like 60kb (compressed) of javascript libraries for a few tasks (mostly the drag and drop of songs on playlists, etc. in the regular browser)... and there's no fine grained modularity (no way to say, I only want this feature, give me the bare minimum javascript library!) So, the iPhone interface now loads in about half as much time as it used to (at least on my own library). There is still a lot of room for improvement, but I'm pleased with the progress that's been made.
I also made some needed changes to the interface on the iPhone. No longer do you have to tap 10 times to get a song to play (it's still more than anyone would like but I've reduced it as much as I can, tapping a song once now loads the song and one more time on the quicktime play button and it should begin playing). Radio stations and movies are even better. One tap and they are playing! (the reason is that they don't do back to back playlists so they don't require the little play button to be pushed). I wish apple would give us some REAL javascript controls for the embedded quicktime player, but it doesn't seem to be top on their priorities. However, it's much better now that I fixed my own problems.
Now if only I could have made more progress on MooTunes. It's coming along but my love for "speed optimizing" just overwhelmed my love of making tons of money!
Also, please send me your suggestions and requests for improvements! I would have probably never made some of these changes if someone wouldn't have spoken out about it!
Friday, October 10, 2008
Why you can not play live video on the iPhone
- There is nothing built in to the iPhone to handle true rtsp streaming
- The only formats available to be played on the built in video player are .mov, x264 or mpeg4 all of which require a frame index in the moov atom at the beginning in order to be played as they're downloaded. Unfortunately, for a live stream such information is simply not available until the encoding is finished.
- Should you desire to build your own video player, the SDK doesn't give access to the private frameworks that apple uses for video decoding or the raw framebuffer that a player would need to have fast display. There are workarounds (that are suboptimal) but no one can show source thanks to the developer NDA that is still in effect. (technically this comment is probably out of line, though I've gleaned it from reading/searching the web, NOT from the sdk).
- Without proper hardware optimized methods, you're going to be a battery hog, and probably limited in resolution.
- Now, imagining that all of the above is somehow overcome (which I am sure it has been by some)... now the question is: "Will apple accept your app into the store?" It is against the terms of most (if not all) service provider's agreements to stream live anything (and video isn't going to be low bandwidth).
- Figure out a way to encode live video with predictable metadata (fixed frame boundaries and packet sizes)
- Write your own video player from scratch to decode whatever type of stream you want (remember 3, 4 and 5 above)
- File feature enhancements and otherwise petition Apple in hopes that they'll add support for RTSP or change their SDK to allow for this.
- Encode in short snippets and try to play them back to back seamlessly, with no breaks... this way you almost have live video (delayed by the amount of time to encode and start playing a single snippet).
- Give up on it?
Wednesday, October 1, 2008
Woohoo! Apple finally drops NDA on iPhone development!
Thursday, September 18, 2008
hallelujah!
- It forced me to finally get Real Audio streams to work
- It made me realize I really need a way to add streams directly from ooTunes (it's about half implemented already)
- I can FINALLY get back to listening to my own music and streams (instead of having to listen to conservative talk shows, sports shows, religious shows, and boring political news)
Wednesday, August 20, 2008
list of radio streams that work on your iPhone with ooTunes
Thursday, July 10, 2008
Pandora on iPhone
Anyway, does this mean ooTunes is over? Not for me it doesn't. It does set the bar a bit higher though. ooTunes can scrobble your Pandora plays (I kinda doubt Pandora will do that, since last.fm is kinda a competitor) but we'll see. ooTunes also lets you play non-music streams (like npr news, and pretty much any stream you can play in iTunes or find in the iTunes radio stations section... just drag it to your library or a playlist, and ooTunes will pick it up and stream it.) ooTunes streams pandora, but ooTunes has other tricks up it's .. um.. pocket protector.
So, check out the new official pandora app! It suffers the same fate of all official SDK apps, in that you can't listen to music and switch apps (ooTunes lets you do this, with some caveat's, if you're playing ooTunes from mobile safari).
I guess I should list here the things that ooTunes will need to improve to catch up:
easily starting a new station
thumb up/down
stand alone application (come on apple!!! you know you want to email me!)
Pandora doesn't require you to run your own server and mess with your firewall.
Anything else I'm missing? Let me know!