This is basically a plea for applications / social networks to somewhat become citizens of the internet, to participate in the rest of society.
> We invite software developers to do their part, by (creating links, public-ish apis to resolve even hidden links)
Love it. Love it love it love it. You're either a part of civil society, participating in public activities, something visible & discussable & around. You are part of the internetworking of humankind. Online, in a connected way. Or you're just using the internet to extend your intranet. To build your own private little silo, a small fort, a-participator, contributing nothing, taking.
I love the ideas here. I do want to see a reciprocal dawning awareness though, a hope/expectation/recognition that social systems & so called online medias be accessible broadly, not just via narrow applicationized windows. Ubiquotous linking is a mouthful, a complex notion, but I want this battle not just to be one that good moral techies try to raise up & make other techies do, but something that society itself engages in, a recognition that that which is done in secret in closed systems does not contribute, and a belief that society deserves to be able to comment, review, discuss, share, link, cite, exchange the ideas and things they see as they navigate connected information systems. Connected information systems ought be a part of the broader internetwork we have. To fall away from that, to become your own little island: it withdraws your value, what you are from society, is anti-social, anti-societal. Great site, but it leaves me wondering how we scope up the dilemna & situation here, how we make the conflict of withheld & walled-gardened (corporate intra-netted), versus public & in the world.
I really love this idea, and it has implications far beyond its simplicity. For example, having an OmniFocus to-do action link to the Obsidian document explaining how to do it is wonderful. Instead of having to find some magical app that’s a brilliant task manager and a brilliant note taker, I can integrate my favorite apps in each class and have them work together seamlessly.
The manifesto was spearheaded by the team behind Hook[1] (which I’ve reviewed elsewhere[2]) that become one of my favorite daily-use apps. The short version is that it’s a database of links between items in different apps, so that even if app A and app B don’t natively support linking to each other, it takes care of it for you. This is brilliant when A and B play nicely.
Problem is, lots of apps don’t support deep linking. Take Apple’s Reminders.app which doesn’t provide a way to get a link to the reminder you’re currently viewing. Hook uses lots of behind-the-scenes scripting to try to emulate that functionality for many apps, but it isn’t perfect. If the manifesto got its way, it’d be easy to get a link like “reminders://Shopping/[some_uuid]” that, when opened, would launch Reminders and open directly to that item.
This would benefit much more than Hook. Imagine a future where your “My Project” Obsidian document had a list of links to OmniFocus, your favorite music app for setting the mood while you work, your messaging app where you discuss it with your friend, and your recipe app where you’ve stored the post-project pizza instructions. Every app that follows the manifesto makes this future just that much closer, and there’s a strong network effect at play.
All applications are basically a view of over a DOM, so why not allow that DOM to be navigated via a URI?
Many more things become possible when one starts to think like this, event notifications, scripting, etc.
It will be glorious when end users can compose components from existing applications in beautiful new ways. Not to Amiga the thread, but it allowed for such composition via AREXX ports. What if web applications were open to extension in the same way that local applications sometimes are?
Another example is Notes which can be linked directly without an icloud link but they do their best to hide that feature making impossible to link notes between each other.
Native apps are often great, but this is one area where web apps have a distinct advantage. It would be wonderful if native apps adopted a standard URL scheme for manipulating state.
I especially wish mobile apps would practice deep linking more often and make said URLs discoverable.
For iOS I've come across AppTalk[1] before, does anyone know of something similar for Android?
Google has been driving actual URLs into apps, via the creation of Web Share API and Web Share Target API. One doesn't need a subsystem within the operating system, when the internet already does the job.
For reference, here's app-talk describing their core capability:
> The goal of the x-callback-url specification is to provide a standardized means for iOS developers to expose and document the methods they make available to other apps. Using x-callback-url’s source apps can launch other apps passing data and context information, and also provide parameters instructing the target app to return data and control back to the source app after executing an action.
I do love this idea of showing what capabilities are afforded. This is a little different to me than the Ubiquotous Linking, which reads more to me about exposing data, rather than capabilities. I think both are important!!!
Android Apps have intents, but AFAIK it's kind of a barren wasteland of interoperability. There's no registry, no way to see what actions are available. One kind of just has some intents they listen for, and fires off intents they know how to issue. There's no rendezvous, no finding out what one might do. I could be mistaken. But it feels enormously fantastically tightly coupled. And App-Talk seems aimed to make a bit more ad-hoc connections possible. Web Share/Web Share Target do fill this gap nicely, but it is weird that Android in general doesn't seem to have much here.
> There's no registry, no way to see what actions are available.
Damn! Was hoping such a thing existed. Or, ideally, to be able to query apps for their linkable functionality.
The end goal is for any action within any app to be reducible to a single tap. I'm still new to Android so perhaps this is all doable and I just need to figure it out.
On Android, you can inspect what activities are available, and invoke them directly. It's not a part of the standard installation but tools are easily available. This way, you can create shortcuts to get to most activities in one tap. With more complex automation software, you can even run them in a chain, or conditionally.
It's the closest thing to URLs I've seen on a major platform.
AFIACT most desktop software, built using whatever tools, is not structured this way, and cannot be easily converted.
It's what made the web. Literally and figuratively. As in, it made the web the web, and it made the web popular. Sadly, these days many web sites are single page JS monsters which break linking/bookmarks/opening-in-new-tab and everything we took for granted.
In lack of SW, Ubiquituous Linking still provides value. I would hope it catches on. Looking at you, Twitter and Meta, hiding public content behind sign-up-walls.
Linking comes naturally to actual websites made by human persons. It's only the commercial/institutional sites made by groups of people paid money to make them and who therefor don't (and can't) care that make hostile unlinkable websites. And that's not going to change as long as using huge piles of js webcrap is cheapest and easiest for groups of people. I don't think we can ever change that.
This should ignore the lost cause of corporate websites and be a manifesto for human person devs to not take these kind of bad habits home.
It's interesting that this is getting upvotes. I remember on 2016 the overnight shift from companies having open APIs being considered good to it being considered "dangerous".
In 2016 the concern was about accessing other people's data through open APIs, not accessing your own data in your own apps. Moreover, the problem in 2016 was that a disingenuous company could exploit one user's account, under false pretences, to access their friends' data without any consent at all.
Having an open API doesn't mean you can't require authentication and authorization for requests, and having a link to something doesn't mean you have permission to access what's at the other end of that link.
"Dangerous" to what? I don't recall a specific relevant discussion, was it about danger to customer lock-in moats or about security or about something else ?
I think Parent was referring to the Facebook–Cambridge Analytica data scandal [1], where personal data belonging to fb users was collected without consent by a third party through API and then used for political advertising for the 2016 US election.
However, I don't think it's a fair comparison. In the CA case, users were deceived into a research and had their social graph being accessed without being told such implication. Here, the user has the control over the generation of links and the resource being linked; the user must manually generate and invoke the link to cross-access resource between apps.
> We invite software developers to do their part, by (creating links, public-ish apis to resolve even hidden links)
Love it. Love it love it love it. You're either a part of civil society, participating in public activities, something visible & discussable & around. You are part of the internetworking of humankind. Online, in a connected way. Or you're just using the internet to extend your intranet. To build your own private little silo, a small fort, a-participator, contributing nothing, taking.
I love the ideas here. I do want to see a reciprocal dawning awareness though, a hope/expectation/recognition that social systems & so called online medias be accessible broadly, not just via narrow applicationized windows. Ubiquotous linking is a mouthful, a complex notion, but I want this battle not just to be one that good moral techies try to raise up & make other techies do, but something that society itself engages in, a recognition that that which is done in secret in closed systems does not contribute, and a belief that society deserves to be able to comment, review, discuss, share, link, cite, exchange the ideas and things they see as they navigate connected information systems. Connected information systems ought be a part of the broader internetwork we have. To fall away from that, to become your own little island: it withdraws your value, what you are from society, is anti-social, anti-societal. Great site, but it leaves me wondering how we scope up the dilemna & situation here, how we make the conflict of withheld & walled-gardened (corporate intra-netted), versus public & in the world.