I’m reasonably certain now that unless MySpace wakes up and fixes their developer approach, they can expect to lose out to Facebook. The experience for the developer is so off the mark over at MySpace, it is no wonder that after nearly a year of being available, innovation in the applications is stagnant. The reason is simple: MySpace makes it too hard on developers. The rest of this post is rant against MySpace’s developer platform.
Facebook set a standard for the developer experience. It works as follows. I join the developer group; I’m a developer. I don’t wait to be approved. I self-identify and I get started. I can immediately build a demo app. I can place it in a sandbox mode where only people I’ve designated can view it, or I can just make it live. Once I think it’s polished, I can submit it to Facebook’s directory. That will get me some free advertising. Or I could skip it. I could drive traffic to it with ads. It doesn’t matter. Facebook offers me the freedom.
Facebooks offers a system for certification that shows off my app as complying with their ideals for apps. I have to pay for this, and for most apps, it’s probably not worth it. I like that Facebook is trying this and letting the market decide. I suspect consumers won’t care about the certification, but I still appreciate them experimenting and letting developers opt in.
MySpace takes a big brother approach to developers. You apply to get an account, and you wait. I’m not sure what they actual check about people, perhaps that their email isn’t fake. Once you get into the developer program, you must create a “profile” for each application you develop. That requires a unique email address, even for a demo app. This must have been someone’s bright idea to overload the meaning of profiles at MySpace instead of generating unique IDs…except, apps do have unique numeric IDs. Facebook got this right–create an app, get a long, unique ID. Plus, on Facebook, I am shown as the developer. I don’t have some other email address that MySpace sends junk to.
On MySpace, I can see my app, but no one else can until it’s approved. This isn’t actually clear, since as you visit the live versions of your profile or home page, you see your app. If you recommend the app to a friend, no error is generated. I only understood this after I looked over a friend’s shoulder to see that my app did not appear for him when he looked at my profile.
So, I clicked to publish my app, and I waited two days. I was irritated to find it rejected. I got boilerplate complaints that I had to decipher how they related to my app. And I got this warning at the end of the email: DO NOT REPLY TO THIS EMAIL. THIS MAILBOX IS NOT MONITORED. (Yes, it was all in caps like that).
I want to allow my users to install the app either on their profile, for their friends to see, or on their home page, for their eyes only. It’s a reasonable decision. MySpace keeps telling me “must contain unique content on every application surface“. I’ve actually seen other apps behave this way, so I can only assume that whatever mindless approval mechanism is in place (human or otherwise) is just happening to catch me. Perhaps other developers have figured out that you develop your app once for approval and then again for being useful. I have to finally get approved before I can test that idea.
I’m on my third round of asking for approval. I’ve made 5 minutes of changes today and now I can wait another 24 hours to see if I get satisfaction. One of the latest bit of feedback, which was new to the latest round but had been there from the beginning, is related to targets for links. If you link off of myspace.com, then you must set your link to target a new window. I see why you have to do this–the app is in an iframe and it loads the remote site in the little frame otherwise. MySpace hosts the application code. Why don’t they just add targets to links themselves? Facebook touches every bit of code to make it work best with their site.
I can only conclude that MySpace does not think of developers as providing value for their site. Facebook clearly understand the fair exchange of values. Developers make these sites more attractive to users. The more time spent on Facebook, the more ad revenue for Facebook. MySpace seems to take the attitude that developers are miscreatants who must be forced to follow the rules. Facebook has a laisse-faire attitude. Developers try ideas in the market and Facebook only intervenes in cases where the apps are clearly being harmful.
It’s an interesting balance. Certainly MySpace tends to allow it’s users run rampant. They still allow users to place big chunks of CSS code in their “about me” profile box. Facebook attempts to keep the user experience uniform. You don’t get to have a black background on your profile page. It’s clear that Facebook spends time on serious user experience development. MySpace continues to appear to be an ugly hack.
Update 12/19: Of course, the next day I get a brand new complaint from MySpace. Today, it’s “Canvas Surface of the app is not appropriately sized to fit the module.” When I get these complaints, they include a link to Application Guidelines. That previous complaint about unique content quoted these guidelines, but this time I can’t find the word size anywhere on the page! Maybe that guideline was revised away the last time they updated the guidelines November 19th. I think I’ll just turn off the canvas page completely like I did the home page.
Update 12/22: I guess the reviewers take weekends off. Of course, the app was rejected yet again. Last Friday I used the checkbox on the developer console labeled “Enabled”. I unchecked it. I didn’t bother to click to where the “canvas surface” used to be because I logically assumed that with it disabled, there’d by no point. Applying logic to this process is clearly a mistake. The rejection I this time complained about an invalid canvas surface. It’s invalid to uncheck the checkbox?!? Why is it there?!? OK, so, the canvas is turned back on with just some plain text explaining that although I don’t want anything to be here, I have to put something there. I have to admit, I’m just about done screwing around with them. I feel like I’m talking to a random error generator.
Update 12/26: I guess putting some text for the reviewer on the canvas page works because I got a reply that makes it seem like it’s in reply to my complaint. Still, the app was rejected. This time it’s because I used the word “MySpace”, which implies affiliation with MySpace. Right. I did did get some advice for how to disable the canvas: redirect the user to the profile. I think the advice was meant to be about gadgets.views.requestNavigateTo(), although the advice mentioned navigateTo, which I think is a method on the window object in MSIE. I decided to be nice and tell the user that they are about to be sent to their profile page by including a 3 second timeout with a link to go their immediately. I wonder what error the MDP folks will complain about next.
Update 12/29: I’m finally approved. Now that I am, I can see that any change I want to make must go through the approval process again, even just a small text change. I have to think that however they are reviewing apps, it can’t scale up if they ever match Facebook which has more than 660K developers. It also strikes me that rapidly adapting the app to user behavior will be dampened if you have to wait a day for every change to be approved.