• Elouan Gilbert posted an update 8 months ago

    “AJAX” happened 5 years later.This eventual adding-up of new technologies changes how we build and deliver experiences. They succeed when bringing new capabilities while maintaining shared principles:URLs and links as the core organizing system: if you can’t link to it, it isn’t part of the webMarkup and styling for accessibility, both to humans and search enginesUI Richness and system capabilities provided as additions to a functional coreFree to implement without permission or payment, which in practice means standards-basedMajor evolutions of the web must be compatible with it culturally as well as technically.Many platforms have attempted to make it possible to gain access to “exotic” capabilities while still allowing developers to build with the client-side technology of the web. In doing so they usually jettison one or more aspect of the shared value system. They aren’t bad — many are technically brilliant — but they aren’t of the web:Adobe AIR ApplicationsWindows Store AppsChrome Packaged ApplicationsFirefox OS Packaged ApplicationsCordova/PhoneGap and Crosswalk AppsBlackBerry WebWorks AppsW3C Widgets (these enjoyed several implementations)WebOS AppsChromium Embedded FrameworkElectronThese are just the ones that spring to mind offhand. I’m sure there have been others; it’s a popular idea. They frequently give up linkability in return for “appiness”: to work offline, be on the home screen, access system APIs, and re-engage users they have required apps be packaged, distributed through stores, and downloaded entirely before being experienced.Instead of clicking a link to access the content you’re looking for, these systems make stores the mediators of applications which in turn mediate and facilitate discovery for content. The hybridzation process generates applications which can no longer live in or with the assumptions of the web. How does one deploy to all of these stores all at once? Can one still keep a fast iteration pace? How does the need to package everything up-front change your assumptions and infrastructure? How does search indexing work? It’s a deep tradeoff that pits fast-iteration and linkability against offline and store discovery.Escaping the Tab: Progressive, Not HybridBut there is now another way. An evolution has taken place in browsers.Over dinner last night, add to homescreen Frances and I enumerated the attributes of this new class of applications:Responsive: to fit any form factorConnectivity independent: Progressively-enhanced with Service Workers to let them work offlineApp-like-interactions: Adopt a Shell + Content application model to create appy navigations & interactionsFresh: Transparently always up-to-date thanks to the Service Worker update processSafe: Served via TLS (a Service Worker requirement) to prevent snoopingDiscoverable: Are identifiable as “applications” thanks to W3C Manifests and Service Worker registration scope allowing search engines to find themRe-engageable: Can access the re-engagement UIs of the OS; e.g. Push NotificationsInstallable: to the home screen through browser-provided prompts, allowing users to “keep” apps they find most useful without the hassle of an app storeLinkable: meaning they’re zero-friction, zero-install, and easy to share. The social power of URLs matters.These apps aren’t packaged and deployed through stores, they’re just websites that took all the right vitamins.