I explored the power of hyperlinks beyond traditional web pages, emphasizing their potential to connect apps and websites more seamlessly. Current linking methods, while fundamental to the web's interconnected nature, fall short of the ideal. I advocate for expanding the capabilities of registerProtocolHandler to access native schemes system-wide, enabling websites to handle various content types and register as system file handlers. Furthermore, I propose a richer vocabulary of link actions beyond 'VIEW', such as 'PICK', 'SAVE', and 'EDIT', to better define website and app capabilities, similar to Android Intents and Siri's functionality. Tools like Comlink inspire this vision by simplifying cross-app communication, paving the way for link-driven function discovery and a more integrated online experience.
This post explores how to use Android Intents to detect if a native app is installed. This technique is useful for web apps that also have a native app version, especially for managing push notifications. It allows developers to seamlessly redirect users to the app if it's installed or fall back to the web experience. The method involves creating a special intent URL that opens the app if present, or redirects to a specific URL with a hash fragment. By monitoring the hash change in the browser, the web app can detect if the app launch failed and proceed with web-based push notification registration. While helpful, this approach highlights the complexity of managing push notifications across web and native apps, reinforcing the argument for web-only solutions.
Web Intents is a new project designed to solve the problem of web application integration. Inspired by Android's intent system, it allows developers to build features without needing to integrate with every possible 3rd party service. Web Intents lets users choose their preferred service for actions like image editing or sharing. The project has been revised with a simplified API to make integration easier for developers, requiring minimal code. Service registration is done via a new tag, and client initiation is also streamlined. Check out the examples at http://examples.webintents.org/ and share your thoughts as we work with Mozilla to refine this game-changing approach to web development.
I've been working on Web Intents, a project to simplify client-to-client service discovery and communication on the web using technologies like IFrames and SharedWorkers. It addresses the current issue of apps needing to integrate with third-party services, which restricts user choices. However, I recently discovered a similar project, Web Introducer, also by a Googler. It tackles the same problems with more in-depth security considerations. So, I'll be shifting my focus to contribute to Web Introducer. Web Intents remains a valuable example of using SharedWorkers and messaging effectively within web apps. More on Web Introducer and SharedWorkers coming soon!