Category Archives: tech

Experimenting with Ulysses

If there is a modern equivalent to a writer collecting typewriters, it is a writer collecting writing software. I have played around with lots of different writing software over the years. Among my favorites are tools like the versatile Scrivener, and the cloud-based Google Docs.

This week, I have added a new tool to my collection: Ulysses. Ulysses is a Mac and iOS-based writing tool that manages to do many of the things that I think are key to a good writing tool:

  1. It separates the content from the presentation layer. This allows me to focus on writing, and not worry about how it will look. Ulysses has all kinds of styles to which it can export a finished document. Scrivener does this very well, too, allowing you to focus on the content, and then “compiling” the finished document into the desired format.
  2. It eliminates distractions. I am not overwhelmed by icons or menus or UI elements that I will never use. It also has a nice full-screen mode. Here is what this post looked like on my 27” iMac screen as I composed it in Ulysses:

    Ulysses Full Screen

  3. It keeps things simple. Besides not having a WYSIWYG interface, the entire application is small and seems to focus only on those features that are absolutely necessary for writing. The files themselves are plain text with markup. They are stored within the application library, which abstracts even the file management to make it easy. It syncs with iCloud so that I can move from this machine to my laptop or iPad and continue my work.
  4. It has a simple theme system that makes it easy to customize the look and feel of the UI. This last point might seem like a small thing, but it is one of the main reasons that I am giving Ulysses a try. I have written elsewhere about how my favorite word process is Microsoft Word 5.5 for DOS. I found a theme in Ulysses that made it easy to emulate what the screen in Word 5.5 for DOS looked like. (For those wondering, the theme I am using is a slightly customized version of Blue Screen.)

The last point might seem silly. Yet for me it is no different than a writer who pines for the old Olivetti typewriter they used to work on, and for which they can no longer find ribbon. Call it nostalgia, but something about the way Microsoft Word 5.5 for DOS looked and behaved appeals to my sense of happiness in the days that I started out writing.

This is post is the very first thing I have written using Ulysses. I’ll need some time to experiment before I decide if it will work for me in the long run, but I’ve got to say I love the UI so far. If it turns out that it works for me, I’ll begin looking for ways to automate it into my other writing-related processes.

For now, if there’s anyone else out there who uses Ulysses, I’d be interested in the feedback you have. Drop your thought in the comments.

Tracking the Things I Make with GitHub

I spend my days writing. In my day job, I write emails, I write code, I write requirements documents. Outside my day job I write stories, and articles, and blog posts. Whether I am writing code, or writing a blog post, the result is something to which I can point and say, “Hey, I made that!”

For a few months now, I have been fascinated by the idea of tracking the lifecycle of my work products. I can do this because all of my work products are essentially digital, and essentially plain text. When I write code, the files containing the code are just text files. When I write blog posts, stories, or articles, the files that containing the posts, stories, and articles are, at their heart, text files. This means that at the most basic level, all of the things I make are the same format. The text within the files may include markup, like HTML, or RTF, but they are all readable with simple text editors.

I have frequently used Git to track the things I make at the day job, but for a long time, my Git checkins were limited to just code. Recently, I have started to use Git to track other things I made, like requirements documents, and specifications. In my writing, I used Google Docs for a long time. When my 825 consecutive day writing streak came to an end, I decided I wanted a change, and moved back to Scrivener. At its heart, the text I write in Scrivener is stored as RTF files. I have been using GitHub to track my work on these things.

I like GitHub because it provides a single place to track everything I make. Like most revision control systems, GitHub captures just the changes between checkins, which is efficient. It also makes it easy to see how the things I write evolve over time. I can look at an initial draft of blog post and easily compare it to the final draft by running a command. I can see any intermediary steps. I can see what text I decided to delete or what words I decided to change, or add at the last minute.

Using GitHub with Scrivener

Experimenting, I decided to see how well GitHub would work with Scrivener. At its core, the main writing files within a Scrivener package (a .scriv file) are rich-text format files. I created a Scrivener project for my blog. Each post I write is a new file within the Scrivener project

Scrivener_GitHub1

When I complete a draft, I check it in to GitHub. I am a command-line person and so I use Git commands to perform the check-in, but there are GUI tools available for this as well. For instance, for this post:

Git Checkin

The short comment lets me know what I was working on. If I want to see what I worked on in a particular day, I can look at the Git log for the project. If I want to see what I’d done since yesterday, for instance:

Git Log History

By default, all GitHub repositories are public. In order to keep these things private until I am ready to publish them, I have a paid GitHub account which gives me access to private repositories. Private repositories are not necessary for everyone, but as someone who writes fiction and nonfiction for other markets, it is important that my work has not been previously published elsewhere. That includes previously published on the web. Private repos ensure that my writing is not published until I am ready to publish it.

All of my “work products” are now captured the same way, and that makes it easy to track what I make. And because all I really care about are the text files that Scrivener produces, I have created a .gitignore file that ignores other types of files in a Scrivener project. You can find a gist of my .gitignore file for Scrivener here.

One nice thing about my Google Docs Writing Tracker was that it automated the process of tracking my daily word counts, streaks and other statistics about my writing. I am working on a similar tool that does for Scrivener what my Google Docs Writing Tracker does for Google Docs—except it uses my GitHub repos as the source of data. I’m still in the early stages of this, but I’ll post more when I have something that works consistently.

I am hoping that by the end of 2016, I’ll have an automated report that I can point people to that will summarize everything I made in 2016, along with all of the interesting stats. I can do this because everything related to my writing now goes into GitHub.

Distraction-Free iPhone

At some point, I realized that my iPhone had become a distraction, and I decided to take some drastic measures to cut down on the distractions. Here are a few things I did to help make my phone distraction-free.

1. Switched to a blank home screen

Most of the apps I used most frequently were on my main home screen. There is plenty of room on the home screen to fit lots of apps. On the one hand, having my frequently used apps on the home screen made it easy to start one. On the other, seeing the other apps was distracting. If I wanted to look at my email, I might also see Facebook, and that would lead me to browsing what my friends were up to when I should have been checking my email.

I solved this by moving all but 4 of my apps off the home screen, and into a single “Apps” container on the second screen. I made my home screen entirely blank, except of the four apps I regularly use which sit on the bar at the bottom.

My new iPhone home screen

This was a paradigm shift for me. I now only saw the most basic apps: my email, calendar, and LastPass. Everything else was gone from view. I began to note a marked decrease in distractions.

2. Use the built-in search or task switcher to start an app

When I need an app that isn’t on the home screen, I use the built-in search feature of the iPhone. I swipe down to pull up a search window, and begin typing. I might type “Maps” to pull up Google Maps for instance.

iPhone search

Although this is a 2-step process (swipe down and start typing), it turns out to be faster for me than the more traditional model. My Google Maps app was buried on a second or third screen, and I had to go hunting for it. It take me about two seconds to swipe down, type “maps” and tap the Google Maps icon. This also helps keep distractions to a minimum because I only see those apps that match the search criteria.

There is one drawback I have noticed. If I type “Face” in the search window, I get both Facebook and FaceTime. The load speed of the search varies, so when I think I am clicking on Facebook, I occasionally click on FaceTime.

3. Eliminated all but 3 audio/vibrate notifications

I turned off audio and vibrate notifications for everything except my calendar, and text messages, and phone calls. Before this change, my phone beeped or buzzed for Twitter updates, email messages, Instagram updates, FitBit updates, and pretty much everything else you can think of. It sometimes seemed as if my phone was constantly pestering me with updates.

I no longer get alerts for email. Or anything else except for calendar appointments, text messages, and phone calls. Instead, most of the notifications are set to banners and badges. If I happen to look at my phone—something I am trying to do less frequently—I’ll see things like Twitter updates, Instagram updates, email, etc. But I’m not notified of these anymore.

What a relief this has been. My phone has stopped pestering me. I am less distracted by it. And I think I am using it more effectively than ever before.

The Demise of Mailbox

Dropbox recently announced the demise of the Mailbox app. I was an early adopter of this app for the iPhone, and I am sad to see it go. I don’t send a lot of email from my mobile device, but I do manage my email from it from time-to-time, and Mailbox allowed me to manage my mail with similar functionality I use with Boomerang for Gmail. It allowed me to move messages out of my inbox until a specified time, after which they would return. This kept my inbox clutter-free, and provided a nice reminder when I needed to take an action.

Dropbox decided to ax the app because,

…We realized there’s only so much an email app can do to fundamentally fix email. We’ve come to believe that the best way for us to improve people’s productivity going forward is to streamline the workflows that generate so much email in the first place.

I can understand this. Exploring improvements to an underlying (and potentially broken) process is better than enabling those broken processes through small fixes. But I grew to really like the Mailbox app and am sad to see it go.

So far as I can tell, this is only the second app I have used that has been sunsetted1, and that is pretty good considering how many apps I’ve used over the years. This kind of weeding is probably a good thing. It makes me aware that I need a backup plan for those apps and services I use most-frequently, just in case they go away as well.

I am not waiting for the February 26 deadline to transition to another app for my email. I have already started to use Google’s Inbox app for the iPhone. It is quite a bit different from both Mailbox and Boomerang, but is does appear to have the functionality I am looking for to manage my email on my phone when I have to.

Inbox by Gmail

In the long run, Dropbox may be right. Changing the process may be the best course. Boomerang works very well for managing my inbox from within the Gmail web client. Perhaps I shouldn’t worry about trying to manage my inbox from my mobile device and do it all when I am sitting at my computer, with Gmail open. That might be the best process change I can achieve for keeping my in shape.


  1. The first was Google Reader—remember that, kids?