tag:blogger.com,1999:blog-28102927405898358062024-02-19T03:43:51.039-06:00ooTunes Musica blog about the ooTunes media server.Unknownnoreply@blogger.comBlogger28125tag:blogger.com,1999:blog-2810292740589835806.post-10243616543346049252010-03-13T13:47:00.008-06:002010-03-13T14:30:48.461-06:00What happened to Simplify Media for iPhone?<div>One of my customers pointed out to me today that <a href="http://simplifymedia.com/">Simplify Media</a> <a href="http://www.tuaw.com/2010/03/13/boo-hoo-simplifymedia-dropping-products-and-changing-direction/">pulled their apps</a> from the iTunes app store AND may be shutting their doors in the next few months, or at least taking it "<a href="http://www.simplifymedia.com/blog/?p=176">in a new direction</a>". Anyway, I find it a bit sad that such a promising product would disappear overnight, but <a href="http://forums.macrumors.com/showthread.php?p=7539268#10">I can't really say that I'm surprised at all by this</a>. I've never understood the "give things away" model. While Google can seemingly <a href="http://gmail.com/">give</a> and <a href="http://google.com/voice">give</a> and <a href="http://youtube.com/">give</a> for <a href="http://blogger.com/">free</a>, they a) have a HUGE source of revenue (namely advertising) and b) have ways to make money already in place for many of these freebies (ie, ads in gmail, youtube, etc.). </div><div><br /></div><div>I suppose that the part that surprises me most is that it took them so long to realize that they didn't have a sustainable business model... I watched (at first with joy) as they dropped in ranking as the raised the price of the app, and charged again for a very minor update, but as they kept dropping with what was (in my opinion) a great product and with <a href="http://www.simplifymedia.com/news.html">enormous amounts of press</a>, something more seemed to be wrong. The server part of <a href="http://ootunes.com/">ooTunes</a> is really not a blockbuster and I attribute that primarily to 2 things: 1) it's really a niche market... there simply aren't that many people who have huge music libraries who aren't okay just syncing songs selectively with their devices and 2) the setup for remote serving is a tricky proposition. Simplify made it "just work" but they did so at the cost of centralizing it, meaning they were footing the bandwidth bill for all that streaming... doesn't take a genius to know that when you give something away that encourages using lots of bandwidth, and you're paying for that bandwidth, you're going to run out of money! The<a href="http://demo.ootunes.com/"> ooTunes server </a>can (and will) keep working for years to come, because the cost to me to keep it up and running (other than development time, etc.) is miniscule compared to the bandwidth bills of Simplify (who, if you don't know, gave away their product to probably 10s if not 100s of thousands of users before ever charging a dime!)</div><div><br /></div><div>Simplify probably could have started selling ads to cover some of those costs, except that they'd then started selling the app, and that kinda doesn't make for happy customers either!</div><div><br /></div><div>So, I guess we'll know what they come up with in the next 3 months to overcome their current problems, and I do hope they don't just drop all those of us who've paid for their app (or <a href="http://forums.macrumors.com/showthread.php?p=7539268">paid twice</a> or <a href="http://appshopper.com/photography/simplify-photo">even thrice</a>).</div><div><br /></div><div>So if you're reading this and you're wondering what life would be like without Simplify Media, I invite you to give <a href="http://ootunes.com/Setup.html">ooTunes</a> a try. I can't promise the same setup simplicity or sharing your friends music, but I've been using ooTunes every day for over 2 years now, and it's very solid and powerful for those who want all their music on their 16 gig phone.</div><div><br /></div><div>If you're at all unsatisfied with the ooTunes Server, I have a 30 day refund policy, and I'm not afraid to use it! I'll be the first to admit that it's not for everyone...</div><div><br /></div><div><br /></div><div><br /></div><div><br /></div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2810292740589835806.post-62290170321604356722010-01-19T23:35:00.002-06:002010-01-19T23:49:32.360-06:00ooTunes Radio is part of Indie+Relief for Haiti<span class="Apple-style-span" style="font-family:Helvetica, serif;"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style=" ;font-family:Helvetica;"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Perhaps the most difficult, yet the most rewarding part of building my business has been the direct contact that I've had with so many of my customers. I've had people <span style="text-decoration: underline; "><a href="http://help.ootunes.com/contact">contact me</a></span> from nearly all of the 150 countries with stations listed in the app.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br /></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">I'm not going to try get all philosophical about it, but those contacts had given me the chance to get to know via email at least three people directly affected by the recent earthquake in Haiti. In fact, I became aware of the earthquake when a user reported to me that several <span style="text-decoration: underline; "><a href="http://ootunes.com/s/haiti">Haitian radio stations</a></span> were not working, leading me to a station's website where pictures of the disaster were already posted, and the reason the streams were down became obvious. </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br /></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">As I read more about it, I wanted to do something to help so <a href="http://daringfireball.net/linked/2010/01/19/indie-relief">when I read</a> that a <span style="text-decoration: underline; "><a href="http://www.indierelief.com/">group of indie software developers were going to give a day's worth of sales for relief for Haiti</a></span>, I wanted to be a part of that. I'm still not sure whether I should have just done it on my own without any fanfare or whether joining forces with this effort will have a greater impact, but I guess I'll know better in 2 days.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br /></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">So if you haven't bought <a href="http://click.linksynergy.com/fs-bin/stat?id=l8FszLOIbhQ&offerid=146261&type=3&subid=0&tmpid=1826&RD_PARM1=http%253A%252F%252Fphobos.apple.com%252FWebObjects%252FMZStore.woa%252Fwa%252FviewSoftware%253Fid%253D302782364%2526mt%253D8%2526partnerId%253D30">ooTunes Radio for your iPhone or iPod Touch</a> and you're considering it, today (January 20th, 2009) is as good a day as any to do so. If you've enjoyed the app and think a friend might enjoy it as well, let them know! Otherwise, <a href="http://www.indierelief.com/">checkout the list of all the other participating independent developers</a>.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br /></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">My thoughts and prayers are with the people of Haiti and their families and those volunteers who are helping in the relief efforts. My hope is that as people recover and rebuild they will be stronger and more united as a result. I believe there is a potential effect from every natural disaster that is to test both those impacted as well as the rest of the world to give us opportunities to serve and mourn and act to help those in need.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br /></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">More info here: <a href="http://www.indierelief.com/">http://www.indierelief.com/</a> and here: <a href="http://ootunes.com/app/">http://ootunes.com/app/</a></div></span></span></span>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-2810292740589835806.post-72073861263572051642009-12-05T13:05:00.004-06:002009-12-05T14:27:58.622-06:00Apple 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.<div><br /></div><div>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).<br />Here's part of his response:<br /><br /><blockquote><br />I'll bite on your interest in being a part of lala, but here are my concerns;<br /><br />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.<br /><br />2. The ootunes demo is pretty slow and buggy. What's with that?<br /></blockquote><br /><br />(mind you this was back in May of '08 shortly after I launched the ooTunes server).<br /><br />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)<br /><br />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 <a href='http://lala.com'>lala.com</a> vs. full login/load of <a href='http://demo.ootunes.com'>demo.ootunes.com</a> and the winner was... ooTunes, by 2 seconds, but that's neither here nor there ;)</div><div><br /></div><div>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 lala.com, 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).</div><div><br /></div><div>So, while I have no clue what (if anything) will become of lala.com as we know it, so far I know that the CD trading is officially gone (as they've been referring people to <a href="http://www.swaptree.com/lala">another trading site</a>). </div><div><br /></div><div>I don't think the lala.com 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 LaLa.com didn't have the rights for mobile streaming anyway so I'm sure that's not the only way to prevent accepting it).</div><div><br /></div><div>I personally think that Apple will one day do something similar with mobile.me 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. </div><div><br />So I'm thrilled that something I instantly loved and knew would succeed was bought by "the who's who" in this field.<br />I'm excited for what it *might* bring to Apple (streaming, subscription services, free preview listens?).<br />I'm exceptionally happy for those guys who worked so hard to make it happen. They're very talented and deserve a big payoff.<br />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:<br /><br /></div><div>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 <a href="http://help.ootunes.com/app/index.htm?question=4">number one feature request for ooTunes</a> is just that) but that's the breaks.</div><div><br /></div><div>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).</div><div><br /></div><div>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!)</div><div><br /></div><div>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...</div><div><br /></div><div><br /><br /><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2810292740589835806.post-21377999204560476502009-06-15T20:10:00.005-05:002009-06-15T20:28:25.358-05:00ooTunes milestones...Just wanted to post a short mention of what I've been up to lately....<br />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 <a href="http://ootunes.com/stations/canada">800 Canadian streams for you iPhone / iPod Touch brandishing Canucks</a> :) I was told also that at least for the first 8 reviews, I had an average rating of 5 stars!<br /><br />Second, I've been getting station requests like crazy! As of today, I added the 10,000th stream to <a href="http://ootunes.com/stations"> the full list of all ooTunes Radio stations here.</a><br /><br />Third, the <a href="http://ootunes.com">ooTunes server</a> 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!<br /><br />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).<br /><br /><div>Fifth, I did the unthinkable! I finally pre-ordered an iPhone 3G S! Oh, and <a href="http://ootunes.com/app/">I developed, sold and supported a rather popular iPhone app</a> entirely on a 1st Generation iPod Touch :)</div><div><br />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...<br /><br />Thanks for reading :)<br /><br />Steve<br />ooTunes Nerd</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2810292740589835806.post-29297473504432018852009-05-04T12:05:00.004-05:002009-05-04T12:11:34.032-05:00Crash logs for iPhone app developers!Wonderful change, thank you apple! <br /><br />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... <br /><br />Here's a <a href="http://www.tuaw.com/2009/05/02/itunes-connect-now-lets-developers-see-crash-reports/">bit more info on the iPhone app crash logs on TUAW</a>.<br /><br />Users are prompted to upload the logs when they sync with iTunes and now we finally get to see them as developers! <br /><br />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 :(<br /><br /><br />Of course since <a href="http://ootunes.com/app">ooTunes Radio 2.0</a> 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...).<br /><br />Anway, thanks Apple, and I'm still waiting for the email about ooTunes 2.0 being accepted and available ;)Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2810292740589835806.post-71435605304267227572009-05-03T23:26:00.005-05:002009-05-04T00:05:27.150-05:00ooTunes Radio iPhone ReviewWell, this last week has been phenominal since the release of <a href="http://ootunes.com/app">ooTunes Radio 2.0</a>. 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 <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewTop?id=25212&popId=30">number 14th most popular paid Music application in the US app store</a>. 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!??). <br /><br />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 <a href="http://ootunes.com/app">ooTunes Radio 2.0</a>.<br /><br />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 :(<br /><br />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...)<br /><br />Also, many of the reviewers were angry because they had assumed that the <a href="http://ootunes.com">ooTunes Server</a> 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. <br /><br />So, I realized that I'd catered a bit to those who were willing and able to buy and run the <a href="http://ootunes.com">ooTunes Media Server</a> 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...)<br /><br />So here we are, <a href="http://ootunes.com/app/">ooTunes Radio 2.0</a> 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 <a href="http://help.ootunes.com/contact">VERY BEST customer support anyone could ask</a> for, and taking my son on an outing to celebrate him not peeing the bed for 3 consecutive nights! (You rock Herbie!).<br /><br />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). <br /><br />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 :)<br /><br /><small><small><small>P.S. <a href="http://click.linksynergy.com/fs-bin/stat?id=l8FszLOIbhQ&offerid=146261&type=3&subid=0&tmpid=1826&RD_PARM1=http%253A%252F%252Fphobos.apple.com%252FWebObjects%252FMZStore.woa%252Fwa%252FviewSoftware%253Fid%253D302782364%2526mt%253D8%2526partnerId%253D30">Buy ooTunes</a>..</small></small></small>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2810292740589835806.post-72685264944593467572009-03-18T16:52:00.002-05:002009-03-18T16:54:53.901-05:00Live 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!<br /><br />That's all, can't say more since it's still under NDA.Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-2810292740589835806.post-82709956887325301742009-03-11T21:17:00.007-05:002009-03-11T21:44:54.977-05:00App store reviews now separated by version!Since the last two posts were complaining (about apple) I'll restore some balance...<br /><br /><br />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. <br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipCSjvbJhdkeSWA_ourf6NgZY2177SrqCbZhLP4M38dMqhyphenhyphenMMH7j5G-GY9oEz360zAeALI5ukm_Qqw5OW41j21-hxS-avlfDBbEfN0A76i10V8dlzEjw2B3IbuW4Q23ob7ouxyaN9O53M/s1600-h/Picture+23.png"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 198px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipCSjvbJhdkeSWA_ourf6NgZY2177SrqCbZhLP4M38dMqhyphenhyphenMMH7j5G-GY9oEz360zAeALI5ukm_Qqw5OW41j21-hxS-avlfDBbEfN0A76i10V8dlzEjw2B3IbuW4Q23ob7ouxyaN9O53M/s320/Picture+23.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5312120270852278066" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8MAmuorOQAjmnWXrYUAHt49cyvUpK1uWbMKmx_jOPcFqT6wMZsjuW-1UI-1dRhbDcOG2AppBIK3q10mYlkDkZj2gaF7fJP4HDvUa90foKjUxF9trnVq1bRo6Lx0_oNyQB3mBFfB9JBjY/s1600-h/Picture+22.png"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 248px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8MAmuorOQAjmnWXrYUAHt49cyvUpK1uWbMKmx_jOPcFqT6wMZsjuW-1UI-1dRhbDcOG2AppBIK3q10mYlkDkZj2gaF7fJP4HDvUa90foKjUxF9trnVq1bRo6Lx0_oNyQB3mBFfB9JBjY/s320/Picture+22.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5312120594274412898" /></a><br /><br /><br /><br />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 :(<br /><br />Note, I haven't yet upgraded to <a href="http://www.macrumors.com/2009/03/11/itunes-8-1-now-available-for-download/">iTunes 8.1</a> yet so this is a feature for everyone, not just the newly upgraded.<br /><br />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.<br /><br />Oooh, it also has a last modified date by all the reviews, I like it! <br /><br />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...Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2810292740589835806.post-34798642754218317192009-03-06T00:59:00.004-06:002009-03-06T01:34:17.804-06:00Blogs... 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 <a href="http://ootunesradio.com">ooTunes Radio iPhone app</a>. 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.<br /><br />Here's what I'd post as my own feedback. It was fun to write:<br /><br /><blockquote><br />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!<br />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 <a href="http://help.ootunes.com/contact">"ooTunes Radio Support"</a> 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: <a href="http://ootunes.com">http://ootunes.com</a>) <br /><br />I don't understand why people are able to read all about all the features (many of which <span style="font-style:italic;">require</span> 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:<br /><br /><ol><br /><li>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.<br /></li><li>I can't respond to people here. Please contact me!!!! (see the <a href="http://help.ootunes.com/contact">"ooTunes Radio Support"</a> 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.<br /></li><li>If you feel as though you were ripped off, tell me to my face (or by electronic mail, rather)! I'll make it right!<br /></li><li>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.<br /></li><li>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 <a href="http://help.ootunes.com/contact">"ooTunes Radio Support"</a> link.<br /></li><li>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)<br /></li><li>That feels better...<br /></li><br /></ol><br /></blockquote>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2810292740589835806.post-26991481608473738512009-03-04T22:23:00.004-06:002009-03-04T23:16:58.217-06:00A bug report for the app store review processSummary:<br /><br />Horrible subjectivity, inconsistency and unpredictability of app store review process.<br /><br />Steps to Reproduce:<br /><pre><br />-(BOOL) willAppleDoTheRightThingForDevelopers{<br /> App *myapp = [App appWithMuchHardWorkAndLateNights];<br /> while ([[Users of:myapp] count]){<br /> do {<br /> [myapp submitForReview];<br /> sleep(rand()*1000+FIVE_DAYS);<br /> if ([Reviewer feelslikeapproving:myapp] && ![Reviewer insteadOfReviewingUpdatesChoosesToRejectForSomethingPrevious2ReviewersMissed] ) return YES;<br /> <br /> [I WTF];<br /> [I cantFindReferencedAttachment];<br /> [I respondToRejection];<br /> [I hearNothingBack];<br /> [I didntInfringeTrademark];<br /> [I haveNoRecourse];<br /> [I curseApple];<br /> [I prayAndroidSucceedsImmensely];<br /> [I franticallyMakeChangesAndResubmitSoMyUsersWillStillRespectMe];<br /> <br /><br /> }<br /> } while ([I amSane]);<br /> }<br /> return NO;<br />}<br /></pre><br /><br />Expected Results:<br /><br />YES<br /><br />Actual Results:<br /><br />?<br /><br />Regression:<br /><br /><br />Notes:<br /><br />While the tone of this is somewhat sardonic, the realities of the frustration are 100% accurate.<br /><br />Suggested improvements:<br /><br />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?)<br /><br />A more thorough review upon first submission, so that future updates can focus on what's new, not digging up old skeletons.<br /><br />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?<br /><br />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!<br /><br />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!<br /><br />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!<br /><br />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.<br /><br />That's all for now, if there's a better venue for this, please let me (and all the other developers) know!Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2810292740589835806.post-66866420770603664592008-11-15T17:54:00.002-06:002008-11-15T17:59:14.351-06:00Performance improvements...<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-family:arial;"><span class="Apple-style-span" style="font-size: medium;">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 </span><span class="Apple-style-span" style="font-family: Helvetica; "><span class="Apple-style-span" style="font-size: medium;">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. </span></span></span></p><div><span class="Apple-style-span" style="font-family: Helvetica; "><span class="Apple-style-span" style="font-size: medium;"><br /></span></span></div> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-family:arial;"><span class="Apple-style-span" style="font-size: medium;">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!)</span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><span class="Apple-style-span" style="font-family:arial;"><span class="Apple-style-span" style="font-size: medium;"><br /></span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-family:arial;"><span class="Apple-style-span" style="font-size: medium;">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.</span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><span class="Apple-style-span" style="font-family:arial;"><span class="Apple-style-span" style="font-size: medium;"><br /></span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-family:arial;"><span class="Apple-style-span" style="font-size: medium;">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. </span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><span class="Apple-style-span" style="font-family:arial;"><span class="Apple-style-span" style="font-size: medium;"><br /></span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-family:arial;"><span class="Apple-style-span" style="font-size: medium;">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!</span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><span class="Apple-style-span" style="font-family:arial;"><span class="Apple-style-span" style="font-size: medium;"><br /></span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-family:arial;"><span class="Apple-style-span" style="font-size: medium;">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!</span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2810292740589835806.post-89112969566760389292008-11-11T13:16:00.003-06:002008-11-11T13:21:48.335-06:00App store rejects... it's time for change!<span class="Apple-style-span" style="font-family: verdana; font-size: 13px; "><div>In following a <a href="http://forums.macrumors.com/showthread.php?t=596961">thread</a> on the <a href="http://macrumors.com">macrumors</a> forums about <a href="http://blog.return7.com/apple-rejects-castcatcher-13-claims-too-much-bandwidth">another app (castcatcher)</a> that was rejected (an update actually) on grounds of using too much bandwidth. This one maybe is a bit too close to home for me, so it's got me a bit more worried than the <a href="http://blog.wired.com/gadgets/2008/09/rejected-pull-m.html">"pull my finger"</a> app that didn't make the cut. Is anyone aware of a petition to apple to be more open about their acceptance of apps? (too lazy to google but strangely not lazy enough to not write about this).</div></span><div><span class="Apple-style-span" style="font-family: verdana; font-size: 13px; "><br />It seems that if enough registered developers signed a reasonably written, petition (and had some of the major developers of major indy apps) sign on, they may be able to be heard. My guess is that those with a lot of success are scared to "bite the hand that feeds them" but the uncertainly is extremely demoralizing to a developer. I'm not going to stop developing because of the fear, but it does certainly make me want to hedge my bets and not "risk everything" on the hopes that my apps get accepted into the store. True innovation, however probably does require more of the "risk everything" attitude. It may simply take getting some exposure on the front of a few of the apple news sites, and a few big developers in an "open letter" to bring about some change. Does the NDA override our right to unite and beg for some clearer groundrules? Is there any reason the SDK can't include the same tests that Apple themselves are using to vet applications (if such things truly exist? Things are appearing more subjective these days... and admittedly some have to be judgement calls, but something like bandwidth usage is easily implemented in a test suite).</span></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2810292740589835806.post-65195880563942641732008-10-22T15:00:00.005-05:002008-10-22T15:30:30.255-05:00ooTunes, internet radio, last.fm, and airtunesA recent request from a potential <a href="http://ootunes.com/">ooTunes</a> user was whether <a href="http://ootunes.com/">ooTunes</a> could be used to listen to windows media streams in iTunes, so that the audio could be played on their home stereo using airtunes (and the <a href="http://www.apple.com/airportexpress/">apple airport express</a>). Well, I'd been meaning to make a way to listen to a stream from ooTunes remotely but in iTunes, which would solve that issue, so I spent some time last night doing just that. <div><br /></div><div>Basically, you click the little "info" link* (the <img style="cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwDGz5TmjXz2tAuB7bs0Ahb9dE1y1iMVBoJn9Ub2tc4mp94p4Q8fQ49_BBrfQgr0ua388AY3Ukmbj73uR1nAV9F2F8fW7ZubqDnLbPkc14J0bR8mFnKrZt74f9PmtQSGjN411BbFUnJHs/s200/info.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5260078077776725202" /> at the beginning of the track in ooTunes), then click the "Play in iTunes" link which will download a .pls playlist which can be opened in iTunes to play that stream!</div><div><div><br /></div><div>The latest version of ooTunes will let you listen to any of the <a href="http://demo.ootunes.com/radio_streams_that_work_on_iphone">internet radio stations compatible with ooTunes</a> right through iTunes (even remotely) so you can pipe them to your stereo connected by Airtunes!</div><div><br /></div><div>In fact, it will probably even let you listen to whatever stations you want (this includes last.fm streams, internet radio, etc.) on your <a href="http://www.apple.com/appletv/">appleTV</a> as well (though I don't have one to test it on!). If you have one, test it out and let me know if it works or not!</div><div><br /></div><div>* You may also see the little "$" link there in the top corner. That's so you can <a href="http://buymusic.ootunes.com/">search for the lowest price on that song or album, if you were interested in buying it</a>. One day I hope to have that working with the currently playing song on a station, but the <a href="http://www.midomi.com/">makers</a> of <a href="http://www.shazam.com/">that</a> <a href="http://www.gracenote.com/business_solutions/music_id/">technology</a> have been pretty unresponsive to requests from a little guy to license it. Just FYI.</div></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2810292740589835806.post-71060826461261560762008-10-21T02:14:00.003-05:002008-10-21T02:19:13.930-05:00Some bugs fixed...I finally took some time to fix some longstanding issues with ooTunes. The biggest one is that now you can tell ooTunes to use a local address when you're on the same network as your ooTunes server... which is a) much faster and b) should work with routers that are dumb and can't connect to a local computer using a remote address). It's off by default but if ooTunes detects that your router isn't working with local addresses, it's turned on automatically. You can manually turn it on/off on the "remote access" preference page. There are also some optimizations to speed up logging in, and more info about your current ip (both local and remote) on the "remote access" preference page. If nothing else I hope it will prevent lots of support emails asking "why can I connect from my iPhone, but not locally"? Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2810292740589835806.post-83505560995927173062008-10-21T01:32:00.007-05:002008-10-21T02:54:16.751-05:00Create Genius Playlists in iTunes on the go using ooTunes ... thank you ApplescriptI've been taking a break from the pain of getting a <a href="http://ootunes.blogspot.com/2008/10/why-you-can-not-play-live-video-on.html">firewall-avoiding/live-video-playing ooTunes iPhone app</a> finished to spend some time on the <a href="http://ootunes.com/">ooTunes Media Server</a>. I've fixed a number of <a href="http://ootunes.blogspot.com/2008/10/some-bugs-fixed.html">longstanding bugs</a> and added a few new features.<div><br /></div><div>One major new feature is that (<a href="http://ootunes.blogspot.com/2008/09/are-genius-playlists-beginning-of-end.html">as promised</a>) I've finally added Genius Playlist creation to ooTunes! What this means is that when you're listening to a song on random in <a href="http://ootunes.com/">ooTunes</a>, and you decide that you want to make a Genius playlist from it, it's as easy as dragging that track to the "Genius" playlist. Well, I say it's "that easy", but that's not exactly correct (and it wasn't trivial to get working):</div><div><br /></div><div>Caveat Emptor -- or six</div><div><ol><li>This is currently only working in a regular browser (not on the iPhone yet).<br /></li><li>This only works on Mac's (sorry PC, you've had a rough couple of years, I know).<br /></li><li>This only works on Mac's when you turn on "User interface scripting" also known as "Support for Assistive Devices"... <br /></li><li>It requires iTunes to be brought to the front and may even have message boxes popup in iTunes on your ooTunes server computer.<br /></li><li>It may not work on non-english versions of iTunes. </li><li>You have to already have the track in your iTunes library, and "Genius" has to be updated since that track was added.</li></ol></div><div><br /></div><div>So why all the caveats?</div><div>1. Because I haven't come up with a clean way to do drag/drop on the iPhone like I can in a regular browser</div><div>2. I have to use AppleScript to create the Genius Playlist in iTunes, there's no equivalent commands for the windows COM interface to iTunes.</div><div>3 and 4. There is no menu command or shortcut key or AppleScript Library entry in iTunes to allow access to the "Start Genius" feature of iTunes... it's almost like... oh, I don't know... Apple DOESN'T WANT YOU TO BE ABLE TO DO THIS?!?... so it's fragile (could stop working with the next version of iTunes) and annoying (the Applescript has to simulate clicking a mouse on the button, which means iTunes has to be at the front, and a message box may appear if the track can't be used to create a Genius playlist). </div><div>5. The button can't be found by anything but name so it's not going to work for other languages unless "Start Genius" is never translated to your language in iTunes.</div><div>6. Unfortunately, you can't create a genius playlist from any old song... I was hoping to make it so you could find music you DO own that's similar to music you DON'T own (ie, from pandora, last.fm, seeqpod, radio, etc.) But you simply can't. You must have the track in your iTunes library already, and you have to do the "Update Genius" after adding any new tracks, if you want them to work with the Genius Playlists.</div><div><br /></div><div>So, there you go, I've made good on my promise, now try it out (although you can't in the demo cause I don't have enough legal tracks there for iTunes to make any suggestions... sorry!)</div><div><br /></div><div>So there you have it, it'll only get better (hopefully).</div><div><br /></div><div>Oh, and so no-one has to reinvent the wheel, <a href="http://help.ootunes.com/Create%20Genius%20Playlist%20from%20a%20track%20with%20applescript.applescript">here's a download of the applescript ooTunes uses (more or less)</a>. Feel free to do what you like with it but, but please leave the comments in there and the copyright notice with the link to this post! </div><div><br /></div><div><br /></div><div><p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana">(*</p> <p style="margin: 0.0px 0.0px 0.0px 78.6px; text-indent: -78.6px; font: 12.0px Verdana; color:#4c4e4e;"><span class="Apple-tab-span" style="white-space:pre"> </span>(C) Steven Woolley 2008, as part of ooTunes Media Server (see ootunes.com)</p><p style="margin: 0.0px 0.0px 0.0px 78.6px; text-indent: -78.6px; font: 12.0px Verdana; color:#4c4e4e;"> <span class="Apple-style-span" style="font-family: Georgia; font-size: 16px; "><span class="Apple-style-span" style="font-family: Verdana; font-size: 12px; "><span class="Apple-tab-span" style="white-space:pre"></span></span></span></p><p style="margin: 0.0px 0.0px 0.0px 78.6px; text-indent: -78.6px; font: 12.0px Verdana; color:#4c4e4e;"><span class="Apple-style-span" style="font-family: Georgia; font-size: 16px; "><span class="Apple-style-span" style="font-family: Verdana; font-size: 12px; "><span class="Apple-tab-span" style="white-space:pre"> </span>How to create an Genius Playlist in iTunes using applescript. More info and issues discussed here:</span></span></p> <p style="margin: 0.0px 0.0px 0.0px 78.6px; text-indent: -78.6px; font: 12.0px Verdana; color:#4c4e4e;"><span class="Apple-tab-span" style="white-space:pre"> </span>http://ootunes.blogspot.com/2008/10/create-genius-playlists-in-itunes-on-go.html </p> <p style="margin: 0.0px 0.0px 0.0px 78.6px; text-indent: -78.6px; font: 12.0px Verdana; min-height: 15.0pxcolor:#4c4e4e;"><span class="Apple-tab-span" style="white-space:pre"> </span></p> <p style="margin: 0.0px 0.0px 0.0px 78.6px; text-indent: -78.6px; font: 12.0px Verdana; color:#4c4e4e;"><span class="Apple-tab-span" style="white-space:pre"> </span>Feel free to use this code however you'd like, but please keep this comment intact so I hear feedback, etc., since I'd like to hear about updates, improvements, suggestions, etc. </p> <p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana">*)</p> <p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Helvetica; min-height: 14.0px"><br /></p> <p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana; color:#4c4e4e;"><span style="color:#2900ff;"><b>set</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#408000;">pid</span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#2900ff;"><b>to</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#000000;">"4B62C662B53FFB94"</span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#000000;">--</span> set this to your track's persistent id... or use some other method to get your "seed" track</p> <p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Helvetica; min-height: 14.0px"><br /></p> <p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana"><span style="color:#2900ff;"><b>set</b></span><span style="font: 12.0px Helvetica"> </span><span style="color:#408000;">app_name</span><span style="font: 12.0px Helvetica"> </span><span style="color:#2900ff;"><b>to</b></span><span style="font: 12.0px Helvetica"> </span>"iTunes"</p> <p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana; color:#0000ff;"><span style="color:#2900ff;"><b>tell</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span>application<span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#000000;">"iTunes"</span></p> <p style="margin: 0.0px 0.0px 0.0px 78.6px; text-indent: -78.6px; font: 12.0px Verdana; color:#2900ff;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><b>try</b></p> <p style="margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 12.0px Verdana; color:#4c4e4e;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color:#2900ff;"><b>with</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#2900ff;"><b>timeout</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#2900ff;"><b>of</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#000000;">10</span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#0000ff;">seconds</span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#000000;">--</span> don't want to hang forever if, for instance, iTunes has a dialog box already open</p> <p style="margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.1px; font: 12.0px Verdana; color:#0000ff;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color:#2900ff;"><b>set</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#408000;">cur_track</span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#2900ff;"><b>to</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#000000;">(</span><span style="color:#2900ff;"><b>first</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span>track<span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#2900ff;"><b>of</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span>playlist<span style="font: 12.0px Helvetica; color:#000000;"> </span>named<span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#000000;">"Music"</span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#2900ff;"><b>whose</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span>persistent ID<span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#2900ff;"><b>is</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#408000;">pid</span><span style="color:#000000;">)</span></p> <p style="margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.1px; font: 12.0px Verdana; color:#408000;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color:#0000ff;">reveal</span><span style="font: 12.0px Helvetica; color:#000000;"> </span>cur_track</p> <p style="margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 12.0px Verdana; color:#2900ff;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><b>end</b><span style="font: 12.0px Helvetica; color:#000000;"> </span><b>timeout</b></p> <p style="margin: 0.0px 0.0px 0.0px 78.6px; text-indent: -78.6px; font: 12.0px Verdana; color:#408000;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color:#2900ff;"><b>on</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#2900ff;"><b>error</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span>theError</p> <p style="margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 12.0px Verdana"><span style="font: 12.0px Helvetica"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color:#2900ff;"><b>return</b></span><span style="font: 12.0px Helvetica"> </span>"Can't find track!"</p> <p style="margin: 0.0px 0.0px 0.0px 78.6px; text-indent: -78.6px; font: 12.0px Verdana; color:#2900ff;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><b>end</b><span style="font: 12.0px Helvetica; color:#000000;"> </span><b>try</b></p> <p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana; color: #2900ff"><b>end</b><span style="font: 12.0px Helvetica; color:#000000;"> </span><b>tell</b></p> <p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Helvetica; min-height: 14.0px"><br /></p> <p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana"><span style="color:#2900ff;"><b>tell</b></span><span style="font: 12.0px Helvetica"> </span><span style="color:#0000ff;">application</span><span style="font: 12.0px Helvetica"> </span>"System Events"</p> <p style="margin: 0.0px 0.0px 0.0px 78.6px; text-indent: -78.6px; font: 12.0px Helvetica; min-height: 14.0px"><span class="Apple-tab-span" style="white-space:pre"> </span></p> <p style="margin: 0.0px 0.0px 0.0px 78.6px; text-indent: -78.6px; font: 12.0px Verdana; color:#4c4e4e;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color:#2900ff;"><b>tell</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#0000ff;">process</span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#408000;">app_name</span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#000000;">--</span> this needs Assistive Devices support enabled see: System Preferences -> Universal Access -> "Enable access for assistive devices"</p> <p style="margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 12.0px Verdana; color:#2900ff;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><b>try</b></p> <p style="margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.1px; font: 12.0px Verdana; color:#4c4e4e;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color:#2900ff;"><b>set</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#408000;">b</span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#2900ff;"><b>to</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#2900ff;"><b>first</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#0000ff;">button</span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#2900ff;"><b>of</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#0000ff;">window</span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#408000;">app_name</span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#2900ff;"><b>whose</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#0000ff;">help</span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#2900ff;"><b>is</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#000000;">"Start Genius."</span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#000000;">--</span> that's about the only way to get the "Start Genius" button, but it will break on non-english versions (I'm guessing)</p> <p style="margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.1px; font: 12.0px Verdana"><span style="font: 12.0px Helvetica"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color:#2900ff;"><b>tell</b></span><span style="font: 12.0px Helvetica"> </span><span style="color:#0000ff;">application</span><span style="font: 12.0px Helvetica"> </span>"iTunes"</p> <p style="margin: 0.0px 0.0px 0.0px 196.4px; text-indent: -196.4px; font: 12.0px Verdana; color:#0000ff;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span>activate</p> <p style="margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.1px; font: 12.0px Verdana; color:#2900ff;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><b>end</b><span style="font: 12.0px Helvetica; color:#000000;"> </span><b>tell</b></p> <p style="margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.1px; font: 12.0px Verdana; color:#0000ff;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span>click<span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#408000;">b</span></p> <p style="margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.1px; font: 12.0px Verdana; color:#4c4e4e;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color:#2900ff;"><b>with</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#2900ff;"><b>timeout</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#2900ff;"><b>of</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#000000;">1</span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#2900ff;"><b>second</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#000000;">--</span> this is a hack to "test" if the "can't create genius playlist..." dialog opened. If it does, we'll timeout (hopefully) and then close the dialog so it doesn't freeze future applescript interaction</p> <p style="margin: 0.0px 0.0px 0.0px 196.4px; text-indent: -196.4px; font: 12.0px Verdana"><span style="font: 12.0px Helvetica"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color:#2900ff;"><b>tell</b></span><span style="font: 12.0px Helvetica"> </span><span style="color:#0000ff;">application</span><span style="font: 12.0px Helvetica"> </span>"iTunes"</p> <p style="margin: 0.0px 0.0px 0.0px 235.6px; text-indent: -235.7px; font: 12.0px Verdana; color:#0000ff;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span>activate</p> <p style="margin: 0.0px 0.0px 0.0px 196.4px; text-indent: -196.4px; font: 12.0px Verdana; color:#2900ff;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><b>end</b><span style="font: 12.0px Helvetica; color:#000000;"> </span><b>tell</b></p> <p style="margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.1px; font: 12.0px Verdana; color:#2900ff;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><b>end</b><span style="font: 12.0px Helvetica; color:#000000;"> </span><b>timeout</b></p> <p style="margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.1px; font: 12.0px Verdana"><span style="font: 12.0px Helvetica"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color:#2900ff;"><b>return</b></span><span style="font: 12.0px Helvetica"> </span>""</p> <p style="margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 12.0px Verdana; color:#408000;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color:#2900ff;"><b>on</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#2900ff;"><b>error</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span>theError</p> <p style="margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.1px; font: 12.0px Verdana"><span style="font: 12.0px Helvetica"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color:#2900ff;"><b>if</b></span><span style="font: 12.0px Helvetica"> </span><span style="color:#408000;">theError</span><span style="font: 12.0px Helvetica"> </span><span style="color:#2900ff;"><b>is</b></span><span style="font: 12.0px Helvetica"> </span>"iTunes got an error: AppleEvent timed out."<span style="font: 12.0px Helvetica"> </span><span style="color:#2900ff;"><b>then</b></span></p> <p style="margin: 0.0px 0.0px 0.0px 196.4px; text-indent: -196.4px; font: 12.0px Verdana; color:#4c4e4e;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color:#0000ff;">key code</span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#000000;">36</span><span style="font: 12.0px Helvetica; color:#000000;"> </span><span style="color:#000000;">--</span> close the dialog </p> <p style="margin: 0.0px 0.0px 0.0px 196.4px; text-indent: -196.4px; font: 12.0px Verdana"><span style="font: 12.0px Helvetica"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color:#2900ff;"><b>return</b></span><span style="font: 12.0px Helvetica"> </span>"Can't create genius list from that track!"</p> <p style="margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.1px; font: 12.0px Verdana; color:#2900ff;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><b>end</b><span style="font: 12.0px Helvetica; color:#000000;"> </span><b>if</b></p> <p style="margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.1px; font: 12.0px Verdana; color:#408000;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color:#2900ff;"><b>return</b></span><span style="font: 12.0px Helvetica; color:#000000;"> </span>theError</p> <p style="margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 12.0px Verdana; color:#2900ff;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><b>end</b><span style="font: 12.0px Helvetica; color:#000000;"> </span><b>try</b></p> <p style="margin: 0.0px 0.0px 0.0px 78.6px; text-indent: -78.6px; font: 12.0px Verdana; color:#2900ff;"><span style="font: 12.0px Helvetica; color:#000000;"><span class="Apple-tab-span" style="white-space:pre"> </span></span><b>end</b><span style="font: 12.0px Helvetica; color:#000000;"> </span><b>tell</b></p> <p style="margin: 0.0px 0.0px 0.0px 78.6px; text-indent: -78.6px; font: 12.0px Verdana"><span style="font: 12.0px Helvetica"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color:#2900ff;"><b>return</b></span><span style="font: 12.0px Helvetica"> </span>"Error creating genius playlist!"</p> <p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana; color: #2900ff"><b>end</b><span style="font: 12.0px Helvetica; color:#000000;"> </span><b>tell</b></p></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2810292740589835806.post-53278259191282396972008-10-10T11:43:00.009-05:002008-10-11T13:20:55.418-05:00Why you can not play live video on the iPhone<div>The question I and many others have about the iPhone is: </div><div><br /></div><div>Can we make it play live video? </div><div><br /></div><div>I'm not talking about prerecorded video (that's doable, and really easy, <a href="http://ootunes.com/">ooTunes</a> does that already, along with tons of other apps, including the youtube app). Also, I'm talking about this in the context of an officially released app in the app store, built using the iPhone SDK. The problem has already been solved using the jailbreak toolchain, but doesn't work for official apps because of 3 and 5 below, and 4 below is still very applicable. </div><div><br /></div><div>I'd be ecstatic if someone would prove me wrong on any of this... so put in your comments, please!</div><div><br /></div><div>So, nothing's impossible, but it's extraordinarily difficult for the following reasons:</div><div><br /><ol><li>There is nothing built in to the iPhone to handle true rtsp streaming<br /></li><li>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.<br /></li><li>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). <br /></li><li>Without proper hardware optimized methods, you're going to be a battery hog, and probably limited in resolution.<br /></li><li>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).<br /></li></ol></div><div><br /></div><div>So, the options are:</div><div><ul><li>Figure out a way to encode live video with predictable metadata (fixed frame boundaries and packet sizes)<br /></li><li>Write your own video player from scratch to decode whatever type of stream you want (remember 3, 4 and 5 above)<br /></li><li>File feature enhancements and otherwise petition Apple in hopes that they'll add support for RTSP or change their SDK to allow for this.<br /></li><li>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).<br /></li><li>Give up on it?<br /></li></ul></div><div><br /></div><div>So for <a href="http://ootunes.com/">ooTunes</a>, I've learned the hard way all of the above. My latest efforts have been in porting the ogg theora video codec. I've gotten as far as decoding, but can't yet display fast enough due to 3 and 4 above. It's questionable due to 5 whether it's even worth anyone's efforts.</div><div><br /></div><div>Hope that helps someone, and I also hope that someone can prove me wrong on some of the negative stuff above. </div>Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-2810292740589835806.post-65139733068598912042008-10-01T12:03:00.004-05:002008-10-01T12:06:18.192-05:00Woohoo! Apple finally drops NDA on iPhone development!<div>See mac rumors note here:</div><a href="http://www.macrumors.com/2008/10/01/apple-drops-iphone-non-disclosure-agreement-nda/">Apple Drops iPhone Non Disclosure Agreement (NDA)</a><div><br /></div><div>This is a wonderful thing for ooTunes! I'm about halfway to getting video working (live video that is) but one of the libraries needed didn't have source available due to the NDA. Now I don't have to reinvent the wheel! Example code will be much more available, etc. now if only I had 26 hours a day! </div><div><br /></div><div>Had to say something... after the meanish stuff I've said in the past.</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2810292740589835806.post-80758644432217177452008-09-18T10:42:00.007-05:002008-09-18T15:19:58.749-05:00hallelujah!<span class="Apple-style-span" style="font-size:medium;">I finally finished going through my latest list of radio stations from the </span><a href="http://ootunes.com/"><span class="Apple-style-span" style="font-size:medium;">ooTunes</span></a><span class="Apple-style-span" style="font-size:medium;"> </span><a href="http://demo.ootunes.com/"><span class="Apple-style-span" style="font-size:medium;">demo</span></a><span class="Apple-style-span" style="font-size:medium;"> to mark them as working or not! This resulted in about</span><span class="Apple-style-span" style="font-size:medium;"> </span><a href="http://demo.ootunes.com/radio_streams_that_work_on_iphone"><span class="Apple-style-span" style="font-size:medium;">2897 stations confirmed to be working with the iphone</span></a><span class="Apple-style-span" style="font-size:medium;"> (and this is by no means a complete list of stations that will work). This is good for at least 3 reasons:</span><div><span class="Apple-style-span" style="font-size:medium;"><br /></span></div><div><div><div><ol><li><span class="Apple-style-span" style="font-size:medium;">It forced me to finally get Real Audio streams to work</span></li><li><span class="Apple-style-span" style="font-size:medium;">It made me realize I really need a way to add streams directly from ooTunes (it's about half implemented already)</span></li><li><span class="Apple-style-span" style="font-size:medium;">I can FINALLY get back to <a href="http://www.last.fm/user/woooo">listening to my own music and streams</a> (instead of having to listen to <a href="http://demo.ootunes.com/radio_streams_that_work_on_iphone/hannity">conservative</a> <a href="http://demo.ootunes.com/radio_streams_that_work_on_iphone/talk">talk shows</a>, <a href="http://demo.ootunes.com/radio_streams_that_work_on_iphone/sports">sports shows</a>, <a href="http://demo.ootunes.com/radio_streams_that_work_on_iphone/religious">religious shows</a>, and boring <a href="http://demo.ootunes.com/radio_streams_that_work_on_iphone/news">political news</a>)</span></li></ol><div><span class="Apple-style-span" style="font-size:medium;">So, coming soon: search and add stations from the your iPhone/browser, lots more radio stations (including BBC stations that didn't work before due to using Real Audio), Genius Playlist creation (even from songs you don't yet own, but like, ie, from seeqpod), and some bug fixes.</span></div></div></div></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2810292740589835806.post-88458695353622445642008-09-18T10:42:00.002-05:002008-09-18T10:43:15.018-05:00App Store humor<a href="http://www.joyoftech.com/joyoftech/joyarchives/1151.html">decision tree for apple accepting new apps to the app store</a><div>Enjoy!</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2810292740589835806.post-48325431754114281902008-09-09T22:49:00.011-05:002008-09-09T23:47:07.393-05:00Are Genius playlists the beginning of the end for last.fm and Pandora?<div><span class="Apple-style-span" style=" "><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">Good news for music lovers ... bad news for last.fm, pandora and the like...</span></span></span><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"><br /></span></span></div><div> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"><br /></span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">iTunes' new Genius playlists are, well, genius! With one of the most installed and (more importantly) most used music players apple would be foolish to NOT get users' play data and </span></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"> </span></span></p><ol><p></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"></p><li><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">use it to make their offerings better and</span></span></li><p></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"></p><li><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">use it to PROFIT!</span></span></li><p></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"></p></ol><p></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"><br /></span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">So my initial impressions:</span></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"><br /></span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"><br /></span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">It is a bit scary signing up... anonymous, but... um, yeah, give us your iTunes Store account name and password... but it's anonymous, we promise! Did we mention how anonymous it is? Well it is totally anonymous! </span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"><br /></span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">I'm not a "privacy" nut. I recycled my tinfoil hat for some quick cash. If I was, I wouldn't be </span></span><a href="http://ootunes.blogspot.com/"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">blogging</span></span></a><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">, or </span></span><a href="http://www.last.fm/user/woooo"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">scrobbing with last.fm</span></span></a><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">, etc. I understand why they need the "privacy policy" and your account info (in fact, I actually read the privacy policy associated with enabling Genius in its entirety... it's actually short and sweet). It's not a super big deal, and I applaud apple's upfrontness about it.</span></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"><br /></span></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">Okay, one hurdle down. Next iTunes spent an hour or more reading my library and playcounts, dates, ratings, etc (it was probably closer to an hour and a half, but I have something like 14,000 tracks so your ymmv). Then, after telling me it had been submitted, I was informed that Apple was</span></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"> processing the data. A few minutes later: Success! </span></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"><br /></span></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">"You can start pestering the Genius!" <-- this is NOT what it said, I forgot...</span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"><br /></span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">So, I tried it out, and it did a pretty good job, at least on the first few attempts, at least with the non-obscure stuff.</span></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"><br /></span></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">Biggest <strike></strike></span><strike></strike></span><strike><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">rightside</span></span></strike> downside? <span class="Apple-style-span" style=" ;font-family:Helvetica;"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"> </span></span></span></p><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZwNkpl-uQOWyWXIppgUHX7CXKYOQ4mUGsZMHv655oH5ZK-W9_iivuzO6M0dA_BK8RjvIvEzVCxJmKmlopzcV-dwJbOrr0HP_QH8AsQkL_jxYwvRXej_YmUFA-pqqn0KQG_afXI8QEMLw/s320/Picture+1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5244244036813213090" /><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"><span class="Apple-style-span" style=" ;font-family:Helvetica;"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">The Giant Genius sidebar... of course. If you're like me, you may just want to hide that Genius sidebar right off the bat. I refuse to buy tracks from the iTunes library before looking around to see if I can </span></span><a href="http://buymusic.ootunes.com/buymusic/Johnny%20Cash/American%20V:%20A%20Hundred%20Highways"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">buy the real physical cd online for less</span></span></a><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">. I like tangibles, and don't mind the wait for delivery and ripping, but I'm probably in the minority there, given the success of the iTunes music store and certain less legitimate</span></span></span></span></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"><span class="Apple-style-span" style=" ;font-family:Helvetica;"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"> means... Of course the sidebar might be good for recommendations even if you don't buy from iTunes, so I'll look into it eventually I'm sure.</span></span></span></span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"><br /></span></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">(NOTE, I do applaud that it recognized probably the only major Johnny Cash album that I don't (yet) own, and didn't try to re-sell me all the stuff I already bought... that is smart use of info... something that last.fm and pandora really CAN'T do, at least not very well).</span></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"><br /></span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">So, is this really the end for </span></span><a href="http://last.fm/"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">last.fm</span></span></a><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"> and </span></span><a href="http://pandora.com/"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">pandora</span></span></a><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">? Not really... Until Apple/iTunes will let you actually play stuff (more than 30 seconds) from songs you don't yet own, they can't compete with the music discovery aspect of those guys... but if I were an investor in last.fm/pandora, I'd be a bit scared (given the licensing costs </span></span><a href="http://blog.wired.com/monkeybites/2008/01/licensing-fees.html"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">we've</span></span></a><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"> </span></span><a href="http://blog.wired.com/music/2008/08/pandora-could-b.html"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">heard about</span></span></a><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">...) and now this encroaching by Apple. But, oh well, I'm pleased with apple's move, and competition is a good thing, right? Right?</span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"><br /></span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">And the best part of it all? </span></span><a href="http://ootunes.com/"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">ooTunes</span></span></a><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"> didn't break with the update to iTunes 8.0! In fact, genius playlists just show right up (both in a regular browser or in the iPhone). The only problem is that it doesn't use a neat new icon for Genius lists (kinda gonna be hard to come up with an icon more genius than nerdlinger, </span></span><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;"></span></span></p><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDnTfkpUxiH9lJnzEPptj-a2MUtCZ3Gk6dI88phnUT1jTGD-s6BwX4G53fSiQjooVA-FJyac5Gwy8yoCgTVlksGnf69HERWT4ebMmxxHMFXRZ6L-GS2H_V7jenNKtM4Tb1IJsC-YTh7Ns/s320/nerdlinger.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5244244681182283314" /><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-family:arial;">but I guess we can give him a pocket protector or einstein hair or something. Look for an update soon that fixes that minor issue, and HOPEFULLY a way to create a genius list on the fly, through ooTunes, using not only iTunes tracks, but maybe even pandora, last.fm, seeqpod, or other tracks (no promises on this, but if it's possible, I'll do it!).</span></span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><br /></p> </div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2810292740589835806.post-63385460943414918762008-08-20T20:37:00.006-05:002008-08-20T21:57:27.730-05:00list of radio streams that work on your iPhone with ooTunesI spent a bit of time today exporting and making searchable the list of radio stations that I've confirmed to work on iphone and ipod touch via <a href="http://ootunes.com/">ooTunes</a>. This is (of course) an ever growing list, which I've built mostly by requests from folks who are wondering how to listen to streaming radio on their iphone, usually with a favorite station or two. There are some great programs out there for streaming certain streams (<a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=281913144&mt=8">AOL radio</a>, <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284205617&mt=8">Tuner</a>, <a href="http://www.flytunes.fm/">Flytunes.fm</a>, etc.) but to my knowledge, ooTunes is the only one that allows windows media streams (.asf, .asx, .wmv, .wma, mms, etc.) to be streamed to iPhone. So, without any further ado, <a href="http://www.ootunes.com/Radio%20streams%20that%20work%20on%20iPhone.html">check out the new searchable station list</a> (I'll try to update it every few days), and as always, if you want to know if your favorite NPR station or specialty stream works, <a href="http://help.ootunes.com/contact?subject=Will%20this%20stream%20work?&subjectvalue=Will%20this%20stream%20work?">drop us a note</a> and we'll look into it!<div><br /></div><div> <br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2810292740589835806.post-45322879552872267892008-08-05T01:31:00.004-05:002008-08-05T01:53:11.131-05:00an undocumented change in iTunes interaction with applescriptNoticing a pattern here? Apple changed the way that iTunes returns a track from most applescript calls. Instead of returning a Track itself, it now returns a list with a single track in it. Go figure, so this basically broke every bit if interaction between ooTunes and iTunes 7.7 or higher. Since there's no documentation on it (that I've found), who knows if this was inadvertent or intentional. We may never know. It may change back, it might not. Nevertheless, since this is pretty much the only easy way to interact with iTunes on Mac's, I'm betting there will be <a href="http://dougscripts.com/itunes/ixarch/arch.php?my=2008-07#073108">more</a> than <a href="http://www.iospirit.com/index.php?mode=view&obj_type=blog&obj_id=2&o_blog_dmode=view&o_blog_entry=128">one</a> <a href="http://www.last.fm/forum/34905/_/431155/1">broken</a> <a href="http://www.liquidx.net/blog/2008/08/03/eyetunes-framework-and-itunes-771/">application</a> (since I already can think of a handful). So, the latest release fixes this (and a number of other smaller bugs, mostly relating to windows and Quicktime). <div><br /></div><div>Also in this release, preliminary support for playing movies or viewing pdf's from a regular browser, instead of only on the iPhone/iPod Touch. This feature is off by default, but can be turned on for just the session, or globally. I used the excellent <a href="http://malsup.com/jquery/media/">jquery media plugin</a> to do the embedding based on mime type. It's not perfect (yet), so add your comments below if you find problems or have suggestions!</div><div><br /></div><div><br /></div><div><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2810292740589835806.post-5218250810350237832008-07-20T22:58:00.004-05:002008-07-20T23:03:26.960-05:00An undocumented change in Javascript on your iphoneJust thought I'd make a quick mention of a change that broke some ooTunes functionality in the safari browser on the new iphone 3g and iphone 2.0. When picking a specific genre, artist or album from a playlist, ooTunes updates the list of songs using ajax, by listening for the "onchange" event on the select component. Well, with the new firmware, that stopped working. I did a few quick checks and thanks to someone with the new firmware, discovered that the event is simply never fired anymore. The only event I found that I could use that would work the same on both firmware's was the "onblur" event. This means now the playlist isn't updated until you click "done" whereas before, it updated as soon as something was picked from the list. The change was already made and can be downloaded from the <a href="http://ootunes.com">ooTunes website</a>.<div><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2810292740589835806.post-83343430723871464212008-07-17T00:36:00.007-05:002008-07-17T02:15:15.241-05:00A busy week for streaming radio to your iPhoneThis week was the launch of the new, faster iPhone, and the opening of the iPhone app store. While the launch had a <a href="http://macslash.org/article.pl?sid=07/06/30/0153219">few rough times</a>, and the app store is pretty underwhelming, there are a few great things. I <a href="http://ootunes.blogspot.com/2008/07/pandora-on-iphone.html">already commented on the Pandora app</a> (and should have blogged about the <a href="http://blog.last.fm/2008/07/13/lastfm-for-iphone-and-ipod-touch">last.fm one</a>, since imho it's waaaay better than the Pandora one). Anywho, lots of cool stuff in the future, even if the app store's pretty anemic for now.<div><br /></div><div>So, what's new with <a href="http://ootunes.com/">ooTunes</a>? I just uploaded a brand new version (0.3.3.3). Here's a few of the changes/fixes/improvements:</div><div><br /></div><div>ooTunes can now stream windows media streams (lots of internet radio stations use this format... usually the stream address begins with mms://). iTunes can't play these streams, but with the help of a wonderful free (and open source) program called <a href="http://www.videolan.org/vlc/">VLC</a>, you can now play these streams on your iPhone. See the <a href="http://help.ootunes.com/transcoding.html">transcoding help section</a> for the nitty gritty details.</div><div><br /></div><div>Trying to keep up with the <a href="http://pandora.com/">big guys</a>, we added the ability to start a new Pandora station from a search term. In the future we'll have a way to start one from any song in any of your playlists (like you can by dragging and dropping songs on the pandora playlist in a regular browser), but for now, manual search will have to do.</div><div><br /></div><div>Continuous play playlists in mobilesafari (the browser on the iPhone) have been re-implemented. Apple has left things in a pretty frustrating state when it comes to playing music in anything but the iPhone's own song library... (e.g. no javascript player controls or events in safari, no background processes in SDK applications, <strike>no way to keep playing when the phone is locked</strike>, no way to use the double button push to bring up the controls, the modal quicktime player in safari, the skip buttons won't skip to the next song in the quicktime player, can't show album art, etc., etc.) Nonetheless, we've done the best we can given the current state of things. The nice thing about playing music in mobile safari is that you CAN put it in the background and it will keep playing... you just can't show anything else (even art)... you can even lock the screen and it will keep playing... so it's the closest thing to "usable" that we have. </div><div><br /></div><div>Previously, we used a javascript timer to guess when the next song should be played. Unfortunately that broke things when you put safari in the background since javascript stops... so we use genuine playlists now... there are two (new) downsides to this... </div><div>1. You have to push "play" twice to get the playlist to start... once to load it, once to start it playing.</div><div>2. When you put safari into the background or lock your phone, the next song doesn't start playing until it is COMPLETELY DOWNLOADED! So, even though the player is CAPABLE of buffering and playing before the whole song is streamed, it choses not to when in the background... if you have a fast connection (wifi) this download is fast and it's not super annoying. On slower connections, it's more annoying. As a (crappy) workaround, you can simply switch back to Safari for one second and it starts playing, then go back to whatever else you were doing. </div><div><br /></div><div>Seriously though, it sucks that developers are left with two (differently) sub-par solutions for streaming music on a device that is designed to do so. Hopefully apple will address this in the future. </div><div><br /></div><div>Bugs fixed:</div><div>windows iTunes interaction was broken in a previous release... songs should be marked played again with this version (if you have that turned on).</div><div><br /></div><div>A "remember me" login option was added. NOTE: you should be careful with this since it's stored in a cookie (it expires in 7 days), so you probably don't want to use it on a computer that others use.</div><div><br /></div><div>Fixed a minor bug with the seeqpod playlist showing up as playable without anything to play.</div><div><br /></div><div>Future:</div><div>Now that we have all the hooks in to use VLC, that opens the door for future support and transcoding of lots more formats and thus, lots more content. </div><div><br /></div><div>Apple says they're "processing"<span class="Apple-tab-span" style="white-space:pre"> </span> my iphone developer program application. Hopefully that gets approved quickly... I have a great <a href="http://crave.cnet.com/8301-1_105-9987795-1.html?part=rss&tag=feed&subj=Crave">"flashlight"</a> application that just HAS to be in the store ASAP!</div><div> <p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><br /></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><br /></p> </div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2810292740589835806.post-84515763987780346752008-07-10T11:53:00.006-05:002008-07-10T12:40:28.691-05:00Pandora on iPhoneWell, the <a href="http://reviews.cnet.com/8301-6490_7-9987201-49.html">news just hit</a> that Pandora.com (finally) lets people listen and create stations, etc. from the iPhone. This is fantastic! This was one of the reason's I created ooTunes! Sure, ooTunes has let you listen to pandora on your iphone for almost half a year now, but with Pandora officially sanctioning and providing an app (funny how their app got accepted but ooTunes hasn't yet... thanks apple!), this can only be a positive thing.<br /><br />Anyway, does this mean <a href="http://ootunes.com/">ooTunes</a> is over? Not for me it doesn't. It does set the bar a bit higher though. ooTunes can <a href="http://www.last.fm/help/">scrobble</a> 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.<br /><br />So, <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284035177&mt=8">check out the new official pandora app</a>! 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 <a href="http://ootunes.com/FAQ.html#oniphone">mobile safari</a>).<br /><br />I guess I should list here the things that ooTunes will need to improve to catch up:<br />easily starting a new station<br />thumb up/down<br />stand alone application (come on apple!!! you know you want to email me!)<br />Pandora doesn't require you to run your own server and mess with your firewall.<br /><br />Anything else I'm missing? Let me know!Unknownnoreply@blogger.com0