RSS
 

2.0 Screenshots

14 Aug

So far the VIP launch has been a resounding success, but as I mentioned previously, the real gravy for VIP users is yet to come: the ability to try out 2.0 first.

The official date that 2.0 becomes available for VIP users is the 24th. Here’s some of what they have to look forward to:

Select from themes
Choose from cool themes. My favorite is Greenify.

New home screen
Here you can see the home screen, redesigned player and brand new sidebar in action. You’ll notice the little dot on the player. Yes, you can click and drag that to skip ahead and back while a song is playing (finally)!

Song list view
Lists of songs are redesigned to be faster and more usable at the same time. No more slidey panels and awkward navigation heirarchies! Also notice that in 2.0 you can favorite artists and albums in addition to songs.

 
 

However you succeed, you will die

13 Aug

Mark Cuban recently wrote an article titled When you succeed with Free, you are going to die by Free.

Lets look at the rule that eventually KILLS all freemium based content plays:

There will always be a company that replaces you. At some point your BlackSwan competitor will appear and they will kick your ass. Their product will be better or more interesting or just better marketed than yours, and it also will be free. They will be Facebook to your Myspace, or Myspace to your Friendster or Google to your Yahoo. You get the point. Someone out there with a better idea will raise a bunch of money, give it away for free, build scale and charge less to reach the audience. Or will be differentiated enough, and important enough to the audience to maybe even charge more. Who knows. But they will kick your ass and you will be in trouble.

What’s the difference in this equation between free and non-free services? Does being non-free insulate one from competition?

Let’s imagine a world where search isn’t free. Google search is so good that they have killed off all of their competitors, and they decide to start charging $5 a month for everyone to use it. People pay because hey, Google always finds what they want and what else can they do? In this very imaginary scenario, Google’s black swan would be any other remotely decent search technology provided that it is offered for free. The point of this extreme example is that Google is more insulated from competition by already being free, so the above argument is silly.

The rest of the article goes on to say that no matter what type of service you offer, you should be on the lookout for your black swan and when it arrives, assuming you can’t purchase it, you should take all the money you’ve earned and run, rather than stay and fight an expensive losing battle. (I’m oversimplifying quite a bit, mostly because this isn’t the part that I care about)

That’s…fine, although I don’t necessarily agree on that point either, but Mark attacks some of the commenters in his blog for picking on the “free” aspect of his blog post like I am doing here because they miss the point at the end about how cutting and running. Perhaps if he had stuck with his original intended title “The Freemium Company Lifecycle Challenge” he wouldn’t have caught so many peoples attention and it would have just blown over. But if he really didn’t want these disputes popping up, a better title would have been “Everyone has a Black Swan, the trick is recognizing and reacting,” or something, you know, actually related to the true premise of the article. ;)

 
 

VIP live!

12 Aug

Grooveshark has launched VIP subscriptions.

Sign up for $3/month or $30/year.
In exchange you get:
-No ads ever (and more screen real estate because of it)
-Access to the latest and greatest features before anyone else.
-More to be announced later
-Locked in at the low rate. If the price goes up, your cost doesn’t.
-A badge next to your name that says you’re VIP.

On the 24th we will be launching a beta version of 2.0 to our VIP users, and trust me, that’s where the real value lies.

Coverage:
Grooveshark Launches Subscription VIP Service

Coverage:

 
 

Obama Scary

12 Aug

I hope I’m not the only one who finds this incredibly amusing. I made this clip:

From this clip:

The Daily Show With Jon Stewart Mon – Thurs 11p / 10c
Healther Skelter
www.thedailyshow.com
Daily Show
Full Episodes
Political Humor Spinal Tap Performance
 
No Comments

Posted in fun

 

You don’t know when you’re done if you don’t know what done is

08 Aug

As I mentioned in an earlier blog post, we are working hard on a 2.0 version of the product. One of the questions our team is asked quite frequently is “when will it be ready?” This question is impossible for us to answer, because ready is not defined. It’s one of the dangers of working without a real spec.

There are a lot reasons why we don’t use a real spec, none of which are up to me so I’ll not discuss them here.

Whenever 2.0 gets close to what everyone thinks we have agreed on, people look and poke at it, decide they don’t like things or realize nobody ever asked for critical feature x, or it somehow didn’t make it onto our bug list, and then we have to go back and get new designs, file a bunch of bugs, and set a new milestone. Repeat, repeat, repeat. It’s not just for 2.0 that it works this way, it’s whenever you’re working without a complete spec. When the goal posts for done are constantly moving, the question of “when will it be done?” Is really a question of “when will the goal posts stop moving?”

To break the cycle, we’re picking a done date, and mandating that the goal posts stop moving some time before that date. Working towards that, we’ve submitted our “last chance” milestone, meaning after this milestone any decisions/changes/designs must be final, because we’re going to call it done when those have been implemented, or when we hit our chosen date, whichever comes first.

 

Coming soon to Grooveshark

25 Jul

We’ve been very hard at work here at Grooveshark, working on version 2.0, *and* a new feature that will allow some users to use the site without seeing ads, ever, and the opportunity to try version 2.0 before anyone else.

I can’t say exactly when it will be, but expect more updates soon.

 
 

The Old Man of the Woods

10 Jul

Well it’s out of the bag now that I am interested in collecting mushrooms, and so far I haven’t had to venture beyond my own yard to find many interesting specimens!

I am very new to mycology and still learning a lot about identification, and a positive identification is extremely exciting. Fortunately, my most recent mushroom discovery is an easy one to identify: The Old Man of the Woods (also hanging out with the creepy field of spiders). Not only is this one not deadly, but apparently quite edible!
Correctly identifying this mushroom also helped me to identify another one I had recently collected: The Other Old Man Of The Woods.

Don’t worry, though, I have no interest in eating mushrooms of any kind, so even if I am certain I have positively identified something, I am in no danger if I turn out to be wrong.

It’s becoming apparent that I need to get my hands on a decent quality microscope for help with identification of species, and to that end Chris Bates (one of our newest interns, who’s also helping us make Autoplay better) is letting me borrow one, and longer term I am on the lookout for a deal like this.

For anyone else interested in mushroom identification, this Key to Major Groups of Mushrooms — a sort of choose your own adventure guide for mushroom identification — is an amazing resource. As I did with real choose your own adventure books as a kid, I like to cheat and follow multiple paths simultaneously, because I’m not always sure how to answer some of the questions yet and I like to hedge my bets. Some day, I think it would be neat to build an expert system to help newcomers like myself identify mushrooms by providing their observations and then answering questions (accompanied by pictures wherever possible) and assigning a confidence to those answers. I will of course need time, and access to several experts in order to build such a system, and I am in a severe shortage of both (although MushroomExpert.com is aptly named.)

 
 

Glimmering spider eyes

06 Jul

This is either creepy, awesome, or a weird combination of the two, but it would appear that I have hundreds of smallish wolf spiders living in my yard.

I occasionally go out at night with a flashlight hunting for mushrooms in my yard (most recent discovery: destroying angel or a close relative). On one such occasion I noticed a strange glimmer reflecting from where I shone my light, almost like a dew drop but different…more colorful. On closer inspection, it turned out to be a small wolf spider. I saw a couple more of those glimmers that evening and every time it was another wolf spider.

Last night I went out, and virtually the entire yard is glimmering in the same way. I looked at quite a few and found wolf spiders every time, so I can only assume that I have hundreds of wolf spiders in my yard right now.

I might be slightly more creeped out by this fact if I didn’t live in Florida, but since I do I know they must be feasting on all the palmetto bugs that have made a happy home of this entire state, so I certainly can’t complain. :)

 
1 Comment

Posted in life

 

Not giving you the password

06 Jul

Raymond Chen’s post about passwords reminded me of a humorous* java exception I frequently experience when trying to do something in the Palm Pre developer section:

java.lang.UnsupportedOperationException: Not giving you the password
com.atlassian.crowd.integration.acegi.user.CrowdUserDetails.getPassword(CrowdUserDetails.java:52)
org.acegisecurity.ui.rememberme.TokenBasedRememberMeServices.makeTokenSignature(TokenBasedRememberMeServices.java:285)
org.acegisecurity.ui.rememberme.TokenBasedRememberMeServices.autoLogin(TokenBasedRememberMeServices.java:240)
org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:104)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
com.jivesoftware.community.web.filter.ApplicationStateFilter.doFilter(ApplicationStateFilter.java:112)

“not giving you the password” — not only is this phrase funny as an exception, but it clearly looks like someone is doing it wrong. No, you shouldn’t be requesting the actual password in order to get a “remember me” type token. Of course, they’re doing a lot of other things wrong too, like showing this error to the user, and apparently not alerting themselves to the error, as I’ve been getting it off and on for several weeks at least.

*and, yes, annoying when I’m trying to actually accomplish something

 
 

500,000 Users and scaling

29 May

Grooveshark surpassed the 500,000 registered user mark today.
Ignoring the fact that many of our users never bother to register (it’s not necessary in order to use the site), 500k is an absolutely phenomenal number, especially compared to where we were just a year ago: 33k. The scary thing is that under our current growth rate, we will have over a million registered users in roughly 3 months.

Can we double our capacity in just 3 months? Obviously, history implies that it’s possible; we’ve already done much more than that. In fact we’ve done better than that: with little change in infrastructure and much of the same server capacity we’ve managed to make Grooveshark faster and scale at the same time.

On the other hand, much of the low-hanging scalability fruit has been picked now. We use memcached extensively, use a master/slave DB configuration with a data warehouse for logging or writes that don’t need to be processed in real time, and have begun doing some rudimentary sharding for stream-related activities.

What’s left? Well, we aren’t yet at the point where we can scale linearly simply by adding more servers, except probably for streaming servers. For that we need more sharding, primarily. There are still some SQL optimizations that can be made, like bringing session ids down to 16 bytes from 32 (32 on disk and 96 in memory, thanks to utf8) and ultimately getting them out of the database altogether, and using memcached even more heavily, but really all of those things only buy us time. Not that there is anything wrong with buying time, because we also need time to work on new features like last.fm scrobbling, a super-secret redesign, launching on half a dozen mobile platforms, etc., all with a relatively small dev team, but ultimately there are some fundamental architecture changes coming, and if we’re going to keep doubling our number of users every 3 months, it’s going to have to be very soon.

Update: A lot of people have been looking at this post as evidence that we are working on scrobbling support. I should point out that scrobbling support now exists for VIP users: Enable it here.