Saturday, January 15, 2022

"Don't Make Me Think" - Book Review and Summary


I recently finished reading "Don't Make Me Think" by Steve Krug. If I'm honest, this is just as much a reference for myself as sharing what I learned with you. The lessons are great and highly practical for anyone building a website. Krug works on the usability of websites - how easy a website is for a person to use - and goes deep on making it usable.



The Big Idea

Krug's first law of useability is: "Don't make me think." This means that "a Web page should be self-evident. Obvious. Self-explanatory" (p. 11). For example, "As a user, I should never have to devote a millisecond of thought to whether things are clickable—or not" (p. 15).


Reducing thinking is crucial because we don't read pages; we scan them. So you have to treat your page like a billboard on a freeway. As someone who likes to write long blog posts, that's a tough pill to swallow. But "If your audience is going to act like you're designing billboards, then design great billboards" (p. 27).


It's also important because users don't make optimal choices; we "satisfice" by choosing the first reasonable option. So, if you want a user to do something, it has to be at the top of the page and prominent.




How to Reduce Thinking

Krug gives some good ideas on making a page more obvious.



Take advantage of conventions

Links should look like links, and buttons should look like buttons, etc.

"If you're not going to use an existing Web convention, you need to be sure that what you're replacing it with either (a) is so clear and self-explanatory that there's no learning curve—so it's as good as the convention, or (b) adds so much value that it's worth a small learning curve. My recommendation: Innovate when you know you have a better idea, but take advantage of conventions when you don't" (p. 32).


This is also important for forms. The necessary part is collecting the information, not how cool it looks. Using conventional web forms helps users focus on the answers, and it also builds trust, which is required for someone to fill out a form accurately.



Create effective visual hierarchies

"A good visual hierarchy saves us work by preprocessing the page for us, organizing and prioritizing its contents in a way that we can grasp almost instantly" (p. 35).


These include big titles, noticeable subtitles, sections, and navigation.



Make it obvious what's clickable 

Krug keeps hammering this throughout the book.

"In general, you'll be fine if you just stick to one color for all text links or make sure that their shape and location identify them as clickable. Just don't make silly mistakes like using the same color for links and nonclickable headings" (p. 38).



Omit Needless Words

You want to format your content to support scanning. Remember, treat it like a billboard.


"In general, you'll want to use more headings than you'd think and put more time into writing them" (p. 39). And keep paragraphs short, use bulleted lists, and highlight key terms.


"Get rid of half the words on each page, then get rid of half of what's left" (p. 49). The advice is purposely excessive. In his experience, eliminating half the words on a page is easy. Reducing it further requires you truly understand visitors' minds and see the page through their scanning eyes.


Here's an example of eliminating words:

"Your objective should always be to eliminate instructions entirely by making everything self-explanatory, or as close to it as possible. When instructions are absolutely necessary, cut them back to the bare minimum" (p. 51).



Create Context With Well Designed Navigation

One problem with websites is that there's no physical sense of space. In a store, you have signs and can physically see what's next to each other. You can quickly find food vs. clothing vs. tools. And it's reasonably straightforward to drill down another level: freezer vs. cereal vs. drinks vs. etc.


However, you don't have that same sense of direction, location, or scale with websites. So to overcome it, you want straightforward navigation.


Krug goes deep into this area:

  • The logo should be upper right.
  • Utility placement (sign in, help, site map, shopping cart, etc.).
  • The role of search vs. menus (you want both).


Visit some bigger websites, and you'll quickly notice the conventions. Krug does have one note of warning:


"I think this is one of the most common problems in Web design (especially in larger sites): failing to give the lower-level navigation the same attention as the top. In so many sites, as soon as you get past the second level, the navigation breaks down and becomes ad hoc" (p. 73).


To overcome this problem: "It's vital to have sample pages that show the navigation for all the potential levels of the site before you start arguing about the color scheme" (p. 73). 


The following insight took me by surprise:


"Designers sometimes think, "Well, we've highlighted the page name in the navigation. That's good enough." It's a tempting idea because it can save space, and it's one less element to work into the page layout, but it's not enough. You need a page name, too." (p. 75).


So you do need to omit needless words, but page titles aren't one of them.


Finally, breadcrumbs are a form of "you are here" signs. They help create context in addition to helping you navigate. This is especially important if your website goes more than a couple of layers deep.



Create a Homepage For Your Visitors, Not For Yourself

Krug shares this amazing XKCD comic, which is so true it hurts.





Krug gets into the fine details of making a homepage: Where to put a tagline, how much of a welcome blub to use, and the proper use of "learn more."


"Don't feel compelled to mention every great feature, just a few of the most important ones" (p. 94).


This is another huge theme as well:

"[The Home page is] one of the most important things to test. You can't trust your own judgment about this. You need to show the Home page to people from outside your organization to tell you whether the design is getting this job done because the "main point" is the one thing nobody inside the organization will notice is missing" (p. 95).




Usability Testing Is Your Friend and Doesn't Need to Cost a Lot

Great design is complicated because there's no one correct answer. "All web users are unique and all web use is basically idiosyncratic" (p. 108)


"The point is, it's not productive to ask questions like "Do most people like pull-down menus?" The right kind of question to ask is, "Does this pull-down, with these items and this wording in this context on this page create a good experience for most people who are likely to use this site?" And there's really only one way to answer that kind of question: testing" (p. 109). 


Some of Krug's thoughts on testing:

  • If you want a great site, you need to test it.
  • Testing one user is 100% better than testing none.
  • Testing 1 user early in the project is better than testing 50 near the end.


And this doesn't have to be rocket science: "If you want to know whether something is easy enough to use, watch some people while they try to use it and note where they run into problems" (p. 115).



How Often Should You Test?

One morning a month.


You can test three users for an hour each, then debrief over lunch. The important part is to create a fixed schedule and stick with it.



How Many Users Do You Need?

"I think the ideal number of participants for each round of do-it-yourself testing is three" (p. 119).


The goal isn't to prove a point of view, but to give you actionable insights. And it's not to uncover every single problem. "You can find more problems in half a day than you can fix in a month... It's much more important to do more rounds of testing than to wring everything you can out of each round" (p. 119).



How Do You Choose Participants?

Interestingly, you don't want just domain knowledge experts. You want to cast a broad net - even people who know nothing about your industry. I liked this insight: "If 'almost anybody' can use it, your experts will be able to use it, too" (p. 121). It makes sense, but I'll admit that I didn't start there. After all, everyone starts as a beginner at some point, and you want them also to use your website.



How Do You Find Participants?

The usual places: Craigslist, Facebook, Twitter, customer forums, friends, and neighbors. A 1-hour session seems to be in the $50-$100 range. So, for $300 a month, you can get regular feedback on your website.



Where Do You Test?

You can do it in person or over Zoom. You do want to record the session so others can watch it. At Majordomo, we started with in-person testing and then switched to Zoom (with the rest of the world), and it seemed fine. It also made it easier to record since they shared their screen, and we hit the record button on our side.



What Do You Test?

It's never too early to start. Even if all you have is an idea, you can begin testing. For example, start with competitive websites to get a feel for what people like and dislike. Then move on to rough sketches, wireframes, prototypes, and finally actual pages.


The test itself is simple: get to know them (~10 minutes) and give them a set of tasks to complete (~35 minutes). For non-working pages, testers can point their fingers and explain what they would do.


Make sure the instructions are clear. Your job is to keep them focused and encourage them to think aloud.


"Don't ask them leading questions, and don't give them any clues or assistance unless they're hopelessly stuck or extremely frustrated. If they ask for help, just say something like 'What would you do if I wasn't here?' " (p. 126). 


Krug provides an example session in the book to see exactly how to run a test.



Deciding What To Fix

Focus on the most serious problem first. I liked this advice: "You don't have to fix each problem perfectly or completely. You just have to do something—often just a tweak—that will take it out of the category of 'serious problem' " (p. 138).


I also liked this advice:

"Resist the impulse to add things. When it's obvious in testing that users aren't getting something, the team's first reaction is usually to add something, like an explanation or some instructions. But very often the right solution is to take something (or some things) away that are obscuring the meaning, rather than adding yet another distraction" (p. 139).


"I tell people to ignore all comments that users make about colors during a user test, unless three out of four people use a word like "puke" to describe the color scheme. Then it's worth rethinking" (p. 169).



Final Advice Roundup

Krug finishes the book with a smattering of helpful advice:


  • "Know the main things that people want to do on your site and make them obvious and easy" (p. 170).
  • "Be upfront about things like shipping costs, hotel daily parking fees, service outages—anything you'd rather not be upfront about" (p. 170).
  • "Save me steps wherever you can" (p. 170). This is a massive advantage of the web over physical equivalents. Where can you use automation/prediction to make things easier?
  • Include candid FAQs, not Questions We Wish People Would Ask.
  • "Make it easy to recover from errors" (p. 171) because they will happen. Though, testing will help you eliminate the big ones.
  • Apologize: "If you can't do what they want, at least let them know that you know you're inconveniencing them" (p. 171).



Recommendation

That was a bit of a firehose, but it's all good! If you're doing any website or app development or design, I'll go as far as to say this is required reading. It's highly practical advice from someone in the trenches. It's not about creating something perfect or going through an official design process. It feels human and reasonable.


If all you do is follow his usability advice, you'll be in a much better place. If you invest in regular usability testing, you'll create a great website or app.



Monday, January 03, 2022

2022 Annual Letter: Significant Change


I ended last year's letter saying:

"I'm not anticipating any significant changes, but if God has other plans for us, we'll try to be ready and willing to make those changes."


Well, God indeed had other plans for us; we experienced a tectonic change going into the summer!



A New Job For Jessi: Children's Ministry Director

Life was comfortable in the first part of 2021. I managed our properties and worked on Majordomo. Jessi ran her in-home pre-school, Elinor started kindergarten, and Samson went to Jessi's school.


It was great!


We planed some extended trips since it seemed like the pandemic was becoming endemic, and things were opening up. We planned to spend a few weeks in Washington with Jessi's family, go on a few camping/backpacking trips, and finish the year with a trip to Disney World with my family. Plus, we started planning bigger/longer trips for 2022.


It was the American dream: spend lots of time with family and travel the world. Right?


And then God called Jessi into full-time ministry at our church as the children's ministry director.


It wasn't an easy decision:

  • Jessi would need to shut down her school.
  • I would need to watch the kids a lot more. It's good, but I had other commitments, like doing property maintenance and running Majordomo.
  • I also took over most of the household chores. Again, it's okay, but it also meant I'd need to work most Saturdays - when Jessi was around - work on the business. I'm not sure how households with two full-time parents pull it off!
  • We canceled all of our trips (my sister had a baby at the end of the year, which delayed our Disney plans, but we were glad for it). It's incredibly tough knowing that Jessi's parents are closer than ever, but our opportunities to visit are limited.
  • Jessi was looking forward to focused time with Samson since Elinor would be in school. Samson probably struggled the most in the transition.
  • Ministry issues would dominate our conversations like my old job used to.


For where we were at, it was a sacrifice!


But the rewards have also been great:

  • Most importantly, we know that we're living in the center of God's will for our lives.
  • It was a difficult transition, but we found Romans 5:3-5 to be true: "Not only that, but we rejoice in our sufferings, knowing that suffering produces endurance, and endurance produces character, and character produces hope, and hope does not put us to shame, because God's love has been poured into our hearts through the Holy Spirit who has been given to us."
  • Instead of impacting 10 kids, Jessi is now affecting many more, including their families and teachers.
  • We have a whole new set of friends that we're living life with and growing closer to.
  • I've enjoyed spending more time with the kids. They still like Mom more, though. :)





How Do You Know When To Make a Change?

We use prayer and wise counsel. We talked to a dozen people about this particular change and spent a few weeks in prayer.


I also think God wired us to pursue challenging and exciting things.


In The 4-Hour Workweek, Tim Ferriss notes that striving for "happiness" is too nebulous. Instead, aim for excitement! Think back to when you're "happiest," and it's likely when something exciting/different happened.


In Grit, Angela Duckworth notes that improvement - or positive change - comes from resistance. This is true of your muscles, mind, emotions, and spirit. Again, think back to how you got better at something. It was by pushing yourself in the gym or classroom. So, if you want to strive for positive excitement, you will inevitably need to step out of your comfort zone.


Finally, Hebrews 12:11 says, "For the moment all discipline seems painful rather than pleasant, but later it yields the peaceful fruit of righteousness to those who have been trained by it." This explicitly talks about a loving form of punishment as God's children. Still, I think it can also be applied to the general sense of practice and training. So, stepping out of your comfort zone will be painful in the short term. But not only will you experience positive excitement and happiness, but you'll actually experience peace, satisfaction, and joy.


How do you know when it's time for a change? Are you challenged in something? Are you seeking comfort and avoiding conflict? If so, it's time to ask God in prayer what his will is for your life and seek the counsel of people you look up to for advice.







New Schools

We also had an opportunity to switch Elinor to a nearby private Christian school, and it's been amazing! She's memorizing Bible verses, celebrating Christian holidays, and learning how to live life for Christ. And yet, she still gets to experience the realities of school: dealing with inappropriate behavior from classmates and coping with rigorous academic expectations.


Jessi and Samson have been able to serve in her classroom Friday mornings, and I think it's been good for everyone.


Samson also started at a new school three days a week. The transition was rough for him. I don't blame him - he used to spend every day with Mom! He's better now, and we're going to start sending him four days a week to prepare him for kindergarten next year.


The hardest part is that the school is 15 minutes away (her old school was 4 blocks away). I know it doesn't sound like much, but it's 15 minutes there, 15 minutes back, and ~15 minutes during the drop/off pickup transition. That's 45 minutes, twice a day! Or 7.5 hours a week! And the second one happens at 3pm, making it feel like the day was cut short.


At first, I couldn't figure out why I suddenly felt short on time. It wasn't until I did the math that I realized what was happening. Since then, I cut back on my commitments, and it's helped.






Reading Books

I read a lot of books last year. 19 total, plus a couple of others I'm in the middle of. Obviously, I'm not that busy. ;)


Actually, my trick has been to spend a little time reading each day. Here's how:


Step 1: Pick a book you want to read. I enjoy self-improvement, leadership, and strategy books - both business and spiritual. I also realized I like mainstream popular fiction; I'll probably like the book if they made it into a movie!


Step 2: Find a regular time to read. It doesn't have to be a long time. I read for 10-20 minutes most mornings. Plus, 15-30 minutes Monday and Tuesday night. I read ~1 page a minute. It doesn't sound like much, but that adds up to 5,000 pages a year! If a book is 250 pages on average, that's 20 books a year - the math checks out.


What if you only read 1 page every 2 minutes?

And you can only read 3 mornings a week?


You're still going to read 4-5 books a year. That's a big deal!


I have a secret: the more you read, the more you'll want to read, and your reading list will grow fast. I manage my reading list on Amazon, which is super helpful.


I also have an unlimited budget for books. So, if I'm interested in a book, I add it to my Amazon reading list. Then, when I finish a book, I review my list and pick a new one that looks interesting at the moment (Step 1). And I buy it. I don't even look at the price because I know I can afford 10-$30 for a book I know I'll read.







Discipleship

In Mid-2019, a wise, godly man started disciplining me. And I needed it. I had perfected the art of looking wise and Christ-centered. On the surface, I said and did the "right" things. I knew how to pray in a way that got the muffled "yes Lord" from others. I knew how to use logical arguments to "prove" my theology. And I served a lot, but it was because it was fun and I like feeling important.


God used everything I did for His good, but I was spiritually hollow. And what I didn't know was that spiritually mature people noticed. They're too respectful to characterize me that way, but it wasn't until after God disciplined and renewed me that people close to me started commenting. Praise God that in His kind providence he redeemed my heart!


So I'm fully mature now, right? By no means! (my favorite expression from the Apostle Paul)


I'm still working on letting Christ be the centerpiece of my life, which only the Holy Spirit can do.


Part of that journey is sharing what God has revealed to me with other men. We memorize scripture together, hold each other accountable in different aspects of our lives, and discuss a book on either doctrine or spiritual disciplines. It's been a privilege to share with other men, and this is something, Lord willing, I want to continue doing.







1031 Property Exchange

And the significant changes kept happening. On a cool February morning, I had a 6:30 meeting canceled at the last minute, so I decided to spend some time researching my rental property values. And much to my surprise - because I usually don't pay attention - many of my property's values went up.


But this created a new problem: I had a bunch of equity tied up.


Typically, when evaluating a property, you calculate your return on investment as

ROI = profit / money invested

So for a rental, it’s ROI = (annual after-tax net income + principal paid down + appreciation) / (down payment + out of pocket repair expenses)


But what if the property's value increases significantly?


According to this equation, it's a fantastic return.... on paper. You can't spend it unless you refinance or sell the property. It's similar to buying a stock that rises in value. Technically you make a lot of money, but you only realize it when you sell.


This was my problem. I had a potentially considerable ROI, but the only way to realize it was to sell or refinance.


So, I did some math and decided the best thing to do was sell 3 of my rentals - two duplexes and a single-family home - to capture that ROI and buy another one to convert that equity into future cash flow.


In rental real estate, there's an option to transfer the value gained from one property to another to defer paying the taxes on those capital gains. When you sell the final property, you pay capital gains taxes on it and any previous property's gain that you transferred to it. It can be a lot! Or, you never get out of rentals, and eventually, when it passes to your heirs, the gains reset - resulting in zero capital gains taxes paid. It's called a 1031 property exchange.


But there are a lot of rules around timing and selecting properties. I won't go into the details, but lining up all the transactions can be stressful.


Anyways, we did a 1031 of the three rentals into a set of warehouses (and an adjacent vacant lot, but it was technically outside the exchange). So now we're in the warehouse business and renting to business owners. I must say, it's nice working with companies.


Here's what it looks like:



The white buildings, plus the one under construction.


Inside one of them


The land




2021 Problems


J&J Mini-Storage

At the beginning of the year, our move-in process was too cumbersome. We figured out how to streamline and automate a lot of the process. There are still opportunities for improvement, but I would call this a success.



Majordomo

We focused on two areas: sales and scalability.


We developed an AI to read home inspections, identify defects, and select a repair to fix the defect. It took us most of the year to build it, but it worked really well and helped us scale our processing. We could use more data to train the AI model further, but it works. I jumped out of my chair in delight the first time I saw the results.


Unfortunately, sales didn't increase. We implemented an affiliate program, but it never really caught. We also tried a couple of other partnerships, but they didn't increase sales enough either.


It's a tough pill to swallow when you think you have a helpful product, but the market fit isn't quite there. We have some ideas to salvage the company, but the options are limited.



Writing

I did some writing, but it wasn't here. I contributed to the Majordomo Blog and helped write sales emails. I also started writing code, but that's about it. I still desire to write more, but running Majordomo and doing the 1031 took up most of my attention.





2022 Problems to Solve


Accounting Software

In the middle of the year, the payment platform I used for collecting rent was sold to a larger company and no longer worked for non-residential properties. So I had to jump ship. I'm not crazy about the one I'm using and am spending way too much time reconciling all my payments.


I looked into a couple of other options but didn't like any of them.


So, I'm solving my problem by building my own solution.


With the help of my brother, I sketched out what an ideal payment and accounting software would look like for me. We started building it and hope to have an MVP mid-year. I'm making it for myself, but I have a hunch I'm not the only one who could benefit from using accounting software optimized for small to medium landlords.


And who cares if nobody else uses it? At least it'll save me lots of time each month!


And along the way, I'm learning how to code in React with Tailwindcss for styling. At the very least, these are skills I'll be able to use for other projects.







Land Development

As I mentioned earlier, I purchased a piece of land next to the warehouses. It's right next to I-5 and zoned industrial. My plan is to develop it, but that's as far as I've taken it. So this year, I'd like to figure out what I want to do, how to do it, and how to pay for it. There are lots of problems to solve!


Here are my flash plans:







Closing Thoughts

So that was our year: three significant changes - a new job, new schools, new properties - and a few smaller changes. It was completely different than how I anticipated the year going! Thankfully, God didn't change and remained gracious to our family.


What's up for the year ahead? I'm not sure. Maybe there's travel, but maybe not. Maybe there will be more big changes, or maybe not. I'm taking things one week at a time while still looking ahead on bigger projects.