After much bitching, moaning and complaining, I’ve taken the time to start writing an opensocial app.
Only doing it now because I ended up developing a twitter PHP api today, and I wanted a myspace app that would post my current status to twitter when I updated it.
A couple hundred lines of code later, I quit for the night. I will finish sometime in the coming days but let me just take the time to pointout now just how shitty this platform can actually be.
Granted it’s well organized, reminds me somewhat of Android’s organization. However it’s encouraging bloated, slow, web 2.0 sickening applications.
They have a large, powerful framework. But the trouble is that the whole thing is bloatware waiting to happen. You may be excited that as a developer you get to use javascript in the little iframe they give you to play with.
Not only does the iframes thing suck (well, how myspace pulls it off), and make anything but shitty flash games a pain in the ass to implement. (not that iFrames can’t be used, just don’t use them to make bloatware..)
Now I certainly don’t have all the answers, and I may sound like a jerk when I say how I would have my social network do things, but on the other hand, this is my blog.
While some failed games turned social networks did seem to take a general step in the right direction however limited. (Seems pretty damn amateur).
First off I want crossdomain communication to be as easy as possible. Since I don’t plan to make an insanely huge (cough* myspace, facebook) social network and am aiming for a more community feel, I have no problems proxying the data on my server.
So the coder could use something like:
crossDomainRequest = new CrossDomain();
crossDomainRequest.open(‘GET’, “http://graysblog.org/feed/”, true);
crossDomainRequest.onreadystatechange = function () {
if (crossDomainRequest.readyState == 4) {
alert crossDomainRequest.responseText;
}
}
crossDomainRequest.send(”);
Incase you don’t see the freakin’ obvious resemblance to XMLHttpRequest, just get your eyes checked.
So how do I plan to keep users safe? I do plan to (eek) use an iFrame and separate domain for the apps.
Don’t worry, all apps will have standard CSS applied to them because I don’t want a jumbled up crapload of apps that don’t look standard and end up ugly.
The framework will be a collection of objects. When an app is loaded, it will be sent 2 ID’s, owner and viewer. With this it can access the users information (according to allow/deny preferences) via the javascript object, or the REST API.
————————————————————-
And yes, I do plan to implement an API with my network. Access will use specific keys, and each user will be assigned an API-Use-Key. Keeping abusive users away from this will be a chore, but I have ideas for that already.
-woah that was a long post, I do apologize if parts didn’t make sense, tv+blogging+no sleep = bad