“… because it ‘IS’ proprietary.”

… because it is sinful.
… because those are fattening.
… because they are witches.
… because he’s a stupid jock.
… because it is indecent.
… because they are sheep.
… because we are the chosen ones.
… because it is God’s will.
… because it is healthy.
… because it is perverted.

Because the territory “IS” the map.

Lots of bad things have happened on this planet, because labels were slapped onto realworld things, leading us poor humans to characterize the world in a binary “sinful/non-sinful” way.

“It’s our right, because it’s a dog-eat-dog world.”

“It is safe to drive, because the light is green.”

“That is not good, because it is proprietary.”

That’s what struck me in a conversation today. I’ve been reading up on Mozilla’s Bespin project, trying to understand it, and someone in comments (anonymous, unfortunately) raised the question I had been asking myself

On one hand, we have folks, at Mozilla and elsewhere, telling people that open standards like HTML5, CSS, SVG, the DOM etc. are the way to go for building advanced interfaces on the client side, instead of using proprietary solutions like Flash or Silverlight.

On the other hand, we have other folks, also at Mozilla, saying that none of that stuff was good enough for them, so they had to go straight to 2d drawing primitives and rebuild everything from scratch. At which point, there is no technical reason not to do it with Flash instead, and get the additional benefit of running on all browsers now, with no compatibility concerns.

Two replies followed: “Actually, canvas is an HTML 5 standard, not a proprietary solution. It’s a peer to any other feature of HTML.”

Also: “There are huge differences between canvas and Flash: canvas IS an open standard (see HTML5) and there are multiple interoperable implementations, even multiple excellent open-source implementations.”

I reacted pretty strongly, mostly about the “is a standard” distortion offered as justification.

But the more I thought about it on the walk home, the more concerned I grew with the structure of the communication, beyond its particular factual details.

“This is this, and that is that, and it’s all very clear and distinct” is a useful mental tool in some situations. It makes things easier to learn, for one.

But such binary labeling can become a trap as well. In online debate, many use the phrase “because it’s proprietary” as a cheap way to stop thinking. I’ve been trying in good faith for years and years to pierce past that sophisticated-sounding “proprietary” label, to little result.

Still, the map is not the territory. The menu’s not the meal. Slapping a label on something doesn’t substitute for thinking it through.

I think it’s better to evaluate specific risks and specific benefits of various offerings, and not just reject “because it is dirty”. Your labels are your traps. Free yourself.

If you think that “because it’s proprietary” is sufficient argument, then please do continue be careful in intersections. “Because the light was green” may not prove quite enough to protect you from reality.

5 Responses to “… because it ‘IS’ proprietary.”

  1. Using standards is also my way but with the exception of Flash because there is no “standard” way for doing stuff Flash can.
    Using standards gives me a guideline for creating applications that work everywhere (with some tweaks of course). Flash gives me the same safety, even more than the HTML standard, because there is only one Flash Player (gnash is still no real competitor).
    But when there would be an open standard that could be compared with Flash I would prefer it over Flash just because the technology is more save to take the direction the community wants than with just one big company deciding what’s the next step.
    The direction Adobe has taken with the open screen project and open sourcing Flex SDK is awesome but as long as the plugin itself is not open this discussion will continue.

  2. Chris Brind says:

    While I generally agree with what you’re saying I would also like to point out that there does happen to be a W3C Working Draft of an HTML 5 specification:
    Easy to use prejudicial labels aside, what do you actually think of Canvas?
    As someone comments later on that page, do you feel that Adobe’s territory is being encroached?
    Personally I can see Canvas and Flex/Flash running along side each other without any problem.

  3. John Dowdell says:

    Main theme: Examine the mental tools you use… “because A ‘IS’ B” is a two-edged sword. Your ideation may map onto the world, but is not itself the world.
    Yes, I know the W3C has working drafts. After that they may reach a recommendation. Now and then a W3C Recommendation becomes an actual de-jure standard from ISO or such, like VRML. After that there may perhaps be a de-facto standard. But it’s still insufficient to answer “Why not Flash?” with “because canvas ‘IS’ a standard”.
    I’ve been supportive of the CANVAS tag itself… been following it for almost five years now:
    What do I feel? If it’s relevant, less encroachment than bad mind-manipulation. I want to hear arguments with integrity, and will dismiss those which are sloppy, which require people to be sheep before being persuasive.
    “Because it is unclean” is itself unclean.

  4. Brian Lesser says:

    Hi John,
    I think in context of some discussions saying “that is not good, because it is proprietary” is not an entirely unreasonable reaction to the history of the Web as an application platform. Microsoft’s control of both the desktop OS and browser market has had an enormously polarizing influence on developers and independent software companies. In many markets it is extremely difficult to compete with Microsoft on your own. For many companies the only way to survive as a software company is to collaborate. But company-to-company collaboration and consortiums can be difficult and expensive. In my experience that type of cooperation often goes against the grain of corporate strategy whenever companies produce truly competing products. So the response has been a growing emphasis on participating in open source projects coupled with a drive to use and evolve standards like HTML/CSS/JavaScript even when, for certain projects, they may be more difficult and expensive to use.
    A related way to look at this is that developers must choose a platform to develop on and there are only so many platforms that have the kind of ubiquity or near-ubiquity that the Windows OS, AJAX, and Flash have. Choosing a development platform is a major and long term investment and not to be made lightly. It’s not like going to an open and “free marketplace” to buy a simple and easily replaceable commodity. It’s not even like buying a car where you know for the next six years the longer term costs will be mechanical maintenance and gasoline. Platforms must evolve over time to continue to be competitive and relevant. When the platform is under the control of a single vendor developers are to some degree at the mercy of the vendor. A vendor may decide to charge a prohibitive amount for new capabilities that are baked into their runtime or may reserve features for themselves or for OEM partners. Simply changing platforms when that happens or finding a way around the problem can be prohibitively expensive.
    In some respects AJAX is still at the mercy of decisions Microsoft made many years ago and continues to make. Even though I do a lot of work with Flex I was reminded of that reality again recently when I wanted to use png files with transparency on a simple Web site. I had to code a work around just for IE 6 users. But, on the other hand, a lot of the progress that has been made in making AJAX practical (and in keeping Java relevant) has come from open collaboration and sharing. So much so, that it is now natural for many developers to place a lot of importance on pushing the Web toward a richer open and standards dominated development platform where they can have direct and collaborative input into its evolution. In other words AJAX’s success doesn’t just come from the availability of XMLHttpRequest – it comes from the open sharing of code and frameworks by different groups of developers whose frameworks make AJAX practical.
    So I’d just like to advise a little caution here. I can understand how some comments on blogs are just thoughtless and prejudiced rants. But I think there is more to the mistrust of platforms that are controlled by a single vendor than that.
    As a case in point consider screen and application sharing in Flash. Flash has an extension mechanism used by Adobe Connect that uses this feature. But the extended capabilities of screen and application sharing are not available to third party developers. The add-on capability has also been used outside Adobe when it was in Adobe’s interests. See Emmy Huang’s post on “Improving Live Video Experiences” http://weblogs.macromedia.com/emmy/ Consider also what is required to use the RTMFP flow protocol for limited peer-to-peer connections and that some features in Flex require the use of expensive LiveCyle licenses to use. I’m not saying these things show that Adobe is evil but they don’t engender trust toward platforms that are controlled by one company either.
    Yours truly,

  5. John Dowdell says:

    Howdy Brian, I’d agree that someone may dismiss Flash because “Microsoft did so-and-so” or “Adobe may slow its innovation rate” or such. Such reasons show the nature of the concern, and we can work forward from there.
    But instead saying “because it’s proprietary” says little.