Apps and Web URLs: Perfect Together
joehewitt.com
joehewitt.com
Perhaps consuming based on Content-Type headers would be a better way to attack this (legitimate) problem. Certainly in the early days of the web, that's how it was done (want to enjoy the latest VRML? Install plugin 'x'). Adding a layer of abstraction on top of URLs that tries to mediate this is just altogether wrong, I think.
Debate welcome. I'm mostly just thinking out loud here.
Web intents are great because I can say "I want this song, Android please let the best app respond (which may be a browser)" instead of "I want to access this song via Spotify, even if its not there and it is on X provider that I have access too."
edit: apparently Firefox already does "Web-based protocol handlers", which allow web apps to register arbitrary URL-schemes. So basically only thing needed to make fb-URLs to work with browsers is such handler for the Facebook web app.
edit2: http://zokier.net/fburl/ implements aforementioned fb-URL handler. If you register that page to handle fb://-urls in Firefox, and register Firefox to those urls in Windows, then they function globally correctly.
Until apps start owning URLs, everyone can publish their app capabilities here and call other apps (like Tweetbot) from their apps.
A more secure and tracking-free experience?
By the way, nothing against that (although I probably won't bother enabling it), but is it doing User-Agent sniffing? Because here in Firefox 6 it loads a normal HTML version.
I disable Javascript out of necessity. Having cleaned enough garbage off of others' computers, and having struggled long enough to pay attention despite the "blinkenlights", I find I really have no alternative.
Your choice, Joe. Fine, although I don't particularly appreciate the snarky rhetoric. (I find the combination of "No offense..." and "you get what you deserve" to be a rhetorical ploy.)
Also, there's really no explaination by the author as to how fb://profile/drivebyacct2 is any better than http://facebook.com/profile/drivebyacct2. Now there will be a landrush of people trying to claim protocol prefixes now too? Why bother, domains are already intrensic enough to online brands, why create a whole new area to deal with? Not to mention user confusion. Yes, that's "eff-bee colon slash slash", "no, don't put www first", etc.
1. We already _do_ have fb://profile/account, it's the app specific URL registered in the iOS app to open the Facebook app.
2. What he's saying is "Why can't you register http://facebook.com/profile on iOS to open the facebook app?" That would mean that we explicitly _don't_ have a protocol landrush.
3. A solution might be a service that takes a web url, and returns an app url, so that if the web url has an app equivalent, we never have to know it; the app functions as we expect, and we don't introduce something above and beyond the web URLs we know and love.
2. Yes, like I said, Android has already implemented that. I think it's a fine idea. I love that I can click on Youtube links and choose to open it in Dolphin, the YouTube app, or the YouTube downloader app.
3. Why would the web service take the URL. Like I already said, model this off of browser protocol handlers and Web Intents. Let web application register as possible handlers, let the application choose whether to open in a webpage, or another web app that is capable of consuming and understanding those URLs (which is exactly how it happens in Android). Again, how is an "app url" any more useful than a regular URL in this regard?
If iOS allowed me to launch native apps with http URLs, I would never have written this post. They don't, they only suport custom protocol schemes. I'm trying to lessen the importance of custom protocol schemes here by providing a service to silently map http URLs to the custom URLs so users never see them.
This solution would allow apps (if they choose to use this service) to turn facebook.com URLs into fb:// URLs, and take me where I really want to go when I click those links.
Ideally iOS would provide this URL mapping, as Android does, so that this happened everywhere, not just apps that use this service. I wish Apple would do this. In the mean time, this is one approach we could take.
Also, we don't need a fancy database -- existing vendor's web sites are perfectly capable of sniffing the browser and redirecting to a native app, if it's available -- this is what iTunes does.