• Battery Versus Gasoline Energy Density

    Since before I bought my first sailboat several years ago, I’ve wanted a Torqeedo–an elegant, efficient, electric motor.

    The benefits of electric engines on a sailboat are numerous. To begin with, there are already many options for generating electricity on sailboats using wind and solar energy, thus providing a consistently renewable source of energy. Electric engines are much quieter, almost silent compared to a combustion engine. There are none of the pungent orders of gasoline and oil.

    There is however one major drawback that is astounding and is mentioned in the product video for the engine I bought (starts 41 seconds in):

    10 pound lithium battery = 35 grams of gasoline

    Ouch.

    Still, I think the advantages outweigh the drawback, and I ordered one today, finally.

  • Twenty One - content blocker for age verification

    When content blocking apps were first released for iOS 9, they were of the type that most would expect: all-in-one apps that in theory would block all the bad and none of the good.1 As I expected, developers are now starting to release apps with narrower functionality aimed at a specific task that can be used in addition to a main blocker. Image Blocker blocks images only, thereby speeding up browsing of text only and saving on limited data cap plans.

    My new favorite is Twenty One by Greg Fiumara, the developer of Tappd That, a beer tracking app. Twenty One is designed to disable the age verification screens some brewery websites use. It gets its block list from the developers server from an open source list hosted on GitHub. I’ve already updated it with a few rules for some of my local breweries: Devil’s Backbone and St. George.

    1. With variable amounts of minor customization. 

  • Posting to a Github hosted Jekyll site from iOS

    Using a Github-hosted, Jekyll blog, I normally write my posts on my laptop, committing and pushing the final product in terminal. While this works well enough most of the time, I do actually like to use my iPhone as my primary computing device and want to be able to do everything as well on it as on my laptop. Frequently I don’t want to carry my laptop with me. Sometimes an idea for a post will come to me while I’m out camping, on a walk, or sailing.

    So, how can you post to Github from iOS?

    Directly on the website

    As far as I can tell, there is no way to create or edit a text file on the Github.com mobile site.

    Directly on the website forcing desktop version

    You can create and edit text files on the desktop version of the website. The drawbacks are that if you are writing into the field form on the website and lose your connection, you will most likely lose your data. You cannot work offline. You cannot use shortcut optimizations such as TextExpander.1 Basically, the experience is non-native. You could write in a text editor and then copy and paste into the form field, but including the logging in and navigation, it is a clunky experience.

    Using a code editor

    I thought that something as powerful as Coda for iOS might be my answer. They support SSH and FTP. Their screenshots show them managing their own website with it. After downloading it and failing to get it to work, I shot off an email to support asking for help.

    Unfortunately Coda for iOS does not currently have support for git. This is something that we are considering for a future update but in all honesty I can’t say for certain when it will be added.

    I couldn’t get Textastic to work either.

    Using a Github client iOS app

    I’ve looked for Github apps before and never found anything that worked well, was being actively maintained, or looked halfway decent. That is why I didn’t start by looking at that solution, but I should have because that ended up solving my problem.

    Working Copy

    The first app I came across was Working Copy. This app is free to use up until the point you need to push commits, and then it is either $2 for 21 days or $10 for permanent unlock. This allows you to make sure you like the app and it works for you before committing to the purchase.2

    Working Copy easily logs into Github using your username and password, and allows you to clone your repositories. You can then browse and manage your files as needed. I won’t go into all the specifics of how it works as I’m not a Git power user, but for my purposes of creating and submitting text files, it works well. You cannot edit files directly in Working Copy (Update:) I was wrong. The developer reached out and showed me that there is an edit button in the share sheet), but it has been designed to work well with exporting to Textastic, Byword, or Editorial, and then bringing the files back into the app. All of the aforementioned apps are superior text and code editors, which I also already happen to own, so it makes a lot of sense to use them rather than having the Working Copy developers wasting valuable time solving already solved problems.

    Working Copy has been around since 11/2014, gets updates every 1-2 months, and has an impressive ★★★★★ review total for lifetime and current version.

    Git2Go

    I subsequently came across Git2Go by Nerdishbynature. This app was just released a few weeks ago and is on version 1.03 with a ★★★★ and 1/2 review total. Only two reviews weren’t 5 stars, and the 1 star review basically said the app only showed repos and nothing else, which I can attest is wrong.

    Logging in to Github is easy and uses Oauth with Safari View Controller. It literally took me 3 clicks on my iPad and 1 click on my iPhone. You can edit files in the app and syntax highlighting for Objective-C, Swift, and Ruby is currently supported with the developers noting their plans to add others later. Oddly enough, they only charge for cloning private repositories. This is a bit of a “problem” for me since I don’t have any private repositories and therefore cannot give them any money unless I create one. I’ve requested they add a tip jar, but I also think they might want to figure out a different monetization strategy.

    Conclusions

    I’m not sure if I’m going to stick with Git2Go or Working Copy. I like them both and will likely continue to monitor their development. Byword is my favorite text editor after BBEdit, and the ability to seamlessly move between devices using iCloud sync is nice. If you prefer a code editor, Textastic is great too. On the other hand, being able to make a quick change to some code, or a spelling mistake on a blog post, right from an app is going to be much easier and quicker with Git2Go as you won’t have to make a round trip to another app and back.

    Either way, it is now possible for me to publish and edit posts easily, quickly, and enjoyably on my Github-hosted Jekyll blog.

    This post was written in Byword on an iPhone 6.

    1. When I tried to use the TextExpander keyboard on iOS 9.0, Safari would crash. 

    2. Unlike Coda for iOS that required I file for a refund. 

    3. Literally while I was writing this they released 1.1. 

  • Forcing Pinch to Zoom

    I am tired of developers who disable pinch to zoom on their websites by either setting the meta tag user-scalable to no or maximum-scale to 1.0. I run across this the most when following Instagram links from Twitter, but it is rampant, such as when I followed a link and landed on this page today:

    Maybe it is just my old eyes, but I couldn’t read the text. So I pinched-to-zoom and nothing happened. Because of the poor design decisions of whomever made this page, I was unable to appreciate the content. A view of the source confirmed the problem:1

    Thankfully, I have a series of javascript bookmarklets that deal with such problems.2 The following code over-rides any poor decisions on the part of the developer.

    javascript:document.querySelector('meta%5Bname=viewport%5D').setAttribute('content','width=device-width,initial-scale=1.0,maximum-scale=10.0,user-scalable=1');

    I wish there was a way to do this with content blockers.

    1. I highlighted the user-scalable=no, but the maxium-scale=1.0 would do the same thing. 

    2. Such as disabling copy and paste. 

  • Tide information as a watch complication

    Six months ago, Craig Hockenberry tweeted

    This was over a month before the Apple Watch was released, but I also wanted the same. At the time, my sailboat was at a marina with very little depth at low tide. I needed to plan my departures and arrivals based on the tide. Being able get the tidal information at a glance would be beneficial and much more important to me than things like temperature, sunset time, or moon phase.1

    Although watchOS 2 has been delayed, the GM is out and at least one app with a complication has been published to the App Store.2

    My Tide Times Pro has been updated with a watch complication to show the time of the next low or high tide, and depending on the complication, it’s name and height.

    I was already using My Tide Times Pro as my tidal app of choice3 so this is a very welcome addition; however, there was one major, but fixable issue. Actually getting the complication to work was completely unintuitive.

    I was ecstatic when I first saw the app update in the store and immediately downloaded it. I then made sure the complication was active in the Watch App, and went to enable it on my watch face. I switch between multiple watch faces depending on my activity, but I use Chronograph frequently. Unfortunately, the My Tide Times Pro does not show up as an option for those complications. I then switched to the modular face where it did show up as an option, but when I selected it nothing appeared except -.

    I switched back and forth to the app on both the phone and the watch, restarting, uninstalling and reinstalling, all to no avail. There was no prompt, instructions, or other hints that I found. I assumed that something must be broken since I’m technically on “beta” software and went on my way.

    Then a few days ago, I happened to create a new modular face, but instead of putting the tides in one of the small complication slots, I put it in the large central slots. Initially it was just as useless

    but the next time I raised my wrist, instructions telling me to force press my local tide in the app to set the complication appeared.

    I did so and it worked!

    I thought I must have missed something originally, so I deleted the app completely and restarted from scratch. My second experience was identical. The first two times I tried to use the complication failed (first on a face that didn’t support it and second on a slot that didn’t give me any instructions). That is not a great experience and I wonder if the developer is going to get a lot of email about this from people wondering why it is “broken” or one star reviews in the App Store from asshats with a god complex. I did tag him on my Twitter announcement for this post, and if he writes to me to say I’m an idiot for missing something, I’ll post an update.

    In the last episode of Recursion and on Twitter, Wayne expressed concerns about force touch3D touch on the iPhone 6S and 6S+. He is worried developers will use this new interaction method poorly, hiding important functionality behind undiscoverable gestures rather than as a value add to already discoverable and well designed UI. I don’t think this was a case of that, but rather a limitation in options given platform constraints, but it does illustrate the issue of discoverable UI.

    Update

    I discussed with Justin, the developer, and he has decided to add a pop up the first time you launch the app on the watch and instructions in the release notes. I think that is about all he can do given the limitations of the platform he is dealing with. It really is a great app and if tide data is important to you, I highly suggest this app.

    1. Wife: When are you going sailing tomorrow?

      Me (looking at watch): Around 9am.

      Wife: When will you be back?

      Me: NEVER!!!! (╯_╰”)…um, around 5. 

    2. Three hours after I published this post, Apple released watchOS 2.0. 

    3. And I’ve tried them all: all the apps that just report the tides, and all the apps in which tide data is included, such as expensive navigation apps.