pyehouse
30Sep/110

Bad News For MiniStumble (StumbleUpon Safari Extension)

As you may be aware, I've been working on a StumbleUpon Safari extension to mimic the functionality of the Firefox plugin. I've written about it here on my blog, created a page devoted to the MiniStumble project and also attempted to gather input from the StumbleUpon forums.

Yesterday, my StumbleUpon forum posts were removed, the only message in the otherwise automated email being "not legal". I then submitted a request for more information on the StumbleUpon feedback page. The following is the response I received:

Your request (#######) has been updated.
You can add a comment by replying to this email.

[Name Redacted], Sep-30 05:17 pm (PDT):
Hello Lynn,

Thanks for writing to us,

While we appreciate your enthusiasm for StumbleUpon, unfortunately, we do not allow third parties to create StumbleUpon extensions and we do not recommend you to invest resources on building such an extension from us. Our legal team may be contacting you with more details.

Thank you for your interest!

Best,

[Name Redacted]
StumbleUpon Support Team

Read our blog: http://www.stumbleupon.com/sublog/
Be our friend on Facebook: https://www.facebook.com/StumbleUpon
Follow us on Twitter: http://twitter.com/#!/StumbleUpon
Check out our YouTube videos: http://www.youtube.com/user/stumbleupon

Stumbleupon, Sep-29 03:44 pm (PDT):
I'm developing a Safari extension for StumbleUpon based upon the code in the Firefox plugin. This would provide similar functionality to the web toolbar but because it doesn't embed the stumbled content into an iframe it is resistant to frame breaking logic. Additionally it would be always on rather than having to use the toolbar. You know all the reasons it is better to use a plugin/extension in lieu of the web toolbar.

I had posted some links on the forums in response to people asking for just this. Today they were all removed and the only text I got in the email was "not legal".

I would like to know if the implication is that there is an actual legal issue or if that was intended to just mean "not allowed on our forums".

Furthermore I would like to know if there is any chance that I could receive assistance on this, or perhaps offer my own assistance to you in developing a proper, StumbleUpon officially sanctioned Safari extension.

There is definitely desire for a Safari extension to use in place of the web toolbar with the obvious benefits.

I would absolutely love to hear back from you to help clarify things for me.

Regards,

Lynn

As you can see, the claim is being made that not only do they disapprove but that what I am doing is illegal. I'm not sure what exactly is illegal about it. I have my own ideas on why they are as protective as they are about outside parties working on something like this but regardless it would appear that I'm kicking against the goads as it were. As this was intended to be a free offering for myself and other Safari users, to improve upon the web toolbar experience, I have no inclination to fight StumbleUpon on this, especially if they plan to bring in lawyers.

I'm going to update the project page and remove the link to the extension itself and take it down as well. Had I known it would meet with this resistance I wouldn't have gotten anyone's hopes up on bringing this forth. My hope is that they will take the hint that this is really something that people want and that some are willing to invest time and effort into doing if it isn't done for them, and therefore build one themselves with all the bells and whistles. Based on what I see in the Firefox plugin, I think it is absolutely a manageable goal to get a similar capability going on Safari.

29Sep/110

When the Tail Wags the Dog

Java Duke image imposed on Firefox logo, pointing at the fox

The Register is reporting that the Firefox team is considering blocking Java in response to the BEAST attack, which allows the attacker to intercept data from an otherwise secured connection. The move would be contentious given the impact it could have on anyone using Java in their Firefox browser, including users of Facebook's video chat as well as Java applets deployed internally at companies who depend on the Java functionality for their business. Without getting into the details of the problem, it seems that the Java plugin, developed now by Oracle, is causing a big headache for Firefox and their options are both limited and unappealing given possible user backlash. It's just another example of why company's are increasingly tempted to not work with other software projects to obtain new functionality, instead opting to fork existing projects, create their own solutions or just go without the new tech altogether.

A recent example involves Amazon's fork of Gingerbread (aka Android 2.3) to power their new Kindle Fire. Many decried the decision, particularly since Honeycom (Android 3.0) was available and targeted specifically at tablets and the newer Ice Cream Sandwich (Android 4.0) was going to be available just around the corner to unify the handset and tablet focused Android versions. More than just forking the code though, Amazon opted to create their own Android App Store meaning users may find themselves needing to repurchase Android apps already purchased elsewhere to get them onto their Kindle Fire or at least having to jump through additional hoops to use all available Android apps. Regardless, the fork means that Amazon is not beholden to anyone else for updates or features and given the open source nature of Android, will be able to pull any choice bits in from newer Android releases without having to work on anyone else's schedule.

We also saw this with Apple's decision to create Safari. Prior to OS X, Internet Explorer dominated the Apple browser market. Given that as connectivity became more widespread, browsing the web became a more prominent activity, Apple was moved to provide a more Apple-esque experience for browsing. The WebKit project provided the core of the browser which resulted in Apple boasting a well known browser of their own on several platforms and no longer relying on another company to provide that key experience.

Apple also showed their desire not to be reliant upon other company's technology in how they have handled Adobe's Flash. Flash has never seen the light of day on an iOS device and is no longer shipping pre-installed on Macs. There were clear performance issues (the 2009 Apple keynote mentions plugins at 10:23 but in retrospect it seems clear the reference was mostly to Flash) but more important were the control concerns. Apple has retained tight control over the user experience of their platforms, control which would only have decreased had Flash become more pervasive on Apple devices. Apple has put considerable effort into providing technologies which developers would have a hard time making use of on a meta platform like Flash, so the less dependence upon Flash by Apple, the more control they retain over their own platform.

Historically we have also seen what happens when companies attempt to coexist with competitor technologies. Witness OS/2's slow death (or lack of uptake) because developers could just develop for Windows and let the OS/2 Windows layer handle running the non-native application. Users never got a taste of what a real OS/2 app could accomplish. And while RIM's PlayBook was practically stillborn, the last gasp effort to renew life by declaring that Android apps would be allowed to run on the device was generally considered a bad idea by pundits since that, as with other similar decisions, would result in less push for developers to target the platform natively.

The lesson here is simple. Only trust third party components to the extent that you can do without them entirely. The more your own platform or project becomes dependent upon the functionality of other plugins or platforms, the more beholden you are to their schedules and priorities. It can be difficult to predict when a shift like that is going to happen (or already has), but it can be crucial.

23Sep/110

More MiniStumble Hacking Fun (We Have v2.0!)

Just a quickie here. We have a version 2.0 of MiniStumble, the StumbleUpon Safari extension bar! You can find more details on the MiniStumble page.

21Sep/110

Fun With MiniStumble – Hacking a StumbleUpon Safari Extension

Image of stick figure stumbling over rockYou may not be aware that I've created a teensy little StumbleUpon Safari extension. If not, go check it out. Apple supposedly has approved it for inclusion in their gallery, but I've checked and I don't yet see it. Regardless, as the page says it is a minimally functional StumbleUpon Safari extension, only providing a few page redirects and using the badge API to query for the view count and page ID from their database. That's all well and good but you can't use it vote on things, and it offers no protection from iframe breakers. What's a stumbler to do!?

Well, keeping in mind that this whole mess is SOLELY being developed because for whatever reason the powers that be at StumbleUpon.com have yet to develop their own Safari extension, I've been hacking around with their Firefox extension, reverse engineering it in order to do what needs doing in mine. It's been fun and I'm making some headway but I'm not exactly sure when the next release will be. I have login capability working, but I haven't yet tested doing anything useful once logged in.

One thing I'm a little concerned about is the fragility of what it is I'm doing. There is no official API for any of this. Assuming for a moment I actually manage to rip the guts out of the Firefox extension and make it work for Safari, there's no guarantee the interface won't change later on. They might alter the FF functionality such that it uses different calls. They might break some single interface that causes my whole little project to fall to pieces. Because there is no official StumbleUpon API, I have no guarantees that any of this will continue working. But, I'm enjoying doing this little bit of hackery and it seems like something useful.

I should mention too that the Firefox extension developers were thorough. I was thinking of something quick and dirty, but there are quite a few corner cases dealt with in the code and as I start bringing things over, I'm becoming torn as to whether to try to rewrite the few bits I want to pull in or try to port the entire back end over. The pain of missing those corner cases and coding for them myself or the pain of suffering through roadblock after roadblock of making Firefox extension-compatible Javascript work in a Safari extension environment. I'm leaning toward the former though the latter would, I think, be a more thorough implementation. I don't doubt that the checks in the FF extension are necessary (like making sure to check for rapid clicking on the Stumble icon and not causing multiple async stumble requests), I may start off with a more fragile implementation in some respects, just to get it out there, followed by some touch up afterward to clean things up. I'll be honest, I'm not doing this with my usual forethought, mostly because I think at some level I still see it as a "small" project.

Anyhow, I just figured I would mention what's going on with it. Bear with me and mind the mess.