Daniel Lemire's blog

, 8 min read

There is only one platform: the Web

6 thoughts on “There is only one platform: the Web”

  1. Anonymous says:

    If there was ever a post of yours Daniel which was DESIGNED for me to disagree with – this must be IT.

    First of all – let’s start with the faulty premise that there is such a thing as “the web”. Isn’t it like saying “the Chinese” or “Canadians”. Is it really ONE thing?

    There are IP-based protocols (http/ftp etc.) there are standard data formats (HTML/SGML/XML etc.) there are APIs etc. and “The Web” is some subset of combinations of those things.

    Conclusion: what’s wrong with a “web platform” so long as you don’t make it “closed” (unavailable to others). After all, isn’t what Google offers (“docs” / “search” / “calendar” / “mobile” etc.) just the kind of “platform” that you decry?

    Secondly, we DO need applications. Isn’t “search” an application? Isn’t “Google Maps” an application? I mean, yes, by all means provide an API to it as well, but something at the back end has to do something, run some algorithm, apply it to Petabytes of data and produce some result. That’s an application, isn’t it?

    So, I think we do need platforms and applications, just not monolithic “closed” ones.

    Lastly, I think there’s something to be said for the claim that “the web” is dead, even if you could define it precisely. Certainly we need repositories and I think we also need applications that know how to take advantage of them. NOT *absolutely* everything is miscellaneous.

  2. To anonymous:

    The Web is diverse, certainly. That’s why saying that the only platform that matters is the Web is like saying that platforms are irrelevant.

    I do not consider Google search as an application. Most importantly, it cannot be packaged.

    Google Docs is not a Web platform unless that is something you plan to build your own applications upon. Facebook is a Web platform.

    Software and algorithms are not dead. Far from it. But packaging and shipping is no longer relevant. People no longer buy software the way they buy hammers, as a product.

    Software is most certainly offered as a service, but more than that, these are fuzzy services, interconnected and with multiple dependencies.

  3. jeremy says:

    Paul Lamere just turned me on to your blog. Figure I’ll jump right in to commenting.

    I don’t quite get what you’re saying here. You write: “It is the Web. In some sense, the Web is the platform to rule them all.”

    Yet if I were to fire up the first web browser that I ever used, Mosaic, you would not be able to do what you want, which is to “have some tools to post content online, conveniently.” Because I would then most likely not be able to read what you post, and the whole purpose of posting would be defeated.

    Instead, I’ve continually had to upgrade my native-running software (Netscape, IE, Firefox, Safari) in order to view what you post. I’ve had to continue to install additional software, such as Flash, to view many other pages on the “web”. And in order to use additional web “software”, I will soon have to install even more software, such as Google Gears or Silverlight/Mesh.

    All these things are platforms. The Flash platform. The CSS-enabled, Javascript-enabled browser platform (which Mosaic was incapable of). The Gears platform. Et cetera.

    So I guess I don’t know what you mean by the platform being obsolete. If anything, the platform is more important than ever. If you don’t have the right platform, you can’t read and view and interact with online information.

  4. Hi Daniel, I thought I’d own up to comment #2 – although I think you might have guessed it was me. – Andre

  5. Jeremy and Andre: I might have miscommunicated my point. I will try again later.

  6. jeremy says:

    Yes, please do; I’d be interested in hearing/learning more.

    Because at the moment, I have to also disagree with your earlier, January statement: “Software is increasingly a service, not a product. Software is fluid, fast-changing, and network-based.”

    One of my favorite pieces of software at the moment is Adobe Lightroom. It is a product for digital photography workflow management. It is a library/archive tagging/storing/retriving platform. It is also a “digital negative” development platform.. development in the photographic sense.. adjusting tone curves and hues and sharpness and such. It is also a print and publish platform, with easy built-in web galleries as well as color-managed physical print modules.

    One of the coolest things about Lightroom is that any changes that you make to any of your images are, unlike Photoshop, stored as non-destrucive, parameterized algorithms. Thus when I increase the brightness, or when I do a crop, it doesn’t actually touch the underlying pixels. It stores the alteration as parameters and function calls. Any time that I want to export an image from my library, it applies, all at once, the algorithmic changes that I’ve made into a single jpg or tiff.

    At any point, I can remove one of the functional changes, and it won’t affect the quality of my final image. That is very different from Photoshop and its destructive pixel alteration functionality.

    So I think Lightroom is great, and I love using it.

    But the upshot of Lightroom’s approach is that its software is not fluid, fast-changing, and network based. Because changes to my photographs are stored as parameterized algorithms, rather than actually modifying the pixels, the algorithms themselves have to remain stable, or else a photographic change that I made a week ago will have a different effect a week later, with some fluid software update.

    Similarly, for the library/archival aspect of Lightroom, the last thing that I want is for the software to be fluid and changing all the time. If I have come up with a system and mechanism for managing my library, and then a software update changes the way the software functions, it will screw up my system.

    So on the one hand, I think I kinda understand the appeal of “live” software like Google docs, that automatically adds functionality without requiring a packaged software download. (E.g. with Google Docs, its possible for the functionality of the software to change midstream, while you are working on a document. For example, a better line-break algorithm may suddenly appear in the software, even as you are editing a document.

    On the other hand, that sort of fluidity is completely unnecessary at best, dangerous at worst, for some of my favorite software. If Adobe were to dynamically and fluidly change the algorithmic functionality of some of my hue or saturation or vibrance image adjustments, then it would completely screw up previous images that I had worked on.

    So no, that software needs stability. Stability that lasts months, years, or even decades. It does not need to change all the time. It should not change all the time.

    Anyway, that’s just a thought. I’ll look forward to hearing what more you have to say.