Deprecated: Return type of I::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 62

Deprecated: Return type of I::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 91

Deprecated: Return type of I::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 71

Deprecated: Return type of I::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 101

Deprecated: Return type of I::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 53

Deprecated: Return type of Collection::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/collection.php on line 80

Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /home/public/kirby/toolkit/lib/url.php on line 135
One Tap Less | Open Posts in Tumblr, Bookmarklets, and the Future

Open Posts in Tumblr, Bookmarklets, and the Future

Who could forecast I'd be posting a bookmarklet halfway through 2015? I thought they would be dead upon iOS 8. Simone de Rochefort wanted iOS to recognize when a post is from Tumblr and allow her to open it in the app. I wrote a bookmarklet to trigger that and it gets the job done.

A Tumblr page may or may not contain the tumblr.com domain, for example, Humans of New York doesn't and neither does Clients from Hell. The url scheme I looked for hides within the page's HTML in a meta tag for the Twitter app. My bookmarklet will track this tag, retrieve its url, and open if it matches Tumblr's url scheme.

javascript:(function() {var tumblr=document.querySelector("meta[name='twitter:app:url:iphone']").getAttribute('content');if(tumblr.match(/^tumblr:\/\/x-callback-url\/blog\?.*/)) window.location=tumblr;})();

A bookmarklet loads Javascript code instead of a url. To install one: bookmark any page; edit it, replace link for bookmarklet code. Yes, that summary fits a tweet with 132 characters and asserts that bookmarklets aren't such an ordeal, so stop looking for an install button that will bless you with 30 seconds of life and get your hands dirty, because that's where automation lives truly.

If you survived that rant, drag this to your bookmark's bar if you're on desktop or check the original Gist. There are easy ways to share bookmarklets, the problem is that none of them apply to iOS.

I thought extensions would dismiss bookmarklets, yet now, upon consideration, I think not enough were created to justify the exemption. Even Workflow can't cover all the prospects our daily needs demand, although the team keep up with user requests since release and every version contains new actions; Workflow, as an app that does everything, has to ponder when everything is too much. I doubt it will ever affect us users, but I do believe Workflow will break the boundaries of its own interface one day and that's my point: as the small screen becomes our main device, there's a limit on how much information it conveys.

That's why I replied to Viticci that APIs are the future when he praised Todoist and Slack for their integrations. Every app will have a layer in the cloud and will either supply its own API or rely on the operational system.

This transformation is happening right now: check IFTTT channels or Zapier supported apps; how many do you use already? Day One, Panic and Vesper released their own solutions to synchronization and the first is also committed to develop an API. The Omni Group has an enduring sync service and declines to improve the URL schema of its iOS apps; consider the benefits of an API to manage your tasks, outlines and flowcharts.

OS X Yosemite introduced Javascript for Automation and apps such as Drafts, 1Writer and Textwell use Javascript to empower their actions on iOS. I believe in a future where automation just works and if there's a language known widely enough to support this claim it would be Javascript. It is a long shot, I know, but would be a delightful irony to return to Javascript after all.