Saturday, October 28, 2017

How I write and publish One-Tech Mind with iPad Pro and Editorial

Everything I write and publish to my site is directly from my iPad Pro 10.5-inch, made possible by iOS 11 and some amazing apps. When I launched One-Tech Mind, I didn’t plan on working this way, but it has become so fun and compelling that I don’t even consider using my MacBook Pro or anything else to accomplish these tasks. In fact, the only thing I use my MacBook Pro for is the site’s development, since I can make changes safely in my test environment before publishing to the production server.

I’ll be writing mostly about the Editorial app since that’s where all my writing and publishing takes place. I’ll also call out a few other apps I use as part of my workflow. I felt compelled to share this process since the interest in iOS automation seems to be on the rise. I hope you’ll find my perspective and approach useful.

Preface: CMS Setup

The CMS One-Tech Mind runs on is called HTMLy. It’s a simple, yet powerful flat-file system, and I’ve been able to easily tweak it to suit my needs since One-Tech Mind launched earlier this year. Let me preface the iPad setup by level-setting a couple things about how HTMLy works. This will help to better illustrate how I implemented certain tasks in Editorial.

  • All posts are stored in folders related to their category (e.g. Apple, Gadgets, General, Google, etc.)
  • Each post has metadata embedded inside as HTML comments which HTMLy references on the server. For example, the title and tags for a post are written as seen below.
  • Each post’s filename must be written as such: YYYY-MM-DD-HH-MM-SS_tags,are,sep-by-comma_title-here-with-dashes.md

<!-- t How I write and publish One-Tech Mind with iPad Pro and Editorial t-->

<!-- tag iPad Pro,Editorial,iOS Automation tag-->

My Setup Overview

Here’s an overview of my setup. Note: apps listed are linked with my iTunes affiliate ID, so if you decide to purchase one of these via a link below, you’ll be helping me out a little bit!

iPad Pro and Smart Keyboard

I’ll direct your attention to my iPad Pro 10.5-inch review for my full thoughts on this wonderful device. However, I’d like to take a minute to talk about the Smart Keyboard here.

I bought the Smart Keyboard with the iPad not knowing exactly if I would like it. Now that I have been typing on it for months, I was and am still shocked by how good it is. The key travel is perfect, 1 the material has a great feel and is easily maintainable, the smart connector integration is genius, it doubles as a stand for watching video, the list goes on.

My only gripe with the Smart Keyboard is its lack of a forward delete key combo, which is essential for writing. This was initially a problem until I created a workflow in Editorial to accomplish this as you’ll see below.

Editorial

There are quite a few really great writing apps for iOS. There’s Ulysses, Bear Notes, Byword, and more. For me, Editorial takes the cake thanks to its built-in workflow system that allows for custom Python scripting. It’s made by the developer of the highly-acclaimed Pythonista app, Ole Zorn.

My Favorite Features

Editorial has all the usual features you’d expect in a writing app like Markdown, exporting, syntax highlighting, etc. Here are a few other features that are standouts for me:

  • Dropbox Sync. Allows for easy editing when I’m away from my iPad and want to jot down a few more sentences from my iPhone. While this works, I wish syncing with iCloud was a viable option, as I don’t use Dropbox for anything else.
  • Snippets. Similar to the famous Text Expander service, you can create word abbreviations which are transformed into whatever your heart desires. For instance: typing ‘ppp’ pastes the current contents of your clipboard (a default snippet).
  • Templates. Ability to create templates for writing formats used most often. These are actually the same as workflows, but they can be found under the ‘New File’ menu once created.
  • Workflows. See below.
  • Python Scripting. As mentioned, Editorial can handle Python scripting to enable really powerful automation (as you will see). 2

Workflows

Workflows are where the real power of Editorial comes into play. Creating your own workflows is made easy by the plethora of pre-constructed actions you can build custom flows with, some of which offer impressive integration with iOS. To name a few:

  • Find & Replace (with regex support)
  • Moving the caret
  • Storing variables
  • Changing text case
  • Sharing via iOS share sheet
  • And much more…

Editorial has fantastic documentation on how to use the pre-constructed actions and advanced Python modules.

Workflow Directory

Editorial also has a Workflow Directory where you can share workflows you have created and download ones created by others. There are quite a number of awesome workflows on there. In fact, I’ll be sharing template versions of the ones I wrote below.

My Workflows

What follows are the main workflows I built to write and publish One-Tech Mind.

Forward Delete

As mentioned above, the Smart Keyboard itself does not have a way to perform a forward delete. However, I was able to write a workflow in Editorial and bind it to a key combination to mimic a forward delete like so:

  1. Extend the current selection forward by one character.
  2. Replace the character with nothing.

That’s it! I binded the combo to Control + , mimicking the normal key spacing for forward delete on a Mac (Fn + Del). I thought Editorial would lag a little bit if I spammed the key combo repeatedly, but it doesn’t at all. It functions exactly like a forward delete should (you can even hold the key combo down to for continuous delete).

Get this workflow.

SFTP Image Upload

While a majority of my posts tend to not have images, when I feel inclined to include any, this workflow will securely upload them to my server over SFTP and insert the appropriate HTML into my current document. It goes a little something like this:

  1. Asks for the alt/title text to be used for the image and stores it in variable imgALT.
  2. Runs a custom Python script that brings up the iOS Photo Selector so I can choose the image to be used, which is then copied to the clipboard.
  3. Runs another custom Python script to:
    • Generate a unique name for the image.
    • Paste and save the image temporarily within Editorial.
    • Upload the image to the server over SFTP.
    • Delete the image from Editorial.
    • Copies the permalink to the image to the clipboard.
  4. Inserts the following into the document:
    <figure>
    <img src="[Clipboard]" alt="[imgALT]" title="[imgALT]">
    <figcaption>[imgALT]</figcaption>
    </figure>
    

I love this workflow because it allows me to see a live preview of the images within my post. If SFTP isn’t your thing, you can also adapt this script to use regular (insecure) FTP via the Python ftplib module. 3

Here’s an example of my workflow:

New Post Template & Custom UI

You can also create custom templates, which are really workflows, to further automate things. For instance, my original ‘New Post Template’ prompted me separately for things like the post title, post type, and the meta description. This was great, but then I delved into Editorial’s awesome Custom UI builder.

Now when I’m creating a new article, I’m presented with a simple form to fill in the basics and populate the meat and potatoes of the post itself.

Here’s how it works:

Publish

When I’m done writing, this is the main workflow that publishes a new post to the blog and a bit more. Although there are many more individual steps than this, here is an abridged version of what this script does:

  1. Syncs the document with Dropbox.
  2. Sets a few variables to be used later:
    • Identifies and stores the post type (e.g. post, link, video, image) in a variable from the HTML comments in the file. I accomplish this using simple regex patterns. For instance, here’s the pattern for capturing the title : <! --t (.*) t-->
    • Same for post category (e.g. Apple, General, Google, Site News, etc.).
    • Same for the post title, but also strips away special characters via a regular expression. Also converts spaces to dashes and makes the whole string lowercase. This will be used to formulate the file name to be read by HTMLy.
    • Same for post tags.
  3. Runs the main Python script to formulate the proper file name to be used on the server and upload the file via SFTP 4 to the correct directory.
  4. Runs a sub-workflow that contains a Python script to clear the site’s cache.
  5. Inserts the file name of the document on the server into the bottom of the post. This can later be used by my separate ‘Update Post’ workflow if I need to make corrections or otherwise update an existing post.
  6. Opens the iOS Share Sheet with the article’s permalink attached and the title copied to the clipboard. From here, I can quickly tweet out the link using Tweetbot without ever leaving Editorial. 5
  7. Opens the following tabs within Editorial’s built-in browser:
    • Share to Facebook page with the permalink for the new article already attached. 6
    • Google Search Console so I can request Google to index the new article.
    • The new article live on the site so I can verify it is loading correctly.
  8. Sync with Dropbox one more time since the name of the file on the server is now stored in the document (from step # 5).

Get this workflow. Note: you’ll have to tweak this, of course. I’m not including the sub-workflow that clears my site cache (step 4 above), since it just connects to my server and runs a command over SSH. Same goes for the Update Post workflow below.

Here’s the workflow in action:

Update Post

Similar to the Publish workflow above, this one is for updating an existing post already on the site. It goes a little something like this:

  1. Grabs all the variables just like Step 2 from the ‘Publish’ workflow.
    • Additionally: checks to see if the post tags have changed. If so, it will reformulate the filename to be used on the server.
  2. Grabs the file name for this post on the server (the one stored at the bottom of the document by Step 5 above).
  3. Uploads and replaces the existing file on the server via SFTP.
  4. Runs a sub-workflow that contains a Python script to clear the site’s cache.
  5. Opens the updated post on the site within Editorial’s built-in browser.

I won’t bore you with a video for this one, since it’s largely the same as the Publish workflow.

Get this workflow.

Affinity Photo

When using images in my posts, I’m typically dealing with quick cropping and basic manipulation. Affinity Photo does this with ease and definitely offers the closest-to-Photoshop-like experience on iPad than any other app. On occasion, I’ve used it to create more detailed images for feature posts like ‘Home Smart Home’ or my Amazon Echo Show Review, and it has just been a joy to use. There’s an initial learning curve when it comes to the UI, but nothing a little exploration can’t solve.

Workflow (App)

Workflow is a small, yet convenient part of my … well … workflow. Here are the actions I have setup:

New Article Template

Calls the ‘New Article Template’ workflow in Editorial. In other words, I can jump into writing a new article from anywhere by triggering this action from the Workflow widget in the iOS Today view.

New Quick Link

Calls my ‘New Qlink’ workflow in Editorial. From there, I can quickly share a link that is displayed at the top of the index page under the “Quick Links” tab.

Clear Site Cache

In order to clear my site’s server-side cache, I can trigger this workflow to run the server script (over SSH) that does just that. In fact, this is the same server script Editorial runs after a new post is uploaded. The real cool part about this one is triggering it from my Apple Watch. I can’t help but geek out every time I clear my site’s cache from my wrist.

Transmit and Prompt

Made by popular developer Panic, I use Transmit and Prompt for SFTP and SSH respectively. They have similar features as other apps, but offer best-in-class UI and UX on iPad in my opinion. Not to mention their Panic Sync feature is great, which keeps server and login info up-to-date between my iPad and iPhone.

Conclusion

My entire setup took a decent amount of time to put together (and I’m still refining it). Would it have been easier to use a Mac or something more off-the-shelf? Possibly, but it was fun as hell to build all this. It really showcases the power of iPad Pro and paints the picture of a truly capable machine versus a media consumption device.

Feel free to reach out to me if you have any questions on Editorial, the workflows, or anything else.

If I can do all this for my site, just imagine how easy non-technical tasks will become or have already become. Apple’s vision of the iPad as the new standard computing device for the average user is closer than ever.

Updated December 27, 2017: changed all ‘Gaddgict’ references to ‘One-Tech Mind‘.


  1. Dare I say even better than key travel on MacBook Pro? Shots fired, I know. 
  2. I never had written anything in Python before using Editorial, but the learning curve is pretty small if you’ve written in any other languages. It’s fun, yet powerful. 
  3. I wouldn’t recommend it. Security and privacy are important. 
  4. I’m using Python’s Paramiko module for SSH transfers. 
  5. This is a recent addition, as Tweetbot barely gained iOS share sheet functionality. 
  6. It’s a shame you can’t use the Facebook share extension to post to a page (timeline only), similar to how I do it with Tweetbot. 

Best Buy has a ridiculous reason for selling iPhone X $100 above retail →

So, Best Buy is selling all iPhone X models $100 above retail if you buy the phone outright (not on a payment plan). Dumb, right? Wait until you read their “reason” for doing so.

Joe Rossignol for MacRumors:

In a statement issued to MacRumors, Best Buy said its prices reflect a customer’s ability to “get a phone the way they want.”

“Our prices reflect the fact that no matter a customer’s desired plan or carrier, or whether a customer is on a business or personal plan, they are able to get a phone the way they want at Best Buy. Our customers have told us they want this flexibility and sometimes that has a cost,” a Best Buy spokesperson told MacRumors.

It’s almost like they tried to write a purposely awful statement.

I mean flexibility? This is the best they could come up with — a half-baked explanation for what is plain and simple price gouging? They are supposedly price matching it down to the MSRP upon request, which makes the optics of this even worse.

Also, they say customers “want this flexibility” meaning what, exactly? Surely not the $100 increase, because they continue with “sometimes that has a cost” as if they are sticking it to them. Look, Best Buy can sell it for whatever they want, but at least don’t bullshit everyone.

Side note: I find it hilarious that a company named Best Buy literally has the worst buy for iPhone X amongst retailers.

Friday, October 27, 2017

Face ID FUD →

I waited to comment on this article by Alex Webb and Sam Kim from Bloomberg wherein they report on Apple’s supposed production issues with iPhone X because I figured John Gruber would say it best (he did).

The main charge in the original article:

As of early fall, it was clearer than ever that production problems meant Apple Inc. wouldn’t have enough iPhone Xs in time for the holidays. The challenge was how to make the sophisticated phone — with advanced features such as facial recognition — in large enough numbers.

As Wall Street analysts and fan blogs watched for signs that the company would stumble, Apple came up with a solution: It quietly told suppliers they could reduce the accuracy of the face-recognition technology to make it easier to manufacture, according to people familiar with the situation.

Apple refutes it outright, and Gruber’s take on what that means:

Apple spokeswoman Trudy Muller said “Bloomberg’s claim that it reduced the accuracy spec for Face ID is completely false and we expect Face ID to be the new gold standard for facial authentication. The quality and accuracy of Face ID haven’t changed; it continues to be one in a million probability of a random person unlocking your iPhone with Face ID.”

It is extraordinary for Apple to issue a blanket “this is completely false” statement on any news story. Apple, as policy, no-comments every news story, even when they know it’s bullshit. So either this story is particularly strong bullshit, or Apple is lying, on the record, under one of their own real names (as opposed to the anonymous “an Apple spokesperson” attribution).

Gruber on perceptions of biometric authentication:

People are naturally skeptical about biometric ID systems. They were skeptical about Touch ID when it was still only rumored, just like they’re skeptical now about Face ID. Today, though, Touch ID is both trusted and familiar. So rumors claiming that Apple really wanted to get Touch ID into iPhone X but had to settle for Face ID play into both the skepticism of the new and the comfort of the familiar. FUD is one of the oldest tricks in the book.

Check out John’s whole post. He really dives in, speaking to Bloomberg’s track record (and Ming-Chi Kuo’s), plus insights derived from conversations he’s had with actual Apple engineers.

Here’s my take: everyone loves a good controversy, and in the tech world, Apple controversies get the most clicks (whether they are real or manufactured). Some people love to see Apple fail, or even just the perception of Apple failing is enough. Why? I think I have a decent answer.

From where I stand, the public perception of Apple may be that they are some kind of infallible entity. However, until Liam takes over, Apple is still run by humans, and humans are anything but infallible. In other words, writing a FUD article on Apple is especially easy. Should anyone be writing an article like this? I don’t see the constructive point, regardless of the company in which its about. I wouldn’t wish it on Samsung, Google, et al. Rumors are one thing, but this is straight-up FUD.

I have faith in Face ID and think it will be transformational. Apple would have nixed it long ago if they didn’t strongly believe in it.

Tuesday, October 24, 2017

Fatherboard Episode 005: Since You Exited The Womb

Summary

My Dad and I talk iPhone X launch expectations, our final color choices, MacBook keyboard problems, the direction of the MacBook, and more.

Topics

  • Quick early detour:
    • My favorite ‘newer’ band: The Dear Hunter
    • Our Dodgers are in the World Series! (condolences to John Gruber and the Yankees)
  • iPhone X
    • Launch expectations
    • Apple iPhone Upgrade Program pre-approval process
    • Our final color choices
    • “What if the iPhone 8 Plus is better than the iPhone X?”
  • Mac
    • My Mom is getting her first Mac (she doesn’t know it yet)
    • What is Apple doing with the MacBook line?
      • Touchbar hasn’t found its calling
      • Growing butterfly key mechanism issues
  • Google Pixel 2XL Screen Issues
  • Essential Phone now priced at $499

Links

How to Listen

Contact/Follow Us

Monday, October 23, 2017

John Hancock extends $25 Apple Watch offer to all customers →

Christina Farr for CNBC:

John Hancock, one of the largest life insurance providers, is partnering with Apple to offer all of its new and existing members of its Vitality program a steeply discounted Apple Watch.

The program offers perks and rewards to people who live healthy lifestyles. Any consumer who signs up for the program is eligible to get the device for $25.

As long as Vitality members exercise regularly for two years, they will be allowed to keep the device for free. If they don’t, they’ll have to pay it off in installments. The Series 3 costs upwards of $299.

It’s really $25 plus tax, so you’re looking at roughly $50 — $70. Still not a bad deal.

According to the same page, the way you pay it off is by earning 500 fitness-related Vitality Points per month over two years (12,000 total points). These points are applied towards the cost of the Watch, and you therefore avoid any additional charges. I’m not sure how the points system works in actuality, so it’s not exactly clear how attainable this is.

That said, they have had success with the pilot version of the program as Christina discusses:

John Hancock, which is owned by Manulife, first started offering Apple Watches to a limited set of members — people who purchased life insurance policies over $2 million — several years ago.

After logging a 20 percent increase in activity under the program, it decided to extend it to all U.S. members

About half of the people who received the device achieved their monthly goals and did not pay for the device, John Hancock senior vice president Brooks Tingle told CNBC.

I’m surprised the amount of people that hit their goals is so high. I would expect that to dip now that all their customers are eligible for this promotion. Some may even treat it as a deferred lease and just pay it off at the end.

Either way, it’s interesting to see Apple find more and more ways to push the Watch, and deservedly so for Series 3. Just imagine when there’s a real ‘Medical Series’ version that is FDA certified.

Essential Phone price already reduced by $200 →

Darrell Etherington for TechCrunch:

Essential has an offer that’s honestly very hard to refuse: The price of the Essential Phone (PH-1, going by technical model number), is now $200 cheaper, so $499 off-contract and unlocked.

Also:

Lest Essential’s earliest customers feel slighted, it has a deal for early buyers, too – they’ll receive a $200 ‘friends and family’ credit they can use to further discount (valid through December 15, 2017) a device for a loved one (or another for themselves, if they maybe also want the just-released white Essential Phone, for instance), or to buy the 360-camera attachment. Customers will be able to sign up to redeem the $200 credit on the Essential page, using their phone’s IMEI and serial numbers, along with the email address they used to purchase.

$499 (or even $599) should have been its price to begin with. Essential doesn’t have the clout to expect a large number of purchases on a $699 device, but hey, good on them for trying. As Darrell says in the article, $499 makes Essential Phone a hell of a deal if you’re in the market for a barebones Android device. 1


  1. Make sure you’re OK with the somewhat lacking camera quality as well. 

Friday, October 20, 2017

iPhone X pre-approvals for iPhone Upgrade Program begin on October 23 →

Following similar suit as the iPhone 8 and 8 Plus, Apple will let existing iPhone Upgrade Program members obtain pre-approval for their iPhone X purchase early.

From Apple’s iPhone Upgrade Program site:

Get a head start on your upgrade to iPhone X on 10.23.
Use the Apple Store app on your iPhone to get ready for pre-order so you can speed through checkout on 10.27.

According to the page, it also appears those upgrading to iPhone X will be able to take advantage of the new Trade-in Kit process:

If you’re upgrading online or with the Apple Store app, you can have your new iPhone delivered right to your door for free. Once it ships, we’ll send you a Trade-in Kit so you can send your current iPhone back to Apple. You’ll also have the option to pick up your new iPhone in a store — often the same day. When you come to the store, remember to bring your current iPhone with you to trade in.

Seems like Apple sure has learned their lesson from last year. Hiccups aside, I really like the program, having been part of it since its genesis. If you must have the latest iPhone every year, this is the way to go. Not to mention it also comes with the convenience and safety of AppleCare+.

Hope for the Mac mini →

Juli Clover for MacRumors:

MacRumors reader Krar decided to email Apple CEO Tim Cook to get an update on the Mac mini and he received a response. Cook said it was “not time to share any details,” but he confirmed that the Mac mini will be an important part of the company’s product lineup in the future.

Tim’s email reply.
Tim’s email reply.

The Mac mini will probably live on for a while longer, but one has to wonder just how much longer. It is becoming more of a niche product with every passing day.

Wednesday, October 18, 2017

Apple needs to address the MacBook keyboard problem

Quite a few folks chimed in on a growing issue with the MacBook and MacBook Pro butterfly keyboard yesterday. Already polarizing in terms of key travel and feel, there seems to be underlying issues with the technology or implementation on a large scale.

Casey Johnston for The Outline:

[…] There were no mysteriously faulty innerworkings. It was the spacebar. It was broken. And not even physically broken — it still moved and acted normally. But every time I pressed it once, it spaced twice.

“Maybe it’s a piece of dust,” the Genius had offered. The previous times I’d been to the Apple Store for the same computer with the same problem — a misbehaving keyboard — Geniuses had said to me these exact same nonchalant words, and I had been stunned into silence, the first time because it seemed so improbable to blame such a core problem on such a small thing, and the second time because I couldn’t believe the first time I was hearing this line that it was not a fluke. […]

Stephen Hackett for 512 Pixels:

As outlined in the most recent episode of Connected, the keyboard on my Late 2016, 13-inch TouchBar-equipped MacBook Pro is not doing well.

A couple of weeks ago, its i key started feeling a little sticky. This keyboard does not boast a large amount of travel, but this key was barely moving at all when pressed.

One of the tiny arms that the key cap clips onto is broken. My nearly $2,000 laptop that I bought less than a year ago is now missing a key, as I shared with our Connected audience this weekend before using an iBook G3 for the rest of the sho

I fully understand this because I am experiencing nearly the same thing on my 15-inch 2016 MacBook Pro. For the past few weeks, the ‘Q’ key has become what can only be described as ‘stuck’. That is to say that half the time I press it, there’s a noticeable snag before the key actually depresses accompanied by a garish CLACK sound as the key travels downward. I have carefully removed the key and sprayed the hell out of the switch a couple times to no avail. Upon close inspection, there doesn’t seem to be any debris, so the whole situation is maddening. I have been putting off a trip to the Apple Store, but I will unfortunately have to take it in.

I don’t mind the actual shallow key travel too much, but I prefer the feel of the iPad Pro Smart Keyboard over it.

Marco Arment also chimed in with the following on Twitter:

Apple needs to do two things, in my opinion:

  1. Offer free ‘sticky key’ repairs for all 2016/2017 MacBooks and MacBook Pros beyond current warranty periods.
  2. Fix the design for the next iteration. There is something really flawed here if the low-profile key is more prone to dust and debris issues than a higher profile one.

The MacBook line has largely been viewed as neglected over the past couple years, so this really adds insult to injury. If Apple does nothing, they’re just begging for a class action lawsuit.