Best Things this Year (2017)

Twin Peaks: The Return
Twin Peaks: The Return

Every year I write a recap of things I did and enjoyed. 2017 was packed. I re-read my 2016 recap and there’s a lot of despair, but I’m glad it didn’t slow me down. Maybe it was motivating.

TV / Movies
Twin Peaks: The Return
Silicon Valley
The Leftovers
The Big Sick
Coco
Get Out
Lion
Mother!
The Last Jedi
Logan
Coraline
Manchester and the Sea

Music
The Blow – Brand New Abyss
Beck – Colors
(Sandy) Alex G – Trick
(Sandy) Alex G – Rocket
Fruitbats

This song by the Chromatics

Games
Zelda: Breath of the Wild
HQTrivia
Monument Valley 2

Books
Operation Manual for Spaceship Earth by Buckminster Fuller
Between the World and Me by Ta-Nehisi Coates
The Functional Art by Alberto Cairo
Harry Potter and the Sourcerer’s Stone by JK Rowling
Harry Potter and the Chamber of Secrets by JK Rowling
The Amber Spyglass by Phillip Pullman
Tigerstar and Sasha by Erin Hunter (at the request of my daughter)
The Runic Warriors by Mickey Wren
Radical Candor by Kim Scott
Acceptance by Jeff VanderMeer

Travel
Kyiv – I spent a week in Ukraine! Magento has a huge office in Kyiv and I spent some time there in March working on the new Advanced Reporting feature that was just released in Magento 2.2.2. Kyiv (don’t say Kiev) is a beautiful city and I hope to go back.
Boston, MA – I attended the OpenVisConf in April and it pushed me to complete more dataviz projects this year.
Milwaukee, WI
Antioch, Illinois
Falling Water, the Frank Lloyd Wright house near Pittsburgh

Speaking Gigs
In January I gave a talk about HTML5 canvas at the Philly Front-End / UX meetup at Industrious.
I went to BarCampPhilly for the first time in a while and gave a talk on Dataviz with Semiotic.
I gave a talk on Lineage v2 at the Philly D3 User Group Meetup
I spoke at the Data Labs meetup in Wilmington, DE in November about Dataviz and Storytelling.

The Data Labs meetup in Wilmington
The Data Labs meetup in Wilmington

Podcast
I was a guest on the Data Labs podcast to talk about data visualization. I talked too much, but it was fun.

Plot Device
I started a new dataviz site called Plot Device which features 6 projects I did this year. So far they all use Semiotic. I’m especially proud of my work visualizing auto fatalities and Twin Peaks Halloween costumes.

Visualizing the top Twin Peaks Halloween costumes
Visualizing the top Twin Peaks Halloween costumes

Porchfest
I participated in the Collingswood Porchfest and had a blast.

Collingswood Porch Fest
Collingswood Porch Fest

Lineage v2
I launched v2 of Lineage, my genealogical data express engine, which I rewrote using D3 v4. It now includes a timeline and a surname categorical view.

I rewrote and added new features in Lineage v2
I rewrote and added new features in Lineage v2

Magento BI Essentials
In April we launched a new product called Magento BI Essentials, which is a fast, low cost, modern, business intelligence platform for Magento merchants and it’s freaking amazing. It features fast onboarding (15 minutes), low data latency, and powerful data modeling. I’m so proud of the work my team did this year.

Odyssey of the Mind
The Mind Masters won their regional tournament this year and competed at the State Finals. Their skit was about a super hero who was kind of like Aquaman for landfills (he can talk to garbage trucks). I loved it and so did the judges.

Therapy
I started seeing a therapist twice/month for all of 2017 and I highly recommend it. Feel free to reach out if you have questions about it and thanks to all the people who answered mine.

Previous years
2016
2015
2014
2013
2012
2011

Spoil Your Meetings

You just got a calendar invite your boss. 

What’s going on? Are you getting fired? Your last performance review was fine! 

You walk to your boss’s office. HR is sitting there with her.

Kermit being nervous

Oh crap, oh crap, oh crap.

HR walks out as you walk in. You sit down, and your boss says, “Hey I just wanted to bounce an idea off of you.

Breathe.

Meetings shouldn’t have surprises. Spoil them.

Tell everyone what you’re going to say before you go. Give away the ending. Put all the good parts in trailer. And the bad parts. And the song that’s going to play in the montage while your team builds the A-Team-esque vehicle that is needed to do the job. 

If your meeting doesn’t have spoilers, then it’s probably not worth having.

10 Things I’m Doing After Reading The Principles of Product Development Flow

A few weeks ago I showed this slide during a talk I gave to clients of RJMetrics.

Books on Flow and Throughput
Books on Flow and Throughput

The Goal is legendary in my family as a guide for unlocking throughput in manufacturing. Garvey Corp’s entire business model is helping companies exploit constraints and increase profits. It got me off to a great start in manufacturing, but the reality of workflow always seemed a little more complicated than Goldratt’s stories lead you to believe.

Later I devoured Jeffery Liker’s The Toyota Way, which describes the infamous Toyota Production System. It seemed to me that if you carried Goldratt’s constraint theory logically throughout your production system, you’d probably end up with TPS or something like it. As good as it is, the Toyota Way’s strategies always seemed better suited for a different type of manufacturing. One where you were producing roughly the same thing, slightly customized. My manufacturing reality had tremendous customization and variability.

The Principles of Product Development Flow by Don Reinertsen was what I was looking for. Here are ten things I’m incorporating into my workflow. (Manufacturing bits now instead of machines, of course)

1. Smaller projects – We’ve been shrinking our projects at RJMetrics for a while now, but initially I resisted it. “Some projects just take a long time, but are still worthwhile,” I thought. In 2015, however, the equations making projects worthwhile change fast. It’s better to hit a 2 week checkpoint and say “let’s keep going” than go for 6 months and say, “maybe we shouldn’t have done this.” I’ve even been making a conscious effort to make my pull requests smaller (under 50 lines) and more frequent.

2. No more backlogs – Keep TODO issues in a short list, but kill off the long collection of items that linger forever. This is super hard for a GTD’er like me, where you’re supposed to get everything out of your head and into a system. That system breaks when you get multiple people adding items to a backlog that will never get touched. The real backlog is in your brain. If it’s important enough, it will stay there bugging you to be completed and eventually you’ll add it to your short todo list. The key reason why backlogs are bad is this: Your team is smarter today than it was in in the past. Your issue backlog was created by an inferior version of your team.

3. Late assignment of issues – No one gets assigned anything until they can work on it. Have you ever been stuck in a grocery line behind someone who is super slow? You’ve already committed to that line! You’re stuck there because the physical constraints of a grocery store force assignment of a few customers to a register. When matching devs with issues, wait until the last possible second to make the assignment so that it doesn’t get stuck behind another slower than expected issue.

4. Fast feedback is critical – In 2015, everyone says we need to ship an MVP and iterate, but we still don’t always do it. There are many excuses: “The design isn’t ready”, “It’s not valuable without feature X,” etc. Not only is fast feedback worth overriding these concerns, it’s the best plan for fixing them.

5. Start teams smaller, then bring in reserves – “Make early and meaningful contact with the problem.” Planning is good, but plans get shattered once work starts. Things always turn out to be harder than we thought and the best way to find out where we are is to have someone start working on the project. A single developer will have a better picture in one week than a plan ever will. This is one reason why hackathons pay off so well for RJMetrics. Bring in other team members in week 2 and their start will be better focused. Plans should set goals, but be light on implementation details until work beginds

6. Use Little’s Formula – to provide more accurate response times for issues.

7. Make queues visible – Luckily we have a great BI tool to use for this called RJMetrics. Reinertsen recommends Post It Notes to track queues, but the book was written BT (Before Trello).

8. Queue = Todo + In Progress – Don’t just count items that are waiting. The item you’re currently working on is still in queue. The team’s issue queue should be judged on the sum of Todo and In Progress, not just one.

9. Have a framework for when to escalate team communicationPrinciples says to use regular meetings over irregular meetings, in person vs email, etc. I’m hesitant to escalate the communication due to the transacational costs associated with context switching, but when do you decide to stop emailing and start chatting? When do you stop chatting and start speaking? I’m going to start using the following framework for communication and adjust it:
– Email goes to chat after 3 emails
– Chat goes to in person after 10 messages

There’s no 10th item. Don’t feel like you have to fill every meeting/PR/project with content to fit the allotted time.

Best Things This Year (2013)

Anecdotally, it seems like a lot of people shook up their lives in 2013. I certainly did. Here are the best things that happened to me in 2013.

1. RJMetrics – In March I started working at RJMetrics, an e-commerce data analytics firm in center city Philadelphia. Leaving Garvey Corp was a difficult decision, but being a developer at of the best SaaS data visualization companies in the world has been amazing.

RJMetrics
RJMetrics

2. The Bulldog Budget – I worked with Philadelphia City Controller candidate Brett Mandel to implement his vision for the city’s open data future. We built a visualization tool using D3 and MySQL that gives both a high level view of the General Fund budget, but still allows you to drill down to individual transactions. A lot of people got excited about it and I think it made an impact in Philadelphia. It also influenced similar projects in Italy and Oakland, California.

Treemap of the Philadelphia General Budget
Treemap of the Philadelphia General Budget

3. Coffeescript – I was skeptical at first whether Coffeescript was a worthwhile abstraction from Javascript. After 9 months of using it at RJMetrics, I’m a fan. Here’s why:

  • Cleaner syntax: No parenthesis, braces, or semi colons. The time I save writing console.log instead of console.log(); has been worth the switch.
  • Improved workflow: Continuously running the Coffeescript to Javascript compiler alerts me of stupid mistakes (ie. ones that won’t even compile) faster than finding them after I’ve loaded the browser.
  • Existential operator: I can’t count the number of bugs I’ve fixed with one character are due to Coffeescript’s great ? operator, which checks to see if it’s null or undefined before proceeding. For example, if in javascript you previously did this:

    if (player != null) {
    player.levelUp();
    }

    In Coffeescript you just write:

    player?.levelUp()

  • Comprehensions: The Coffescript.org docs say you almost never have to write a multiline for loop and they can be replaced by comprehensions. For example:

    for (player in players) {
    if (player.health < 0) { player.kill(); } }

    In Coffeescript you can write:

    player.kill() for player in players when player.health < 0
  • I'm looking forward to getting better at Coffeescript in 2014.

4. AngularJS - I don't want to develop another interactive UI without AngularJS.

5. Bought this swingset from craigslist - With the help of my friend Mike and my father in law, we disassembled, packed it up and a U Haul, and reassembled it in my back yard. I'm amazed it went back together so well.

swingset
swingset

6. Read 13 Books - My morning commute afforded me more reading time. Here's what I did with it.

  • Bonfire of the Vanities by Tom Wolfe
  • Ready Player One by Ernest Cline
  • Look at the Birdie by Kurt Vonnegut
  • The Trial by Franz Kafka
  • A Beautiful Mind by Sylvia Nassar
  • Boys from Brazil by Ira Levin
  • Game of Thones (books 1-3) by George RR Martin
  • Life of Pi by Yann Martel
  • Timequake by Kurt Vonnegut
  • How to Win Friends and Influence People by Dale Carnegie
  • Thinking Fast and Slow by Daniel Kahneman

7. Public Speaking - I got way out of my comfort zone this year and did some public speaking at Ignite Philly and Technically Philly's Civic Hacking Demo Night.

8. Built the Gonginator

9. Spark Program - Some coworkers and I participated in an apprenticeship program for Philadelphia school kids where we spent 2 hours a week with 8th graders interested in programming and computers. Together we built a game!

That's as much as I could remember from 2013. Check out my lists from 2012 and 2011.

37signals Sent Me a Gift for Pwning their Leaderboards

This year I took an AK to the Answers leaderboard at 37signals, mostly answering Highrise questions. The Answers board is the best place to learn how to use Highrise because if you have a question there’s a good chance someone else has already asked it. I scoured it during our implementation in April, 2010 and continued to read it in case anything new came up. In that time I started helping people out and answering questions myself and this week I cracked #3 on their leaderboard.

I cracked the #3 spot this week
I cracked the #3 spot this week

On Wednesday a packaged was delivered to my office. I wasn’t expecting anything, but it’s not unusual for me to get random samples for us to test run from customers. I opened it up to find 6 beer glasses from 37signals.

6 premium beer glasses
6 premium beer glasses

The genius move of this is not the free gift for a good customer who gives back the company he’s already paying $150/month for business software. Any company can write a algorithmic trigger for x number of questions answered gets a t-shirt, if then else, etc. and come out a winner. The best part was the note that let me know they researched enough about me to know that I brew beer and would appreciate good beer glasses.

note from 37signals
Ben - Thank you for all your hard work on 37signals' Answers page! You've been a huge help to our customers. We hope you can use these glasses for your next home brew. Thanks again from the crew at 37signals.

I love great customer appreciation stories and for once I got to be in one. Thanks!

My low cost e-commerce stack

Dungeon Adventure
Dungeon Adventure

Since I launched Dungeon Adventure, an RPG for kids, a few weeks ago a lot of people have asked me how exactly I’m selling it. It’s for sale as a digital download and print out board game, or “floor top RPG” as Phil Nelson called it. Here’s how it works:

I have a hosting account with iPower that I have had for about 9 years. It hosts this site, Dungeon Adventure, and almost any other domain I’ve ever had like markgarvey.net. My cost is $99/year, but I don’t count that against Dungeon Adventure because I’d be paying that anyway to host bengarvey.com.

I registered the domain name through iPower: $12.95/year

I looked for a while at different e-commerce / checkout software sites like scribd, PayLoadz, DigitalGoodsDelivery.com, and e-junkie. I decided on e-junkie for the following reasons:
1. Seemed reputable based on reviews and testamonials.
2. Ultra low cost. $5/month flat fee for 50MB storage and no transaction fees.

So far I have been extremely happy with my choice and in hindsight I am so glad I chose a service with no transaction fees. Spread over the cost of all my sales, that $5 is just a few pennies in transaction fees. E-junkie allows people to download the file with a unique link up to 5 times, provides email alerts to me, sends customizable confirmation emails to customers, and allow me to email customers (for a small additional fee). I was setup in about 10 minutes and it has worked flawlessly since day 1.

For payment I use paypal. I’ve used it for a long time and never had any issues with them. I’ve heard the horror stories of account freezes and such, but everything has been great. Paypal’s cut is 3% + $0.30, so on my $5.99 game the cost is $0.48. e-junkie integrated with paypal very easily and it had all the setup info I needed to accept payments through them.

Cost breakdown:
Hosting account: $8.25/month (I was already paying for this, but I’ll include it anyway)
Domain name: $1.08/month (if you’re buying hosting, you’ll get this included with the $8.25)
Checkout software: $5/month
Transaction fees: $0.48 per transaction
Total: $13.25 per month ($6.08 if you already have hosting and just need a domain)
Throughput per transaction is $5.51, so I need to sell 2.4 games per month (or 1.1) to break even.

With a cost structure this low I’ve already covered them for years.

I love the Internet.

Active vs Passive Interruptions

In all work environments people have to communicate. Sometimes they are across the hall and sometimes they are across the world, but in every case someone initiates the contact and the other must decide what to do. The Initiator must first choose the method, whether it’s a phone call, text message, email, etc.

Does your question really require an immediate response?

What makes these methods different is level of interruption of the person being contacted. If you take my call, I am not just asking a question. I’m also requesting that you remove yourself from the context of your current task and prepare an answer for me immediately. If an answer is not available, I at least want a response with an estimated time of when it can be answered. A question spoken out loud and in person is an even greater disruptor, since the receiver has almost no choice to ignore the question. These interruptions can be powerful detriments to productivity if it takes a certain amount of time for the receiver to reorient himself into his previous context. A recent study said these transactional costs can be up to “28 percent of a worker’s day.

A potential interrupter should ask themselves, “Does a quick answer to this problem justify a disruption in someone else’s time?” If not, use a more passive method of communication like email or text messaging to get the information you’re looking for. That way the receiver can answer them with the least disruption possible to their productive time. The interrupter should use the least disruptive communication method that results in getting an answer in the appropriate time.

In order of most interruptive to least:

  • Active: Asking a question out loud
  • Active: Phone calls
  • Active: Paging
  • Passive: Physical note left on desk
  • Passive: Text messages
  • Passive: Emails
  • Passive: Memo left in mailbox
  • Passive: Other passive electronic methods other than Email

It’s partly for this reason I have stopped taking voice mail on my land line at work. It used to be a dump for solicitors and rarely contained messages I needed. It took time to sort through and delete them and I also didn’t have access to it remotely like email. My greeting now says I don’t take voicemail and to please send me an email.

Your Boss Can Still See You on LinkedIn

I haven’t used LinkedIn for a while and have been bad mouthing it occasionally (I call it the social network for people who hate social networking), but lately it seems like everyone I meet through work is on there. ?I logged in and answered a few network?invitations and did a search on my own company. ?Some people must think that you would only be on LinkedIn if you wanted to leave your job, so they have a Private setting so your profile can’t be read. ?When I did a search on my company, it returned 4 private results, displaying which company they currently work for, their job titles, and their location.

In a company of about 80 people it’s pretty damn easy to figure out who they are.

If I were a less enlightened boss who didn’t understand the value of professional networking I might be more alarmed. ?I understand if someone leaves for a better opportunity then that’s an opportunity I couldn’t or didn’t want to give them. ?I’ve lost many good (and bad) people over the years, so I understand the reasons why people leave and try to put together the best team I can.

Your privacy settings don't count for much on LinkedIn

Hope your boss is as understanding as I am!

Add me to your network.

Opt In, Relevancy, and Marketing on Trust

I’ve been thinking a lot lately about marketing for two reasons. 1. I’m trying to figure out the best way to grow our business. 2. I just joined the board of directors of our industry trade organization, whose primary focus is putting on a yearly trade show.

Do traditional marketing campaigns (ads, trade shows, mailings, etc.) have a place in the future? If not, how long will they stay relevant? It’s one thing to be right that big trade shows are on the way out, but if you are 30 years too early on that prediction you wasted a lot of time. I think it’s something that has to be reevaluated on a yearly basis to see where the trends are heading. There is, however, some new concepts I’ve noticed in the last ten years that are driving these trends.

Where do you put trust in buying decisions?

1. The User Controls Their Input Stream: Does anyone get excited about receiving an email anymore? 99% of the postal mail I get goes directly into the trash or filed. But post a comment on my website and I will stop the world to read it. Mention me on twitter and I will follow you back forever. I can hide facebook statuses from oversharers and track threads I want to stay current on. I am a TiVo fanatic. Watching live TV is a painful experience. I will only use web browsers with ad blocking software. Notice a trend here? We love communication technology that allows us to filter, tailor, and focus our incoming data and everything else seems archaic. This concept will go places you never thought possible. Wouldn’t it be cool to only see the 3 or 4 items you want to see on a restaurant menu?

2. Our Standard for Relevancy is Getting Higher: Google built the biggest new tech company in the 21st century on search relevancy. It’s taken a while but we’re finally getting that level of relevancy away from the computer. My Garmin GPS will tell me every restaurant within 25 miles, but it can’t tell me which ones are good. Now that my phone can, it immediately makes my Garmin less useful. I have settled countless bar arguments with a quick search on some athlete’s age, actor’s role, or the number of Wawas in New Jersey. Right now we still appreciate these things and have an idea of where the limits are. Soon, we will so take it for granted that we will demand the answer to any question, at all times, about all subjects. Even complex ones like, “Where’s the 3nd cheapest sushi restaurant within 3 miles that has been rated highly by 3 friends or at least 30 people in my extended network.”

3. We Trust Ourselves, Our Friends, and the Crowd. No One Else.: The concept of brand loyalty is overrated. What we’re really saying is that we trust ourselves enough that if we liked a product in the past, our tastes and needs haven’t changed enough to make the experience any different. Try buying a car without “knowing a guy.” ?We constantly ask our friends about their phones, their cameras, and their TVs. Why? Because they have an incentive to make you happy (they are your friend) and no incentive to make you unhappy (they don’t gain anything if you are unhappy). Unless I had to, why would I ever want to make a decision based on a paid advertisement or endorsement? People have understood this on an intellectual level forever, but I think we’ve become so jaded with advertising that it is 2nd nature for us to be skeptical of all ads. The only problem was, if you or none of your friends ever used a particular product, how would you know which one to buy? In the past it was advertising, but now we have the crowd. Amazon, Yelp, and ebay all run on the idea that people will give away their opinions for free and that it will be too hard and expensive for businesses to buy the hundreds or thousands of people it would take to influence the crowd.

So how do ads and trade shows fit into these ideas?

Ads only work if a user allows them into his input stream. They should be highly targeted and relevant to what he wants. Even still, he won’t trust them if he knows they are ads. I think the only real way advertising will continue long term is by fostering your crowd of enthusiastic fans.

A person has to decide to visit a trade show, but once there they have to look at everything. ?It can be overwhelming, especially if the relevancy of what they’re looking for is a small percentage of what is being shown. The trust factor is very high because they can see and touch things for themselves and discuss them with friends. They can also judge “crowd” response by looking at other people who seem to be interested.

Later I’ll try to throw together some more ideas on how ads and trade shows can be tweaked to benefit from these concepts.