The Least You Can Do

Mom: “Ray, the least you could do is…”
Dad: “The least I could do is nothing.”

I often heard this dialogue between my parents when I was young. My mother would express displeasure about something that my father did/didn’t do. She would express a desire for a little more effort (usually in the form of some small gesture).

“Ray, the least you could do is…”

His response was always the same.

“The least I can do is nothing.”

It was my earliest introduction to my Dad’s personality.
It was sarcastic.
It annoyed my mother to no end.
And to a 10-year old weened on comedy, it was incredibly funny.

I was always looking for ways to inject the phrase into conversations. I even tried to mimic my Dad’s delivery, down to the smirk, head tilt and raised eyebrow.

As an adult, I would learn 2 things:

  • No one I dated would ever find it humorous/clever and no amount of nodding and winking would save me
  • The Least You Can Do is a powerful concept when used for good

On the path of 80 Hours to MVP, I found myself revisiting and repurposing that phrase. Instead of stopping at literal interpretation, I turned it on it’s head. By doing two simple things, I turned what was a joke into an effective approach for maintaining momentum in pursuit of my goals.

The first part is turning the phrase into a question. What is the least I could do? I find that asking questions keeps thoughts flowing and prevents me from getting stuck. For example, when I’m debugging, I ask myself questions to work my way through the current state of a problem to a viable solution. However, that alone would not transform the phrase into a powerful tool.

The second, equally important, part is adding an actual outcome. By providing a narrowly defined outcome, I can devise a pathway to completion. What is the least I could do to achieve the desired outcome?

I find this approach effective at both the macro and micro levels. In determining the success metrics that I defined in the Kickoff Interview, I have provided the macro version. I know what would make this endeavor successful in my eyes. The least you can do is the defining trait for the MVP.

Success requires consistent action. The difficulty is in the implementation and it’s easy to get stuck in the details. If you’ve spent too much time working through issues, frustration and discouragement can set in. Many projects are abandoned when some seemingly trivial tasks become more difficult and start to eat away at your time. It is at this point that you’re most susceptible to quitting.

You must resist the temptation to weigh your endeavors with the scale of frustration.

It is at this point that going back to the mantra of the least you can do proves effective at the micro level.

For example, in implementing the MVP for Puffin, I knew that I wanted reports on my activities. I knew implementing something robust would take too much time. Even implementing a chart library was going to eat into my development schedule as there was still a learning curve. So I asked myself, what’s the least I can do to get some metrics for my work activity? I decided that instead of providing a fancy chart, I could provide aggregate date (e.g.. total # of sessions, total time worked). In doing so, I had one of the solutions the app was designed to provide (how much did I work today?).

Another example of where I use this technique is in fitness. It’s hard for me to stay in shape on the road, since I tend to get tunnel vision on projects and am loathe to actually go to the gym. I solved this problem by asking what’s the least I can do to maintain a basic fitness level? My MVP of fitness is 30 minutes of HIIT training 3 times a week. And even when I’m struggling with motivation, I take it one level lower and focus on the least I can do to kickstart this workout. For me, the answer is usually a minimal action of few basic stretches/jumping jacks just to get my body warmed up. I then build on the inertia and add another small chunk and before I know it, I’ve completed 30 minutes.

Setting minimal metrics provides a clear stopping point as well. If I lack knowledge or experience in an area, I can complete the minimal actions given my current level and return at a later time, when I’ve acquired sufficient skills. By putting an cap on this iteration and enhancing it later, I minimize delays, the accompanying frustrations and maximize efficiency.

Make the least you can do work for you.

80 Hours to MVP: Kickoff!

“Begin with the end in mind” – Stephen Covey

The first step in our 80 Hours to MVP requires us to make a jump forward in time. For this, we’ll take a cue from author Stephen Covey and “Begin with the End in Mind”. It is the 2nd habit covered in his bestseller The 7 Habits of Highly Effective People.  Using visualization, we can prepare ourselves for success. You’ve no doubt heard countless stories of how athletes use visualization to prepare themselves for success on the playing field. I was introduced to this technique in an undergrad Sci-Fi Literature class in which I was tasked with writing a resume representing my completed writing career. It was a great opportunity of project myself into the future and look back at the choices that I would like to have made.

In applying visualization to my development projects, I complete a self interview about the completed project, which helps get my initial vision out of my head and into a tangible form. I’ve used various templates but most recently I’ve settled on using questions that I’ve seen on Apple’s App Store “Meet The Developer” section. Getting featured in the App Store is a goal I’d like to achieve so it’s not a stretch to imagine how I would answer these questions.

Let’s take a look at the questions and see how they can help.

What problem were you trying to solve with this project?

Starting with our WHY is critical as you should have a clear idea of the problem that you are trying to solve. It doesn’t have to be earth-shattering to be worthwhile, it just needs to be clearly stated. Referring back to the answer to this question during the development process can help you stay on track and prevent feature creep.

What was your biggest challenge?

This is a funny question to me because I have always been wrong in retrospect. Imagining the future won’t prevent mistakes from being made. There are many assumptions in the beginning, particularly because the are so many unknowns.

What turned out to be easier than you expected?

This question is similar in nature to the previous one and can be just as difficult to answer. There’s probably at least one aspect of this project that will be much easier than initially imagined.

At what point did you realize that this was going to work?

What would the project look like/do at a minimum for it to be viewed as a success. It is that point at which it is determined to “work”. Use this to define success milestones for the project.

How and where does everyone work on the this project?

Answering this question provides an opportunity to get a handle on logistics. Are you working on this project alone or with others? If working with others, how will you communicate? How often will you meet to discuss progress or issues?

What advice would you give to your younger self?

This question was the impetus for the 80 Hours to MVP approach. After completing the Gobo app, I realized I could’ve gotten to a usable version much sooner by thinking/shipping smaller. There will almost always be something that you’ll wish you’d known when you started.

What’s next?

After the MVP is complete, what are the next steps? Think about both the obvious (e.g. additional features, other platforms) and not-so-obvious (e.g. marketing campaigns, press releases, support) actions you can take.

Once you’ve completed the MVP, go back to this initial interview and go over the questions.

  • How accurate were you?
  • Which assumptions were right/wrong?
  • What would you do differently?
  • Are there any additional questions that you would’ve have asked at the beginning? (feel free to add those to your template)

80 Hours to MVP

I started 2018 with a grand plan of having 10 apps in the App Store by year’s end. I would split my time between developing apps and embarking on a new career in voice over. I had broken the plan down into four 13-week segments, each with a one week retrospective/break at the end. By the end of the 2nd quarter, it was obvious that my approach was not providing the visible gains that I expected. Only Gobo, an expense tracking app for iOS, was on track for release, with older projects stuck in Development Hell. The cascading effect was that my blogging had stopped as well (what was I going to write about if I wasn’t making “progress”?)

My frustration was growing. It wasn’t as if I wasn’t working every day. I had a daily standup, task lists and bi-weekly retrospectives. All for a one person team.

Could the problem be some flaw in my process?

It is too Agile? Not Agile enough?
Do I need to use storyboards? Should I write everything in code?
Should I use React?

Why was I even doing this in the first place?

This entire endeavor was self imposed. If I didn’t want to continue, I was free to stop.

So what was the point of it all?

I simply enjoy making stuff. Completed projects provide self-affirming feedback, further powering the confidence/competence cycle. It’s a drug with a potent, sustainable high.

So rather than packing it in and accepting defeat, I’ve decided to try a feasible middle ground, between the equally disappointing quarter length projects and the hackathon/death marches that left me physically and mentally drained.

80 Hours to MVP

Nothing earth-shattering. Any product idea has to become a deliverable product within 80 hours of starting.

And then it’s DONE.

Pencils down.

Bottle it and ship it.

Why 80 hours?

While working on my 2nd app, GWTA, a simple transit app, I tracked my hours and saw that from the beginning to App Store submission, the process had taken me 79 hours. So I settled on 80 hours as a manageable time frame. It’s large enough to engage the entire creative process without feeling burn out. It’s also short enough to force design/development decisions to be made. GWTA doesn’t have all of the functionality that I wanted in a first version but it exists.

Done is better than perfect.

What’s Next?

My next 80 Hours to MVP project is my work tracking/daily standup app, Puffin. I’m starting over with it, keeping only the app icon that I designed earlier this year.

Retrospective Feb 4 – 10/ Planning Feb 11 – 17

I don’t know what to tell you. I’m happy for the first time in my life and I’m not gonna feel bad about it. It takes a long time to realize how truly miserable you are and even longer to see it doesn’t have to be that way. Only after you give up everything can you begin to find a way to be happy.

— Fuzzy Whiskers, BoJack Horseman

This past week was a wash work wise but I did spend a lot of time socializing and enjoying the city. From Super Bowl Sunday to my tour of Guátape to my first football match in South America, my work week was essentially cut in half but it was good to recharge and get away from projects.

Learning Cocoa (iOS/macOS):

Last Week This Week

DTSEssentials Framework: Shared Code for iOS/macOS apps

Updates are delayed until this week.

Last Week This Week
  • LoadingViewController

  • ErrorViewController

  • ValidationViewController

  • ViewController Containment extensions
  • FormViewController

Puffin (iOS): Daily Standup App

Nothing scheduled this week as I’m working to get Gobo Expense Log to beta testers in this sprint.

Last Week This Week

Gobo (iOS): Nomad Expense Log

In the home stretch to get the app to beta testers.

Last Week This Week
  • Form validation
  • Exchange Rates
  • Updated Screen Designs
  • Settings

Voice Over Work:

Got 4 gigs through the trainer pipeline. Still need to get profiles up on additional platforms.

Last Week This Week
  • 4 VO gigs via my trainer
  • Create ACX Profile
  • Submit 3 auditions on ACX
  • Create Voice Bunny Profile
  • Create Fiverr Profile
  • VO gigs as they come in

Health:

The Activity App has increased the daily move goal for the 2nd straight week (570 calories). I’m changing my focus from minutes of cardio to active calories burned.

Last Week This Week
  • Workout: 166 cal/session
  • Walking: 82,067 steps (11,723 /day)
  • Workout: 200 cal/session
  • Walking (avg. 10000 steps /day)

Reading List:

Wakanda Forever!!!!!

Last Week This Week
  • Black Panther – Christopher Priest run
  • Black Panther – Christopher Priest run

Retrospective Jan 14 – 20/ Planning: Jan 21 – 27

This week was fairly productive despite a few setbacks. An overall workflow is becoming clearer for me and I’m confident that I’ll still be able to meet my delivery date of end of February.

Learning Cocoa (iOS/macOS):

Work load didn’t allow me to move forward with CloudKit and In-App Purchase (which will get pushed back into early February). I took a deeper dive into sharing code by way of the DTSEssentials framework.

Last Week This Week
  • Generics in Swift
  • Sharing Code and Building Frameworks
  • CloudKit
  • Concurrency
  • NSURLSession

DTSEssentials Framework: Shared Code for iOS/macOS apps

Ran into some hiccups with the Generic List Table View Controller but I’m pleased with the progress that I’ve made. Testing in conjunction with an existing project has really helped.

Last Week This Week
  • Create Xcode project
  • Int Extensions
  • Date Extensions
  • String Extensions
  • UIColor Extensions
  • ViewCell Extensions
  • Storyboard Extensions
  • DesignableButton (IBDesignable)
  • DesignableView (IBDesignable)
  • DTSStyle (UIAppearance)
  • Test use of Framework with Gobo
  • Test use of framework with Puffin
  • Generic List Table View Controller
  • PopoverDataPicker
  • PopoverItemPicker
  • App Coordinator

  • Generic List Table View Controller

  • UIAlertController Extensions

  • Support for closures in UIButton target actions

  • LoadingViewController

  • ErrorViewController

  • ValidationViewController

Puffin (iOS): Daily Standup App

The biggest disappointment was that no progress was made on Puffin last week. I’ll be able to resume work on it this week.

Last Week This Week
 
  • App Icon Update (version 2.0)
  • Subtasks Feature
  • Standup Entry
  • Change Task Status
  • Quick Add for Projects
  • Quick Add for Tasks
  • Support Previous/Next swipe in Daily Standup View

Gobo (iOS): Nomad Travel Log

I’ve been moving along with Gobo and it has been the primary project for building out the DTSEssentials framework. Pretty excited and confident that I’ll be able to demo something by week’s end.

Last Week This Week
  • Create Xcode project
  • Add DTSEssentials Framework
  • Add Category icons
  • Create Models
  • Trip List
  • Expense List
  • App Icon (version 1.0)
  • CloudKit Support

Voice Over Work:

A pleasant surprise here as I picked up 3 gigs this week. I’m getting better at the the workflow, including setting up/tearing down my mobile studio.

Last Week This Week
  • 3 VO gigs
  • Create Fiverr Profile
  • Create Voice Bunny Profile
  • VO gigs as they come in

Health:

I’m in a good routine with the walking/cardio and will probably add a boxing workout back into the mix this week

Last Week This Week
  • Cardio: 215 minutes total (avg. 30.75 min/day)
  • Walking: 83,518 steps (11,931/day)
  • Cardio: (30 min/day)
  • Walking (10000 steps /day)
  • Boxing workout 2 times

Reading List:

Reading has been a total bust. I’ve just not made any time to do it. I’m constantly reading web articles and technical documentation but haven’t set aside any time for long form reading. I’m going to actually schedule reading time this week instead of waiting of it to appear.

Last Week This Week
  • Veins of Latin America by Eduardo Galeano (Part 1)
  • The Walking Dead (En Español) (Vol. 1: Dias Pasados)

Retrospective Jan 7 – 13/ Planning: Jan 14 – 20

IMG_5210I’m currently working on 3 software projects (2 apps/1 framework).  The goal is to get Gobo and Puffin submitted to the App Store by end of February with each using the DTSEssentials framework.

Learning Cocoa (iOS/macOS):

Ongoing learning to improve my knowledge in Cocoa/Swift:

Last Week This Week
  • Generics in Swift
  • Sharing Code and Building Frameworks
  • In-App Purchase
  • CloudKit
  • CloudKit
  • In-App Purchase
  • Concurrency
  • NSURLSession

DTSEssentials Framework: Shared Code for iOS/macOS apps

I’ve isolated some code that I find myself reusing and decided to create a library to shared code amongst my projects.

Last Week This Week
  • Create Xcode project
  • Int Extensions
  • Date Extensions
  • String Extensions
  • Generic List Table View Controller
  • App Coordinator (Router)
  • DTSStyle (UIAppearance)
  • Test use of Framework with Gobo
  • Test use of framework with Puffin

Puffin (iOS): Daily Standup App

I updated the design of Puffin and reworked a few screens. I removed a lot of view controller code, instead opting to use a generic table view controller. I look to be ready for alpha testing by week’s end.

Last Week This Week
  • Backlog Grooming
  • Project List View
  • Task List View
  • Standup History View
  • Daily Standup View
  • Update App Style
  • App Navigation Coordinator
  • Fixed crash when accessing Daily Standup
  • CloudKit Support
  • Subtasks Feature
  • Standup Entry Edit
  • Change Task Status
  • Quick Add for Projects
  • Quick Add for Tasks
  • App Icon Update (version 2.0)
  • Support Previous/Next swipe in Daily Standup View

Gobo (iOS): Nomad Travel Log

Last week, I got an idea for a new app, because of course I did. I started brainstorming and doing some initial basic sketches. It seems like a good candidate for testing the framework.

Last Week This Week
  • Create Trello project
  • Paper sketch for App Icon
  • Select app colors
  • Paper sketch for quick entry
  • Competitive Analysis with existing apps
  • Locate API for currency exchange
  • Define entry categories
  • Source category icons
  • Create Xcode project
  • Add DTSEssentials Framework
  • App Icon (version 1.0)
  • Add Category icons
  • Current Day View
  • Entry View
  • Create Models
  • CloudKit Support

Voice Over Work:

I’m working with an experienced voice over talent to get started but I’m going to create my own profiles on various platforms in the next few weeks to increase my chances of getting work. The beginning of the year seems to be a slow period. Hopefully things will pick up in the next few weeks.

Last Week This Week

No work

  • Create Fiverr Profile
  • Create Voice Bunny Profile

Health:

I’ve reset my workout plan and for the first few weeks am focused on a simple routine of cardio and walking.

Last Week This Week
  • Cardio: 238 minutes total (avg. 34 min/day)
  • Walking: 95,003 steps (13,571/day)
  • Cardio: (45 min/day)
  • Walking (10000 steps /day).

Reading List:

My book challenge attempt last year didn’t go well so I’m rebooting with just two books. I’ll try to read at least one of the books in the rotation in Spanish.

Last Week This Week
  • Veins of Latin America by Eduardo Galeano (Part 1)
  • The Walking Dead (En Español) (Vol. 1: Dias Pasados)

Why They Won’t Pursue Your Idea

You’ve experienced this: you’ve been working at the company long enough to know how things work and you’re confident in your skills and contributions. It’s been long enough that you see more than just where the chinks in the armor are or opportunities than the company should be pursuing. At some point, you have the ear of one of the higher ups in your company. Maybe it’s at a company retreat or possibly a sidebar at the end of a meeting. You excitedly explain your idea and expect to have it rewarded with an enthusiastic response and possibly even an offer to lead the new project.

Instead you are greeted with a compliment sandwich of denial. “That’s a good idea but it’s not something that we can pursue right now.  Keep thinking outside the box, though. It’s appreciated.” Such a letdown, right?

It’s happened to me on more than one occasion. After a recent discussion with a colleague who had a similar experience, I started thinking about why we’re surprised at these outcomes and how to be better prepared going into these situations by considering what we’re really asking.

Business is all about relationships. Not simply the internal and external ones with our coworkers and customers/suppliers, but the ones we have with our products and processes as well. When you advocate for a new process or product, you’re asking the organization to enter into a new relationship. And relationships take work. So you asking the organization to do more work.

But your idea is special in that it will make things better, right? Who doesn’t want better relationships?

suspicious_frye
Hmmm…

Existing tools and procedures are established relationships, complete with a history of joys and disappointments.  But most importantly, established relationships have trust. They are a known entity. They may be low tech and even inefficient but there aren’t any surprises. Your new solution has potential and could well be better than any/every existing one but it’s still an unknown.

If you’re just at the idea stage, you have the added disadvantage that it’s an idealized relationship in your head, complete with a wonderful future that may excite you and make your heart flutter. Yet, in the eyes of an outsider, which at this stages is everybody but you, it’s still a fantasy .

How can you move from this place and improve your chances of others being more receptive to you?

more_than_words.gif
More than words

Provide something tangible. Give them something they can get excited about. A thing they can engage with physically and emotionally. It could be as simple as a paper design, a video demo or a prototype. Don’t think only in terms of completed products or processes. Many of the products and processes we used today started with the initial positive feedback we got from a sample.

 

Just remember, asking someone to enter a new relationship is a huge request. To paraphrase Aretha Franklin, give them something they can feel and you’ll have a better chance of winning them over.

What if you’ve done this, you think it has huge potential and they still don’t want to do it?

Consider how truly important the solution is to you. If you still think the idea has merit and pursuing it won’t conflict with the relationship you have with the company…

go_your_own_way
You can go your own way

Nomadic Transition and Challenges

I recently participated in a survey asking about my transition to a nomadic lifestyle:

What were the challenges for you to transition into a digital nomadic life?

Before I started my journey, I owned a home and had a routine with family/friends, career and local community. Making the change from a stationary life to one of constant international travel required an adjustment in those relationships. In addition, I had the ongoing challenge of sustaining myself physically, financially and mentally in an ever changing environment.

 

How did you tackle those challenges and  make money while traveling?

When I started, I was employed full-time by a great company that fully supported remote work. While traveling, I was exposed to other people who were able to travel and make money in other ways (freelance, contract, product sales, etc.) and I began to rethink my approach. I’ve learned many methods to make money using my existing skillset. I’m still exploring which ones work best for me and the nomadic lifestyle.

What is advice that you’d share with other nomads?

Have a general plan for your nomadic journey but be flexible. Your most deeply held notions are subject to change based on new experiences. I started with the goal of traveling for one year while working full-time, returning home and opening a co-working space. That was two years ago and I’m already planning for a third year.

Also, don’t underestimate the impact of timezones when working with people around the world. Finding and protecting your most productive hours is important, especially when working on distributed teams.

And always keep a quick drying towel handy.

Answering these questions prompted my thinking on what is necessary to create a sustainable nomadic lifestyle that works, which I will discuss in an upcoming post.

Modern Work Podcast

Listen to my interview on the Modern Work podcast with host: writer, consultant and fellow nomad, Katherine Conaway. We talk about how I got into software development, my experience with Remote Year and how I work from the road.

Modern Work is a podcast about the work we do today & how we got there – featuring interviews with digital nomads, remote workers, and professionals across industries around the world, recorded from the road.

Working in Krabi, Thailand

This is a guest blog post by Super Villain and fellow Travel Squad member Elliott Killian. Follow more of his musings and how he uses his super villain powers for good at Elliott Killian  

Whether you are staying in Krabi for a while or just passing through and need to get some work done. Here are the best places for Digital Nomads in Krabi.

Sorry, no Co-working, but there are some great cafes.

A few days before I left, I of course looked for co-working spaces. According to Co-Worker, there are no co-working spaces in Krabi. I then asked Reddit and my friends for recommendations. No-one had a good answer. So I went on a mission to find the best cafe in Krabi for Digital Nomads.

All wifi was tested June 1st, 2017

#1. Zoo Cafe

 

Address:  Maharaj 2 Alley, Tambon Pak Nam, Amphoe Mueang Krabi, Chang Wat Krabi 81000

Hours:  Open from 7:30am-6pm, Closed Wednesday

Wifi:

  • Speed – 
  • Password – Ask the staff.

Menu:

  • The food is reasonably priced most of the dishes are 100 baht or less.
  • Drinks are around 60 Baht.
  • Meal for two might be 350 baht.
  • I am a tea drinker and Zoo Cafe has 11 different teas. This is the largest collection of teas in Krabi that I have seen. Most places only serve black tea or Lipton tea.

About the Space:

  • Air-conditioning works and is at the right temperature. 3 tables inside and 5 tables outside.
  • Drawings of cartoon animals line the wall. I am actually writing this article at Zoo Cafe right now.
  • The only con about Zoo is that it only has three tables inside. Peak season this might be full of people.

Zoo Cafe closes on Wednesday so if you go there and forget that it’s Wednesday. Which I may or may not have done. Pirate House is next door which is #3 on this list.

#2 Easy Cafe

Address: 30 Khongkha Rd, Tambon Pak Nam, Amphoe Mueang Krabi, Chang Wat Krabi 81000

Hours: Opens 7:30am-6:00pm, Kitchen closes at 5:00 pm, Closed Monday

Wifi: 

  • Speed –
  • Password – Ask the staff. It might be mythology/ fantasy related.

Menu:

  • Food prices range from 65 baht to 200 baht. Larger and more western the food was more.
  • An estimate for a meal for two (two entrees, appetizer, two drinks) would be roughly 350.
  • They serve both Thai food and a large selection of Italian food. They also have a page for vegetarian food. 7 different types of tea and a whole page for different choices of iced coffee.

About the Space:

  • There are 7 Tables inside and 5 tables outside.
  • The restaurant is across the street from the river and the night market, which is a great place to have dinner or dessert after dark.

#3 Pirate House Cafe

IMG_3668

Address: Tambon Pak Nam, Amphoe Mueang Krabi, Chang Wat Krabi 81000

Hours: Open everyday 9am-10pm

Wifi: 

  • Speed –
  • Password – Look on the napkin holders

Menu:

  • A meal for two would be around 450 baht
  • Food ranges from 100 baht to 200 baht. They serve Indian, Thai, and western food.
  • It is a small franchise with other locations in Koh Phi Phi and around Krabi

About the Space:

The drinks and food are pricier than the first two. If few people are there they open the windows and doors and turn off the Air conditioning.

#4 Koko Nest Coffee

IMG_3681

Address: Pak Nam, Mueang Krabi District, Krabi 81000

Hours: Open Everyday from 7am-10pm.

Wifi: 

  • Speed –
  • Password – Look on the wall next to the door

Menu:

  • Most expensive place meals range from 100 baht to 250 baht.
  • Price for two people might be 500 baht
  • A good breakfast place.

 

This list should help you find your spot to get work done. Hopefully one of these places becomes your favorite and go-to place.