Lowering the Project Threshold

One part of GTD and OmniFocus that I’ve always struggled with is the idea that any action that requires more than one step is actually a project. It sounds simple, and I agree with that definition in theory, but I’ve never followed through in practice. My OmniFocus project list has always been relatively sparse – really just containing my three areas of focus each with 5-10 medium-to-big-sized projects plus a catch-all single action list for miscellaneous tasks.

The problem with this approach is that it’s stopped me from adding piddly, little multi-step tasks to OmniFocus because I don’t believe they count as a captial-letter PROJECT, and they don’t fit into my single-action lists. Instead, they stay in my brain, forgotten or causing anxiety.

I really came to identify this problem a few weeks ago and made a mini New Year’s resolution to be better at it. Since then, I’ve made a conscious effort to be less picky about what crosses the threshold to qualify as a project and now force myself to turn anything with more than one step into a for-real project.

Here’s an example. Previously, I would have had a task titled “Mail Christmas photos to Aunt Betty”. And that was it. Simple. Right? But now I have a project titled “Send Photos to Aunt Betty” with the following steps:

  • Write and include happy new year letter
  • Include family Christmas card
  • Save Betty’s address into iPhone
  • Take photos and letter to post office to mail

You see. All of those tasks were implicit in the original task by itself. But writing it down as a single task was fooling myself into thinking it was just one step to completion. I kept putting off that task and others like it because I never found time to do all of the steps that were actually required to finish it. But now that it’s hoisted into a project and broken down into real, concrete, necessary actions, I’m free to complete each one individually as time allows. If I have five minutes between phone calls I can run downstairs and write out a quick letter and stuff it and the photos into the envelope. When I’m back at my Mac, I can lookup her address and add it to my address book. Then, when I leave the house the next morning, my @Errands context will remind me to grab the envelope so I can stop by the post office.

Adding granularity, precision, and definition to your tasks enables GTD/OmniFocus to operate at a much more efficient and functional level.

The result of all that is a much, much longer list of projects in OmniFocus. Seeing my previously perfectly-ordered and organized project list grow into an at-first-glance messy and overflowing one was a bit of a shock. I felt like weeds were sprouting up in my OmniFocus. But I took a step back and just let it happen.

After a few days it stopped bothering me when I realized the benefit. And that’s that the tasks available to me during my morning planning session – the ones that feed into my Today list – truly, for the first time, reflect everything I have to do instead of mostly-everything-but-kinda-leaving-out-the-small-stuff.

It also helps me make more progress on more projects each day by creating more true next actions. Before, when so many tasks were actually projects, I’d see them during my morning review and never place them on my Today list because I knew they contained multiple steps that I wasn’t ready to commit to.

But by breaking those small projects down into their component steps, it produces more actionable tasks that I can feel confident about adding to my daily list, which leads to me regularly making progress on all my projects and fewer of them stalling out.

And it feels wonderful.

I’ve never really been able to achieve David Allen’s feeling of “mind like water”. But freeing up those final open loops and trusting them into my system has gotten me much closer. If you find yourself avoiding certain tasks because you know deep-down that they’re really multiple steps, try – just for a week – turning them into projects.

That’s my story. If you have any tricks for not falling into the “multi-step action” trap or for just keeping things moving along in general, I’d love to hear about it in the comments below!

Even Panic is Having Trouble Making Money on iOS

(I hope the title of this post doesn’t misrepresent what Cabel wrote.)

The 2014 Panic Report is a wonderfully candid look into Panic’s successes and struggles throughout 2014. Continuing in line with the trend of small developers finding it difficult to make money on iOS is this nugget…

Wow! 51% of our unit sales came from iOS apps! That’s great! But now look at this revenue chart for the same month… Despite selling more than half of our total units, iOS represents just 17% of our total revenue.

I love, love, love developing for iOS. But this is exactly why, as a solo developer, I put all of my serious effort behind my Mac apps. Anything I do for iOS is at best a hobby or an experiment.

Benefits of Selling Outside the Mac App Store

Dan Counsell, founder of Realmac Software with an up-front and insightful post about the benefits of selling your software outside the Mac App Store.

Imagine if your app made $30,000 in the first month it launched. That’s great, apart from the fact that you have to give Apple $9,000 of that. Is the service they provide really worth that much? I’m not so sure it is.

My little company wouldn’t be able to survive if I had to give 30% of my revenue to Apple. While I hope to change that, Click On Tyler simply doesn’t operate at a scale where that’s sustainable.

Ember for Mac was in four different bundles in the last half of 2014. It earned an extra $80,000 (USD) in revenue, not only that it also brought in a lot of new users. If Ember was only available in the Mac App Store I wouldn’t have been able to do this and Realmac would have been worse off because of it.

I’ve participated in a few different bundles over the years. And, while they have brought in a nice bonus bit of revenue, I’ve found the ability to market to that huge base of new customers more useful.

Here’s the biggest and most important difference of all, by selling directly you get to know every single one of your customers. When building a business your customers are your most valuable asset, but yet when you sell on the Mac App Store you don’t know who they are.

Bingo. Over the years selling my apps I’ve formed many great, personal relationships with my customers. They’ve become key advisors when I experiment with new product features and services. They’re also a constant stream of ideas and improvements that I wouldn’t normally see since I’m so close to my apps. Customers on the Mac App Store rarely translate into this kind of usefulness – if you even know them at all.

All that said, one distinction worth making is that Dan doesn’t advocate not selling through the Mac App Store. He simply says that you shouldn’t limit yourself to only one sales channel.

2014 Business Yearly Review

Inspired by this article on doing a year-end review of your indie business, I took a few minutes and calculated some stats and compiled my major accomplishments from 2014. The result was eye-opening and made me feel more than a little bit proud.

I’ve made a conscious effort to be more transparent about my business dealings this year because I truly believe getting more people to share these kinds of numbers will benefit the community as a whole. So, here’s my 2014 review of Click On Tyler

  • Earned $61,500 in sales ($168/day)
  • Grew revenue by 6%
  • Gained 1,714 new customers (40% down from 2013 new customers)
  • Sold 1,961 copies of my software
  • $31.36 average sale price
  • Launched new, responsive clickontyler.com website design
  • Launched VirtualHostX 5.0 with folders, SSL support, custom directive templates
  • Launched VirtualHostX 6.0 and reset the app’s development cycle to coincide with Apple
  • Built and launched Minion
  • Built and beta launched Hobo
  • Built Upshot
  • Built and launched Shutterbox
  • Retired Incoming!
  • Retired Traffic Advisor
  • Migrated off Rackspace to Linode
  • Integrated a FAQ/support website into clickontyler.com
  • Introduced commercial licenses with priority support
  • Began writing regularly at tyler.io
  • Wrote 56 blog posts. 35,900 words
  • Wrote half a book on my Dropbox photography workflow. 11,251 words
  • Gained 883 newsletter subscribers (42% growth)
  • Sent 11 newsletter campaigns (10,789 emails)
  • 68% newsletter open rate (19,447 opens, 7,406 unique opens) (18% industry average)
  • 15% newsletter click-through rate (2,217 clicks, 1,666 unique clicks) (2.5% industry average)

All of that, while caring for (dealing with) our first son, who was born at the start of the year. And, while working a full-time job as well.

A sincere thank-you to all of my customers and everyone who reads this blog. I can’t wait for 2015.

My Inboxes

I’m not one of those people who feels busy all the time. I typically never feel overwhelmed no matter how much is on my plate. But I know and have worked with lots of people who always seem to be in a hurry and are frazzled trying to remember all the tasks in front of them.

I’ve never been able to understand the mindset of the perpetually busy person. I don’t at all mean that to sound condescending. It’s just not in my nature to feel overwhelmed very often.

I really do believe that a big reason for why I tend to stay calm even during my busiest times is that I fully trust my (mostly) digital organization system for running my life. And a key part of believing in my system is knowing that any time an actionable piece of information comes my way, I have a dedicated inbox I can place it into where I know it won’t be forgotten or overlooked.

And that’s the purpose of an inbox – whether digital or physical. It’s a dumping ground where you can safely store everything you need to do but haven’t yet had time to process, schedule, or fully examine. Then, during your regularly scheduled review or whenever you have time, you can go through the contents of your inbox and either act on, defer, or delete its contents.

Today I thought I’d share my various inboxes and how I use them.

If you’ve read any of the other productivity posts on this blog, you’ll know I’m a heavy OmniFocus user. It’s my first and primary inbox. Any time I’m at my Mac and I come across something that needs doing, a keyboard shortcut launches the app’s quick entry window. I can type in my task, press return, and go back to my work knowing the task is captured and waiting for review the next time I process my inbox. When I’m away from my Mac, new tasks go straight into my inbox by way of the OmniFocus iPhone app. In almost any situation, I’m able to capture my tasks without breaking the flow of whatever else I’m doing.

I have a default Evernote notebook titled “@Inbox” where all of my new notes go. Every piece of information I clip from the web or capture from some other source is initially filed into @Inbox. Once a week, during my OmniFocus weekly review, I’ll go through all the notes I created last week and sort them into a permanent notebook. (The “@” at the front of “Inbox” keeps the notebook sorted to the top of Evernote’s notebook list.)

I’m also a heavy user of Drafts on iOS. It’s the fastest way to write down any amount of text that you plan on doing something with later. When people dictate their phone number or email address to me, I’ll typically capture it into Drafts and then add it to a real address book contact later. Also, many of my blog posts begin in Drafts. It’s very common for me to have the inspiration for a new post while I’m away from the computer. I’ll use Drafts to jot down the topic and maybe even a few sentences worth of ideas I want to be sure to include. Later, I’ll move that text into a proper draft post in WordPress where it will sit until I flesh it out into a completed post.

I also use my (unreleased) iOS app Upshot to quickly capture photos, videos, and audio recordings. Everything I capture with the app is immediately uploaded to a Dropbox folder for future processing. Processing that folder happens (of course) during my weekly review.

My final digital inbox is literally my Gmail inbox. As I wrote previously about my email habits, the only emails in my inbox are either unread or something I need to act on. That guarantees I never have to spend time scanning over my inbox for emails that no longer matter. Everything in it requires an action of some kind – even if it’s as simple as deleting the message.

So those are my digital inboxes. But what about the physical world? Unsurprisingly, my solution is to scan everything into digital form.

Next to our front door is a literal inbox hanging on the wall. All of our snail mail and any other papers we acquire go into it. Once or twice a week I’ll empty it and bring everything into my office. Every piece of paper is either thrown away or scanned into PDF form with my ScanSnap and then shredded. My goal is to remain as paperless as possible. And other than a few mortgage documents stored in a fire safe, there’s zero paperwork in my office. Everything is in OCR’d PDF form and safely stored in Dropbox, where it’s sorted into an appropriate folder for future reference.

One workflow detail: When I scan a document, the built-in ScanSnap software automatically OCR’s the text and saves the document as a PDF into a Dropbox folder named “_Inbox”. It’s not uncommon for there to be 10 – 15 PDFs in that folder at any given time. But, like everything else I’ve written about, during my weekly review I’ll review each PDF and file it away into a permanent folder.

And that’s it. Those are the seven inboxes where every piece of information, task, or document begins its journey into my trusted system.

For folks reading this, all of the above may sound insane. But it really is a simple system once you have the right tools and workflow in place. And it’s actually kind of liberating. I never have to deal with a computer monitor covered in sticky notes of things I have to remember. Instead, I’m confident that everything is in it’s correct place where it won’t be forgotten or overlooked. And that confidence leads to a clear mind free of open loops (to use David Allen’s term) so I can focus on the actual work in front of me.

That Connection

I don’t code every day. Even when my only job was running my little company, I never had enough work in the pipeline to keep me busy in Xcode five days a week. The actual programming part of my job comes in fits and spurts as I work on new features and bug fixes.

The only area of running my company that is consistent (other than the administrative overhead) is customer service.

Simply due to the fact that I sell my software worldwide, I have customers in every time zone and in countries with vastly different holiday schedules than my own. That means support emails, tweets, and phone calls can arrive at any time of day and any day of the year.

I’d wager half of the work I do for Click On Tyler involves interacting with my customers. Support emails, feature requests, bug reports. Over the seven years I’ve been selling my software, I’ve talked with literally thousands of my users. Some of the most frequent ones are now on a first-name basis. A select few have even become friends.

It’s a part of the job I truly enjoy.

Helping a customer get started with one of my apps or troubleshooting a bug and delivering a fix never gets old. For days when I’m feeling down, or after one of those fortunately rare times when a customer yells at me, I keep a folder in my email full of letters from people simply saying “thank you”.

I really do thrive on all that interaction. It’s an amazing feeling knowing not only are people willing to pay money for something you built, but that something you built has had a measurable, positive impact on someone’s life.

And that’s why I think I’ve never 100% ever loved any of my “real” jobs. I’ve built websites and apps for many different companies. But I’ve never once been given the opportunity to interact with customers or see the work I’ve done in the hands of users. Whether due to bureaucracy, company policy, or simply logistics, I’ve always been kept separate from the people using the code I spend eight hours a day writing.

It leaves me without the connection I’ve grown so accustomed to with my own software business. And that connection is vital. It keeps you grounded, honest, and empathetic towards your customers. It seeps into your brain and imparts a bit of humanity into the code you’re writing.

So don’t dread the time you spend talking with your customers. Relish it. It keeps you connected and provides the fuel you need to keep your software operating at a human level.

More App Rejections

From Cromulent Labs, whose app launching widget was initially approved by Apple and then removed from the App Store:

But this time I decided to make a more concerted effort, start a company, and see if I could make some app (or apps) that could simply keep me employed and pay the bills….As with any iOS app, there was a chance (perhaps this this case, more than most) that the app would be rejected by Apple, but I figured it was worth the risk once I determined that it was technically feasible and I found nothing in the App Extension Programming Guide that disallowed it.

And that’s the problem. More and more people are creating businesses and sometimes quitting their jobs hoping they can make it on the App Store. Some do. Many fail. And yet others create a wonderful app, featured by Apple, loved by users, only to later have Apple squash their hard work. The developer assumes all the risk and often pays for it.

I pleaded with this person to make public whatever guidelines they make available for app reviewers to decide what is acceptable and what is not regarding widgets. The Apple representative responded by saying that they prefer that the rules remain vague because that allows developers to come up with innovative ideas and also allows Apple to be flexible in case they change their minds later. When pressed on the issue of their policies leading to wasted developer time, I was told, “If you are afraid something you are working on will be rejected, then don’t work on it.”

Kafkaesque?

During this same conversion, I also asked specifically why Launcher was removed from the App Store after 9 days when other similar apps are still available weeks later….They basically said that Launcher was a trailblazer in uncharted territories and that they felt that they needed to make an example of it in order to get the word out to developers that its functionality is not acceptable without them having to publish new specific guidelines. And they said that the fact that they aren’t seeing hundreds of similar apps submitted every day is proof to them that taking down Launcher was successful in this regard.

I’m so thankful that the apps I depend on to earn a living aren’t in the App Store. Stories like this one and Panic’s recent rejection make me want to give the developer a hug and introduce him to Mac development.

It’s becoming harder and harder to justify the risk of building an app and launching it on the App Store. Developers bear all of the risk. And even after approval by Apple, there’s the looming threat that Apple could reverse their decision at any time.

It all goes back to what I wrote in response to Brent Simmons‘s question, where are the indie iOS developers? Other than game developers, I don’t think there are or can be any. It’s just too dangerous. If you want to earn a living, move to the Mac, get out from under Apple’s foot, and charge a sustainable price for your work.

Writing Without Editing

Last year, December 30th to be precise, I had the idea to write and self-publish a book about Dropbox and digital photography. It would sum up and explain in detail everything I’ve learned about capturing, organizing, sharing, and protecting my photo library – centered around Dropbox. I went home that night and immediately dumped everything out of my mind into an OmniOutliner document.

Eighteen hours later, my son was born.

So, the book stalled for a while.

But a few months later, once the insanity of having a baby settled into something resembling a routine, I turned that outline of ideas into a real outline of chapters and sections. Sometime in April I began the real task of writing. I even went ahead and booked a few website sponsorships for later that Summer thinking I’d have the book finished by then.

Boy was I wrong.

It’s now nearly a year since I first had the idea for the book, and I’ve written around 15,000 words. I’m guessing I’ve got another 10,000-15,000 to go. So I’m half-way there.

What I find myself struggling with isn’t finding the time to write or coming up with ideas of what to write about. I have time blocked out every evening and I’m working through my outline. My problem is that I’m a perfectionist when I write. Going back to my days in college as an English major, I wrote all of my papers start to finish with little to no editing. I’d sometimes spend thirty minutes on two sentences making sure my point was as clear and concise as possible before moving forward. The result? I’d spend the same amount of time writing papers as my friends, I just never went through the second and third drafts that they did. When I was finished, I was finished.

But with a project as a large as this book, writing that methodically is too slow and causes me to lose my place within the larger context of what I’m writing. So, I’m trying to force myself to write without editing. Get my thoughts out of my head and into Scrivener, knowing I’ll have time to do real editing and proof reading when I’m done.

That’s a struggle for me. It goes against the very nature of how I’ve always written. And I’m not sure how to get better at it other than plodding along a little bit every day.

If any other writers out there have dealt with this problem, I’d love your advice.

Being an Indie is Hard

Zach Waugh of Giant Comet and Flint fame writes:

But even after I released Flint for iOS in late 2013, I was only making about half of what I would need to go full-time comfortably. Building apps by yourself is a grind, and I was starting to wear thin, so I decided to leave Giant Comet as a side-project.

A wonderful product, aimed at a passionate, niche market and it’s still a struggle and grind to make it full-time.

On a different note, Jared Sinclair with advice for the creators of the superb Crossy Road, who he’s afraid might go out of business…

Cross Road is so addictive. It’s a shame it doesn’t seem set up to make its developers a sustainable income.

Crossy Road feels like a paid-up-front game.

Given what the App Store has become, I don’t think they have a choice: either the upgrade characters should make gameplay different, or…

I know that’s not the cool indie thing to do, but are you trying to earn a sustainable living or not?

So much about staying alive as an ISV now depends on intangibles far beyond your design and programming abilities.

36 Hours With Amazon Echo

For whatever reason, Amazon deemed me worthy of receiving an Echo last week. After laying down my $99 and a quick, overnight shipment, it was on my doorstep Friday afternoon. And now, after giving it a whirl for thirty-six hours, I thought I’d write up my initial observations.

First of all, it’s bigger than I expected. When I first got it, I initially didn’t like the form factor, thinking I’d instead prefer something shorter and wider more like a speaker. But now that I’ve positioned it in a few different places in my kitchen, the skinnier, taller design makes sense. In a space constrained layout, Echo takes up very little surface area on my kitchen counter.

Setup was extremely simple. Just plug the Echo into power and then “download” the Amazon Echo app. I put “download” in quotes because that’s the phrasing Amazon uses in the setup material. But the app isn’t actually a native app from the App Store. It’s a mobile web app they encourage you to add to your home screen.

The mobile app walks you through connecting your Echo to wifi and your Amazon account in just a few minutes. After watching a three minute intro video, the device was ready for my first command. But more on that in a minute.

First I want to say that their mobile web app, while not bad, is one of those mobile apps that makes native app developers groan. Rather than being a responsive design that would work on any screen size, it’s specifically built for mobile. That includes a hamburger menu for accessing a side drawer of settings. It tries so hard to look like a native app, I just wish they had taken the time to build one if that’s what they’re aiming for. But, I do get why they went web app. It’s the fastest way to get one codebase on every platform. Maybe once Echo is more than a beta project, they’ll build a proper native controller.

While I would obviously prefer a native app, suffering through their web app isn’t a huge deal. The only real issue is since it runs in Mobile Safari, you’re required to be logged into your Amazon account. Not a big deal for me, but it is for my wife who is normally signed into her Amazon account, and therefore can’t access the Echo app. The solution? She simply just doesn’t use the app. A shame.

My first command was, predictably, “Alexa, what’s the weather tomorrow?” Echo thought for a second, it’s ring of lights glowing, and then promptly answered with a full forecast for the next day.

My wife and I have probably issued fifty or so commands over the last day and a half, and the response times after each question are completely on par with what I expect from Siri or Google Now.

The “always on” nature feels like a game changer – the natural progression of all these competing information services. Already, after just a day of use, it felt natural and seamless in a way that Siri never has. Without really thinking, I automatically said “Alexa, set a timer for 3 minutes” when making my morning coffee.

My wife laughed at the original Echo introduction video earlier this month. She was completely skeptical after such a bad experience with Siri the last few years. But, again, the seamlessness of it won her over. She’s issued more commands than I have.

How about voice recognition? Echo is able to hear and understand me speaking at a completely normal volume from an adjacent room and around a corner. A slightly louder, projecting voice was sufficient 40 feet away through an open doorway. The device is able to hear the wake-word “Alexa” very easily, even while the device itself is playing music. It pauses the music once it hears its name and waits for the rest of your command.

One difference between Echo and Siri is Apple’s assistant is much more conversational. There are times when Echo will answer a purposely non-answerable question with a fun reply, but not as often or with near as much breadth as Siri. Part of that, of course, is that Apple has had a few years and vastly more user interaction to tune Siri’s personality. It also might simply be due to Amazon purposefully not making Echo as human as Siri pretends to be.

When playing music at low volumes, Echo isn’t nearly as crisp and audible as my kitchen Sonos speaker. It sounds fine, but not great, at louder volumes. But with a sleeping baby in our house, low volumes are a must, and Echo just sounds muddled when listening to what I know are good audio recordings.

As luck would have it, earlier this year I uploaded all of my iTunes library into Amazon Music so it would be streamable on my Sonos. (Sonos famously doesn’t play nice with the Apple ecosystem.) Having 80 gigs of mp3s living in the cloud and available on Echo with a simple voice command is awesome.

I’m an Amazon Prime member, so, in theory, I have access to their “million song” library, but I haven’t tapped into that yet since my personal collection is so readily available. I have no idea how Amazon’s streaming library compares with Rdio or Spotify.

All of this music integration really just makes me yearn for a voice-controlled Sonos. With their speakers already situated throughout my house, it seems so natural for them to pivot into a full-on tech company capable of responding to my voice. Or at least partner with Google (Now) or Microsoft (Cortana) to make their tech available to an army of passionate Sonos users.

They other pipe dream Echo opens up is the possibility of an open API and/or official way to shuttle my reminder and shopping list data out of Amazon’s ecosystem and into whatever apps I happen to use for that type of data. It would also be amazing if one day Amazon enables developers via AWS to tap into their speech recognition and processing platform. Imagine if Amazon allowed you to stream voice audio to AWS, and they’d do the speech recognition and then further break down the input into verbs, actions, and nouns that could trigger webhooks within your infrastructure.

Anyway, I’m getting ahead of myself.

For $199 is Echo worth the price? Maybe. If you already have a Sonos in the room, possibly not. But for the Prime member price of $99, it was a no-brainer impulse buy that I’m very much enjoying.