Richard Stallman is a Jerk.. and Wrong

The title of this post is pretty indicative of the tone and content of this post. If you worship at the altar of Richard Stallman and promote all things Stallmanesque then I contend you are not likely to enjoy the rest of this post.

How to be a Jerk in Just 102 Words

First, I’ll let you read what Richard Stallman decided needed to be said in response to the death of Steve Jobs:

Steve Jobs, the pioneer of the computer as a jail made cool, designed to sever fools from their freedom, has died.

As Chicago Mayor Harold Washington said of the corrupt former Mayor Daley, “I’m not glad he’s dead, but I’m glad he’s gone.” Nobody deserves to have to die – not Jobs, not Mr. Bill, not even people guilty of bigger evils than theirs. But we all deserve the end of Jobs’ malign influence on people’s computing.

Unfortunately, that influence continues despite his absence. We can only hope his successors, as they attempt to carry on his legacy, will be less effective.

Where to begin? Mr. Stallman, you clearly have strong feelings about the free software movement, I get that. Clearly you can get a lot more mileage by being caustic than sweet, particularly when you still feel you need to generate traction in the mainstream. But your attempt at riding one man’s popularity into his grave in order to promote an agenda while maligning his contributions seems designed solely to backfire and alienate you from anyone aside from your most devoted fans.

I am not alone in finding your statement repugnant and disrespectful, no matter how you might attempt to soften your stance (i.e. “Nobody deserves to have to die”). Even those who might agree with your stance on free software appear to be taken aback by your (call it what it is) callous, opportunistic abuse of another man’s death. You seem to oppose corporate entities making hay off the work of others, yet even some of Apple’s biggest competitors refrained from stepping on this moment. Whatever goal you might have hoped for, you have only shown yourself to be petty and bitter and unwilling to grant that another person’s life might have offered worth to the world in spite of your opposition to their principles.

And How to be Wrong, Too

And let’s take a look at those principles, shall we? You dislike that Jobs promoted a device which is “designed to sever fools from their freedom”. So glad to see you take a shot at the living. I think you miss the point. If Mr. Jobs were still alive and asked if he designed the iPhone or any other Apple device to be in some way less free, I imagine he would have said that wasn’t the point, that in fact most people do not care. His goals were simply orthogonal to freedom, in the sense of which you speak. It wasn’t on his radar. The freedom Mr. Jobs espoused was the freedom not to be bound by the limitations of poor design. Of complexities which distract the user from creating. Of dealing with tools which never saw the word “No”.

I find myself forced to admit you have made positive contributions in your efforts to push the free software agenda. But I find it shocking that you can be so oblivious to the positive influence Steve Jobs had on the world. I am not the type to build someone up beyond where they deserve to be, but you have to admit that inasmuch as your drive and determination has pushed a movement, Mr. Jobs’ drive and determination has pushed industries (plural), and has allowed hundreds of thousands of people to do more to create and produce and communicate.

And my final point on the matter… put up or shut up, Mr. Stallman. The mass appeal of Apple products does not lie purely in marketing muscle. They are appealing specifically because they are well designed, highly polished and focused on what consumers need. They simply work. More importantly they get out of the way to do so. While there are well designed free software products which can make a similar claim, the most common refrain of casual users is that when compared to non-free solutions, functionality is either missing, poorly designed or difficult to understand. In short, the tool gets in the way of the worker. Perhaps if the movement which you champion so vehemently (and yet are serving so poorly with this sort of vitriol) was more capable of producing software that serves the user more effectively, you might gain some leverage. Until then, deal with the fact that most people are not interested in what you are pushing. And try to learn what it means to actually respect another’s accomplishments rather than attempting to tarnish someone’s image in order to further your own cause.

Is Apple Aiming for the Enterprise Now?

Shiny glass like image of an appleOne of the things that comes up from time to time is the dominance of Windows and dearth of OS X in the Enterprise. It is no less true now than it has been in the past… OS X is not a major presence in business and in particular big business. In the past, Apple made overtures toward the business market with their Xserver and Xsan products, but those have been discontinued, leaving only the Mac Pro as the high horsepower OS X server of choice and the Mac Mini as the budget oriented OS X server platform. What does this mean for Apple in the Enterprise? Not much, or at least nothing different than what they have always been. Still, a few interesting tidbits came up during Tim Cook’s presentation that makes one wonder if Cupertino hasn’t kept business market share plans somewhere in their back pocket.

We Want More

In previous keynotes, there hasn’t typically been a global interest in discussing overall install base for the Mac. There has been discussion of laptop install base because that has historically been a strong point for Mac sales relative to the rest of the industry. But desktop sales have typically not been mentioned prominently. To be fair, Tim Cook didn’t really go into desktop sales specifically but he did discuss overall install base very prominently during the opening of the keynote. And more importantly, he stated “there are still 70% of people buying something else. We still have a lot to do.”

Now, no CEO is ever going to state “We have plenty of customers, we don’t need any more.” They would be kicked out of their posh office and deservedly so. They might even have to forego their golden parachute. But looking backwards, this sort of aggressive discussion of expanding the overall user base has been atypical of Apple. Surely they have always wanted to expand their hardware sales but it hasn’t been discussed so matter of factly before. That makes it interesting, but that alone isn’t what got me to thinking about business sales.

We Have More

During the discussion of iPad statistics, they pointed out 92% of Fortune 500 companies are looking at the iPad for internal use. I have to agree with Mr. Cook, that is remarkable. Of course, they’re naturally going to mention things which put the iPad in a positive light, and the fact that the iPad is the dominant tablet at the moment means there is plenty to talk about. Still, it is striking to me that there is such an emphasis on business uptake of the iPad.

Combine this with the other factoids, uptake in the medical industry, the recent adoption by some airline pilots to reduce the number of physical books they have to carry with them, the 95% overall satisfaction rate with iPad users, and you have a serious reason to think that the iPad, and Apple by extension, is going to end up firmly entrenched within the business sector.

But Wait, There’s Still More

Finally, there is another interesting piece of information that was shown; satisfaction rates for smartphone users. At the top of the heap was Apple with the iPhone. Noticeably missing from anywhere near the top of the heap? RIM’s BlackBerry. Personally, I have seen a large number of our clients shift from BlackBerry to iPhone or Android phones, with a bias toward the iPhone. RIM’s BlackBerry phones are, of course, known for being the phone for business professionals with presumably superior communication technologies. But with that low a satisfaction rate among RIM customers, at least some of them have to be switching. And what are they switching to? No doubt some of them are heading to iPhones. Toss in the fact that RIM entered the tablet war with disastrous consequences and you have a recipe for many dissastified business professionals turning toward Apple products.

So where does that leave things? Apple has been using the halo effect to push sales of each item of hardware through popular usage of other pieces of hardware. While the iPhone has been popular, the iPad is taking it to a whole new level, especially in the business sector. The fact that Apple is taking note of their overall market share, both in mobile and on the desktop, suggests they are aware of the overall position and that they can have a place in business. They haven’t given up on OS X Server as a product and might yet reintroduce server hardware but in the meantime can continue to work toward presence on the desktop at the small and enterprise business levels. I don’t purport to know what Apple is planning but it certainly seems like they have an eye on what could be.

iPhone 4S – Did You Expect a 5?

Shiny glass like image of an appleThe Wall Street Journal, and others, seem to be bummed that Apple announced the iPhone 4S without the expected hoverboard and dishwashing upgrades. Apparently, having a faster processer, faster graphics chip, support for both GSM and CDMA on the same device, more capacity, sharper camera, incredible voice control capability, support for faster downloads via HSPA+ along with an extra letter ‘S’ wasn’t enough.

The fact is that for any other device, the hardware bump from iPhone 4 to iPhone 4S would represent sufficient advances as to warrant a version bump, no sweat. But because of the expectations which Apple has built up around their devices, it is almost inevitable that they can’t keep up with expectations. In the weeks leading up to today’s announcement, blogs and news sites trotted out lede after lede baiting users with tantalizing might-be’s and possible could-have’s. Some were spot on, some missed the mark. Regardless, there was precisely one voice missing from the hype machine. Yep, Apple. Apple made no grand pronouncements other than that it would be about iPhones. There were bits and pieces which we could glean from their activities and from various leaks (perhaps some more astroturfy than others but still) but nothing that set expectations terribly high. Some even surmised that some of the news leaks just prior to today’s Apple announcement were intentionally leaked by Apple in order to lower expectations that were running rampant leading up to the iPhone 4S unveiling. And given how many Debbie Downers are disappointed in the hardware bump, I can hardly blame Apple for wanting to set expectations lower.

Jazzed About the iPhone 4S

To be honest, while I’m appreciative of all of the enhancements, it’s the GSM/CDMA on a single device on top of availability on Sprint that I’m most jazzed about. Because of the support for both cell protocols, the iPhone is being called a world phone, which is now a fair statement. It now means that I can take my phone to whichever carrier I desire to take it to, without having to worry about the hardware inside which tied it to one set of carriers or another. It adds the element of freedom that has been missing with the iPhone since it was first released. And while I haven’t had an opportunity to check for myself, Sprint is known for having lower data and voice plan rates. I don’t know if that will translate to lower rates for iPhone users, but if so, that might apply a little additional downward pressure on fees that have only gone up since the iPhone’s debut. I wasn’t considering myself to be in the market for a phone upgrade but I might take a look at what Sprint will offer and, if it makes sense to do so, make the switch.

Really, there is a lot to love with this upgrade. If you can’t find something that at least piques your interest, you aren’t trying very hard. It seems strange to hear people complaining that they didn’t get the toy they weren’t promised in the first place and instead have to settle for the toy that is still clearly better than what they already have. I suppose, though, that it speaks volumes about the popularity of Apple and what people expect from their design team.

The Best Programming Tool… Ever

The best programming tool I’ve ever used was a whiteboard with dry erase markers. When I worked for IBM, we had a team of, oh, about 10 or so developers working on an internal project with usage spanning the globe. We turned out tight code on a tight schedule and we did it with relatively few errors and hell if we didn’t come in under budget, just for kicks. We had a really great team of developers but one thing which I think had a big impact was having a huge whiteboard in every. single. office.

We were, at the time, technically part of the services division, even though we had absolutely no outside contact with customers. We provided purely internal benefit through our software. In a nutshell, we wrote the ticketing and billing software for the maintenance and support services for IBM. When you called IBM for support on your AS/400, we were the ones responsible for tracking that little guy and making sure you were billed appropriately. This involved working with several systems and a home brewed database (it was some time before we completed our migration to DB/2) but it was well done. We didn’t get many complaints.

I don’t know if it was due to being part of the services division or if it was something IBM was doing as a whole (I suspect the latter) but at the time, we were undergoing a management shift as well as a process management shift. Our management shift was moving to matrix management where projects had business managers and individuals had HR managers so you were reporting to two entities and.. well.. the less said the better. The process management involved weekly meetings, lots of status updates and tons of charts. But in spite of all of this, the whiteboard kept us on time and under budget.

Each office held two developers (or architect or team lead, whatever). The wall as you walked in was taken up by a massive whiteboard with two or three dry erase markers plus an eraser and maybe some whiteboard cleaner. You had to go the breakroom and grab some paper towels if you wanted to actually use the stuff.

Anyway, we used the hell out of those things. You could walk into any office and immediately know what they were working on by checking out the edges of the board, where long term task lists were kept. But the big plus were the middle areas, where technical notes and diagrams were kept. We would do object designs and data flows and leave them up for a month or so until things were complete. Need a gigantic scratch pad to work out the logic for your module? No problem, just stand up and walk over to the whiteboard and write down the contents of your mind.

Perhaps the lone problem was lack of space. Make no mistake, these whiteboards were huge, wide enough to span two cubicles. Still, if the problem was sticky enough, you wanted, nay, needed more space. And of course you were sharing with your officemate, so you had to be mindful of what space they needed. As it happened, we had a few extra rooms where we could use whiteboards unfettered by occupancy restrictions. It was a wonderful time.

Since then, I have been to many locations and seen many team sharing arrangements. The supremacy of the whiteboard has typically received at least a nod in the form of a shared whiteboard in a common area but never was worshipped as it was when I was at IBM.

Things have probably changed since then. Times certainly have. There are whiteboard software applications that allow users to draw to a shared space on their computer, but it’s not the same. Using a mouse to try to draw programming diagrams and notes is like trying to build a ship in a bottle using salad tongs. And if you have a Wacom tablet or similar device you’re probably not the focus of this post. No, there is no substitute for the real thing. The whiteboard is the king of programmer tools. Long live the king!

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!


[Name Redacted]
StumbleUpon Support Team

Read our blog:
Be our friend on Facebook:
Follow us on Twitter:!/StumbleUpon
Check out our YouTube videos:

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.



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.

When the Tail Wags the Dog

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.

Kindle Fire vs RIM PlayBook

John Gruber, at, in a post about a comparison between the Kindle Fire and RIM’s PlayBook, quoted Ryan Block regarding the Kindle Fire’s resemblance to the PlayBook:

From there, Amazon’s team determined they could build a tablet without the help and experience of Lab 126, so they turned to Quanta, which helped them “shortcut” the development process by using the PlayBook as their hardware template. Of course, it’s never quite that simple, and as I’m told Amazon ran into trouble, and eventually sacrifices were made (like using a slower processor).

Although Amazon did refresh the ID of their PlayBook derivative, I’m told that this first tablet of theirs is “supposed to be pretty poor” and is a “stopgap” in order to get a tablet out the door for the 2011 holiday season — which doesn’t exactly leave the best taste in my mouth.

John then follows up by asking:

My question, though: if it’s based on or even just very much similar to the BlackBerry PlayBook, why is the Kindle Fire only $199 and the PlayBook started at $499?

My response: Amazon is hoping for a halo effect, subsidizing a reduced cost tablet, perhaps sold at or even below cost, with the expectation of additional revenue from services provided by the tight integration of the Kindle Fire with Amazon products and services. This halo effect, which is something Apple has counted on with their hardware products, selling Macs and Macbooks because users purchase iPods and iPhones, is also something RIM never counted on. RIM never had services they could push toward PlayBook users which would grow revenue beyond the simple sale of the hardware.

I actually mentioned the idea of Amazon subsidizing Kindle Fire through service revenue a few weeks ago. What makes sense for Amazon didn’t for RIM, and I think for anyone trying to break into the tablet market against the iPad, they’re going to have to provide a clear improvement on price because the quality and content aren’t likely to be matched or beaten well enough to make a difference. And for that to hold true, someone’s going to have to take a loss on the hardware and make it up elsewhere. Amazon is one of the few who can do so at this point.

The State of NFC

The State of NFC

Stylized white N on a blue gradient background

The “N-Mark” logo is a trademark or registered trademark of NFC Forum, Inc.

No, I’m not here to discuss the fact that the Detroit Lions have their first 3-0 start since 1980, though kudos to them. I’m talking about Near Field Communications and particularly how it is used to make purchases. If you’ve ever swiped a badge to enter a building, had your pet injected with an electronic tag, or swiped your ticket to get onto public transportation, then you have used NFC. In essence, it involves two devices communicating information over a very short ranged radio signal. The smarter the devices, the more interesting the exchanges that can take place. With something like a badge, ticket or card, the communication is going to be, by necessity, rather simple, typically one way and typically simple bits of information. With something like a smartphone or computer, the possibilities are endless, a whole host of information being available and both devices being capable of altering what is sent based on changing needs.

Google and PayPal are squared off against one another in the NFC space  and those are two big players, to be sure. Google is going to launch a phone with NFC payment options but and it has some major players lined up to help, but it’s still going to be starting off with some limits like only being in a single new model, only being on the Sprint network, only being usable at certain retailers, etc. But it’s still a serious bid by Google to get into the game in the US, where the uptake of NFC hasn’t been nearly as pervasive as in other countries like Japan.

Meanwhile, PayPal and owner eBay have been involved with a number of acquisitions and partnerships which, while not being as close to actually going live, have the capability of being more far-reaching and touching on more payment processing possibilities (say that five times, fast) than Google’s Wallet would out of the box.

Either company would seem to have a large leg up on anyone else entering the field (pardon the pun). For any other company to stand a chance at playing in the same arena for NFC mobile payments (i.e. paying with your phone), they would have to have equal name brand recognition, the ability to widely deploy large numbers of devices with NFC, capacity to handle purchases securely and an ability to establish relationships with merchants for rapid uptake of their payment processing system. Hmm…

Apple. Yeah, you saw that coming. First off, there have been rumors for awhile now that Apple was going to be dallying in NFC. First the iPhone 4 was rumored to be introducing NFC and now rumors are flying about iPhone 5, though admittedly tuned down  . But consider, the iPhone is in widespread use and has the highest retention rates of any smartphone in the industry so it would seem that the smart money would be on pretty widespread adoption of the iPhone 5 out of the gate. Additionally, we’re seeing the iPhone move into more carriers in the US which is only going to increase its reach. Plus they’ve been processing payments as small as $0.99 for quite awhile now, albeit through their relatively controlled App Stores. And the process for signing up for what is essentially a merchant account to handle payment processing on the App Store is relatively pain free.

That said, a 30% cut of sales won’t fly and it might be hard to explain why I can sell you a Doubleplusgood Meal for only a 10% surcharge to Apple but end up with a 30% chunk gone for selling you the latest Lady Gaga track. That’s not to mention the hardware that would need to be in each location to handle that processing. Of course, the answer to that might be more iPhones or iPads. After all, Apple is already using them in their own retail stores, so why couldn’t a similar system be made available for merchants in their own stores? Set up an iPod Touch on the store’s wireless connection, secured of course. Run the merchant iOS app, loaded with the store’s inventory plus an ad-hoc item option to ring up random sales that might not be present in standard inventory. Walk around and let your patrons make purchases anywhere on the sales floor or at the main register, whatever you prefer.

Not Part of Apple’s Core

The catch to all of this is… this isn’t what Apple has been about. The App Store has typically been considered an avenue to encourage sales of Apple hardware, not as a revenue center in its own right. Perhaps that principle was Jobs-specific but I find it hard to imagine that his recent departure would result in a fairly big shift in focus. Still, Apple does seem to have a lot of the tools necessary. Or at least enough of them to give it a go.

Personally, I would like to see it happen through Apple. I already deal with them on multiple levels financially and don’t want to have to add to the panoply of companies who have my financial information. Then again, I suppose the same could be said of PayPal. Google… not so much. Wallet is new and Checkout has never really taken off. Regardless, here’s to an interesting online battle. May the best tech win.

Private API’s (Should You Use Them?)

In working on the StumbleUpon Safari extension, I came across requests in the SU support forums about SU providing an API for developers to create SU toolbars of their own. Currently there is a Firefox plugin provided by StumbleUpon but that’s it as far as actual extensions available for SU functionality. They created a toolbar that essentially puts the stumbles into an iframe but that’s fragile and can be broken by sites that have code expressly to break out of iframes. And there are other limitations too, limitations that the Firefox plugin lacks. Limitations which could be overcome in other browsers if only the private API used in the Firefox plugin were made available to all. I’ve stared tackling the task of breaking code out of the Firefox plugin for use elsewhere but I’m still left wondering whether I should.

Ask the Right Question

Keep in mind, there are two questions to ask here. One is whether it’s a good idea. The other is whether I have a right to do so. Reusing a private API has some pretty nasty downsides. Since it is private, the interface isn’t likely to be documented. You’re going to be spending time looking at message traffic, poring over all of the usage in their code to see what sorts of return values are checked. And if the developers of the private API get upset over your usage of their API they could change things such that you will be forced to extensively redevelop your version just to keep up. In cases where, as with the StumbleUpon extension, communication with a server is required, it gets worse because now you’re dealing with their servers and interfaces there which they define. In my case, I’m actually rewriting their private API, essentially recreating code to reuse their protocol. While it’s unlikely they would change the protocol extensively, since that could alienate Firefox users, it’s not outside the realm of possibility.

So why do it? If you’re considering using a private API, it’s likely because that is the only way to do what you want to do. Left with another choice, most developers would typically prefer to use a well documented public API if one is available since the drawbacks are far fewer. There are cases, though, where there are both public and private APIs available and the public API provides less power than the private APIs. This seems to tend to happen when the APIs are provided by a single vendor who also provides applications which make use of the APIs. Their apps can make use of the private APIs, resulting in more features than any third party app can provide.

Really, it seems like this is just a judgement call. Are you crazy enough to want to ride this train? Do you really want to risk pissing off the developers who created the private API, such that you end up having to rewrite your app from scratch just because they got a bee in their bonnet about its use? Heck, that could happen even if they don’t know your name. It might have been a planned revision. The fact is, you have no promises. But if you want to create your project badly enough, maybe you’re just crazy enough.

A Question of Right or Wrong

The other question is of the rightness or wrongness of using the private APIs. Of course there may be legal ramifications but that’s not what I’m talking about. Let me give you an example. With MiniStumble, I’m using the StumbleUpon API to retrieve stumble URLs from their servers. That makes use of their bandwidth, CPU and power. This may be miniscule, but it all adds up. Additionally, consider that they make money off of what they call paid discovery, where advertisers can pay to inject a URL into the stumble lineup for certain categories. What happens, then, if some rogue extension grabs URLs and never reports back that they were visited? SU would not be able to report the proper number of visitors sent to that site which begins to mess with their revenue stream. That is not being a good neighbor.

As it happens, the SU servers appear not to serve up additional stumbles until previous stumbles are reported as having been visited, so there is some sanity checking that goes on, and I’m aware enough of at least that part of what SU does to try to avoid being a prick about things anyway, but it could have been a problem. The Firefox plugin for SU is not the most complex software I’ve seen, but the code paths are many and it is easy to lose track of where different pieces of functionality will wind up taking you. In the process of trying to rewrite or just reuse a private API, you could be underdelivering to the original API writer’s customers. You might be creating problems for the API writer’s business. In short, maybe you shouldn’t have been doing what you are doing in the first place.

“First do no harm.” The physician’s creed. This business about doing this in the right is, frankly, the part that gives me the most bother. I think I’m doing it responsibly and I think I’m doing it well enough, making sure folks understand that when they grab my extension, they aren’t getting something officially endorsed by StumbleUpon and so on. And the code is there. Granted, just because I can doesn’t imply that I should. But then just because I could screw up doesn’t mean that I will either. I expect this is also something that has to be considered on a case by case basis too. Apple actively checks for private API usage for any apps entering the App Store. SU doesn’t have that option, but I’ve also posted in their forums about this, so other than sending emails directly to their dev team, I’m not sure what else I could do. I suppose if they want me to stop, they can just send me an email. Until then, I think I’ll try to make use of what they’ve provided, albeit inadvertently. But I’m going to try to place nice while doing it.

Dear Netflix

Netflix logoDear Netflix,

I’m so sorry to see you like this. It seems like just yesterday when you were the youthful embodiment of revolutionary zeal, ready to take on the world and change how everything works. Now you’re in a bit of a pickle and it seems like the vultures are circling. It wasn’t supposed to be this way!

Back in the day, you were a plucky young thing with a crazy idea of how to take on the ten ton gorilla, Blockbuster. Mail the movies to your customers! It was genius! Of course it was risky, too, which is probably what made your derring-do all the more enthralling. You had to create a supply chain comparable to that of other big name retailers, able to move DVDs out with an efficiency bordering on mania. You had to have inventory available for enough of your customers to keep them happy. And you did it with a panache that turned heads. Oh, yeah, you were the star baby!

And then there was your ability to offer suggestions based on viewer’s likes and dislikes. It was like having Miss Cleo right there with you as you picked your next flick! Except it was science! Do you remember that time you set up a contest to see if anyone could beat your recommendation algorithm? Yeah, me too. Those were the days, huh?

Blockbuster was steadily going down, you were on top of the world, and it seemed like nothing could stop you. Then we found out you had your eyes on another prize. Online streaming. Oh, sure, you told us later that was what you originally had wanted to do and I don’t doubt it. But like you said, the network wasn’t there, the licensing wasn’t there… you made the right call, to be sure. But now look what’s happened.

You started off well enough, hooked up with that Starz chick, but I told you at the time she was just slumming. I warned you she was just curious about you, not really sure things were going to work out. And sure enough, just when it seemed things were about to get serious, all of a sudden she demanded more. Hey, this sort of thing happens to us all. You know about my history with that girl from.. well, nevermind. No need to go there. But you know that old truism about there being lots more fish in the sea? Those aren’t fish here, buddy. Those are barracuda.

See, before, when you were happily doling out DVDs, they didn’t want any part of you. Sure, you sent them a check and all was well, but that was as far as it went. But now with this online streaming thing, they’re like little gold diggers, wanting a piece of your pie. And if you aren’t willing to share with them, well, they’ve got other takers. You aren’t the only one in the market, you know. I hear some of them are even willing to go it alone. That’s cold, man.

And now you’ve gone and ditched your DVD business, handing it off to your little brother, Qwikster. I hope you know what you’re doing there. No one has even heard of him and now he’s running the whole enchilada. Well, the DVD side anyway. And what’s up with that stoner he’s hanging out with these days?

Look, man, I know times are hard right now, but if you’re going to stick this out, you need to get back up, brush yourself off and go make the best of it that you can. You’ve still got some good numbers, and your online streaming thing isn’t going to melt away overnight, but you’ve got to get some serious juice lined up to jazz up that online streaming card you’re showing everyone. It’s a little stale at the moment. Consider what worked the first time, when you were offering people something that they couldn’t get anywhere else. Or, I don’t know, maybe you could get a wing man! Wait, that’s right, I heard you and Hulu hooked up with someone recently.

I know you’re the cheery sort, and I hear you’ve got some big plans, but you haven’t been really forthcoming with them yet. That’s cool. I’ll be here when you’re ready to talk. Just don’t do anything drastic until we get a chance to discuss this some more, okay?

I’d hate to see things get worse.