Back to windows after twenty years

Apple’s stubborn four-year refusal to fix the terminally broken butterfly keyboard design led me to a crazy experiment last week: Giving Windows a try for the first time in twenty years.

Not really because I suddenly had some great curiosity about Windows, but because Apple’s infuriating failure to sell a reliable laptop reluctantly put me back in the market. So when I saw the praise heaped upon the Surface Laptop 3, and particularly its keyboard, I thought, fuck it, let’s give it a try!

Looks good, doesn’t it?

The buying experience was great. There was nobody in the store, so with four sales people just standing around, I got immediate attention, and typed away a few quick sentences on the keyboard. It felt good. Nice travel, slim chassis, sleek design. SOLD!

The initial setup experience was another pleasant surprise. The Cortana-narrated process felt like someone from the Xbox team had done the design. Fresh, modern, fun, and reassuring. Apple could take some notes on that.

But ultimately we got to the meat of this experience, and unfortunately the first bite didn’t quite match the sizzle. The font rendering in Windows remains excruciatingly poor to my eyes. It just looks bad. It reminded me of my number one grief with Android back in the 5.0 or whenever days, before someone at Google decided to do font rendering right (these days it’s great!). Ugh.

I accept that this is a personal failure of sorts. The Windows font rendering does not prevent you from using the device. It’s not like you can’t read the text. It’s just that I don’t enjoy it, and I don’t want to. So that was strike one.

But hey, I didn’t pluck down close to $1800 (with taxes) for a Windows laptop just to be scared off by poor font rendering, right? No. So I persevered and started setting up my development environment.

See, the whole reason I thought Windows might be a suitable alternative for me was all the enthusiasm around Windows Linux Subsystem (WSL). Basically putting all the *nix tooling at your fingertips, like it is on OSX, in a way that doesn’t require crazy hoops.

But it’s just not there. The first version of WSL is marred with terrible file-system performance, and I got to feel that right away, when I spent eons checking out a git repository via GitHub for Windows. A 10-second operation on OSX took 5-6 minutes on Windows.

I initially thought that I had installed WSL2, which promises to be better in some ways (though worse in others), but to do so required me to essentially run an alpha version of Windows 10. Okay, that’s a little adventurous, but hey, whatever, this was an experiment after all. (Unfortunately WSL2 doesn’t do anything to speed up work happening across the Windows/Linux boundary, in fact, it just makes it worse! So you kinda have to stick with Linux tooling inside of Linux, Windows outside. Defeating much of the point for me!).

So anyway, here I am, hours into trying to setup this laptop to run *nix tooling with Windows applications, running on the bleeding edge of Windows, digging through all sorts of write-ups and tutorials, and I finally, sorta, kinda get it going. But it’s neither fast nor pleasant nor intuitive in any way. And it feels like my toes are so stubbed and bloody by the end of the walk that I almost forgot why I started on this journey in the first place.

I mean, one thing is the alpha-level of the software required to even pursue this. Something else is the bizarre gates that Microsoft erects along the way. Want to run Docker for Windows on your brand new Surface Laptop 3? Sorry, can’t do that without buying an upgrade to Windows Pro (the $1800 Surface Laptop 3 apparently wasn’t expensive enough to warrant that designation, so it ships with the Home edition. Okay, sheesh).

The default Edge browser that ships with Windows 10 is also just kinda terrible. I clocked a 38 on the Speedometer 2.0 test, compared to the 125 that my MacBook Pro 13 ran with Safari. (But hey, there’s another beta version of Edge, the one that now uses the Chrominum rendering engine, and that got it to a more respectable 68.)

Anyway, I started this experiment on a Monday. I kept going all the way through Friday. Using the laptop as I would any other computer for the internet, and my new hobby of dealing with the stubbed toes of setting up a *nix development environment, but when I got to Saturday I just… gave up. It’s clearly not that this couldn’t be done. You can absolutely setup a new Windows laptop today to do *nix style development. You can get your VS Code going, install a bunch of alpha software, and eventually you’ll get there.

But for me, this just wasn’t worth it. I kept looking for things I liked about Windows, and I kept realizing that I just fell back on rationalizations like “I guess this isn’t SO bad?”. The only thing I really liked was the hardware, and really, the key (ha!) thing there was that the keyboard just worked. It’s a good keyboard, but I don’t know if I’d go as far as “great”. (I still prefer travel, control, and feel of the freestanding Apple Magic Keyboard 2).

What this experiment taught me, though, was just how much I actually like OSX. How much satisfaction I derive from its font rendering. How lovely my code looks in TextMate 2. How easy it is to live that *nix developer life, while still using a computer where everything (well, except that fucking keyboard!) mostly just works.

So the Surface Laptop 3 is going back to Microsoft. Kudos to them for the 30-day no questions return policy, and double kudos for making it so easy to wipe the machine for return (again, another area where Apple could learn!).

Windows still clearly isn’t for me. And I wouldn’t recommend it to any of our developers at Basecamp. But I kinda do wish that more people actually do make the switch. Apple needs the competition. We need to feel like there are real alternatives that not only are technically possible, but a joy to use. We need Microsoft to keep improving, and having more frustrated Apple users cross over, point out the flaws, and iron out the kinks, well, that’s only going to help.

I would absolutely give Windows another try in a few years, but for now, I’m just feeling #blessed that 90% of my work happens on an iMac with that lovely scissor-keyed Magic Keyboard 2. It’s not a real solution for lots of people who work on the go, but if you do most of your development at a desk, I’d check it out. Or be brave, go with Windows, make it better, you pioneer, you. You’ll have my utter admiration!

Also, Apple, please just fix those fucking keyboards. Provide proper restitution for the people who bought your broken shit. Stop gaslighting us all with your nonsense that this is only affecting extremely few people. It’s not. The situation is an unmitigated disaster.

A Hosty Retreat

Basecamp has taken a clear stance against tracking on the web, so when we learned (via a tweet to DHH) that our podcast hosting provider had introduced listener-targeted advertising, we decided to decamp to a different company. On the latest episode of the Rework podcast, Wailin talks to Lex Friedman, chief revenue officer of Rework’s old podcast host, about what they’re doing with targeted ads. Then she talks to Justin Jackson, co-founder of our new podcast host, about how he’s approached building his startup.

Meet Andy

Basecamp’s new head of marketing, Andy Didorosi, comes on the Rework podcast to talk about how he started a bus company in his hometown of Detroit to help fill a gap in public transit; what he learned about building a business with a “buy one, give one” social mission; and why he left the company he founded to join Basecamp.

If you missed our previous episode on hiring a first-ever head of marketing, you can catch up here!

Skip level meetings: What they are, and exactly how to run them

If you manage other managers, holding skip level one-on-one meetings with their direct reports is paramount. Here’s how to do ’em.

If you’re a manager of managers, skip level meetings are your lifeline. I don’t mean to sound bombastic, but if you’re a CEO, executive, or director who manages other managers – then skip level meetings are an essential way to keep your ears on the ground.

Skip… what? If you’re anything like me, when I first heard the term “skip level meeting,” I was befuddled. Yes, I held one-on-one meetings with my team. But as the team grew and I had a manager who had someone else reporting to them… I wasn’t talking to their direct report with any regularity. How was I supposed to ever learn what that team members was thinking and feeling about the company if I never talked with them?

Keep reading “Skip level meetings: What they are, and exactly how to run them”

Basecamp no longer requires Google for two-factor authentication

When it became clear to us last year that using SMS for two-factor authentication (2FA) was insecure, we kinda panicked. We’d spent a lot of time originally building that SMS-based 2FA login system for Basecamp, and the prospect of having to build an entirely new system compatible with proper authentication apps seemed daunting. Especially with major security liability hanging over our head.

So we went the easy route, and handed the 2FA authentication flow over to Google, using their Google Sign-In APIs. Now, that certainly gave us an immediate and secure solution. Nobody is disputing that Google knows security.

But requiring people to have a Google account to get a 2FA-protected Basecamp was an uncomfortable compromise. There are about a million good reasons for why you wouldn’t want Google to know everything about when you log into apps all over the internet. Google’s business is literally based on collecting as much data as possible, so it can use it all against you for ad targeting. That’s just not a regime we feel comfortable encouraging, let alone requiring.

So I’m thrilled to announce that we got our shit together and built our own, wonderful, and secure 2FA login protection for Basecamp. Google Sign-In still works, but it’s deprecated, and we’ll no longer be recommending it going forward.

Our new secure 2FA solution is built on the TOTP standard with backup codes as a fallback. So you can use any TOTP compatible authentication app, like Authy, 1Password, or Duo, and it works for all versions of Basecamp (here’s how to set it up in Basecamp 3 and Basecamp 2), as well as our legacy apps Highrise, Backpack, and Campfire.

Big kudos to Rosa Gutiérrez from our Security, Infrastructure & Performance team for putting our fears about doing our own TOTP-based 2FA system to shame. She led the project, did the work, and the final result is just great.

Finally, it feels good to have one additional area of the business free from Big Tech entanglement. We also dumped Google Analytics a few months back from Basecamp.com (relying on Clicky.com instead), and we’ll continue the work to untangle ourselves from Google and the rest of the industry behemoths. It’s a long slog, it’s unlikely ever to be fully complete, but every little bit helps.

Oh, and please, if you haven’t already, turn on 2FA to protect your Basecamp account. And if you aren’t already, use a password manager, like 1password. If you’re reusing a password on Basecamp, and you’re not protected by 2FA, you’re at a grave risk of having your account compromised. We work hard to protect everyone at Basecamp, but nothing will protect you online like using 2FA and a password manager everywhere you go.

The 5 mistakes you’re likely making in your one-on-one meetings with direct reports

Don’t waste your time. Make sure you’re getting the most out of your one-on-one meetings with your direct reports. 

You’re feeling good: You’ve started to hold regular one-on-one meetings with direct reports. But have you paused to ask yourself, lately, “Am I making the most of them?”

The question is worth asking. One-on-one meetings with direct reports can have a surprisingly large impact on your team’s performance. In Google’s widely known 2009 manager research code-named “Project Oxygen,” they found that higher-scoring managers were more likely than lower-scoring managers to have frequent one-on-one meetings with their team members.

Our own survey results revealed a similar narrative: After surveying 1,182 managers and 838 employees from all over the world this past year, 89% of managers said that one-on-meetings positively affect their team’s performance – and 73% of employees said that one-on-one positively affect their team’s performance, as well. For both managers and employees, the majority of them think of quite highly of one-on-one meetings.

Keep reading “The 5 mistakes you’re likely making in your one-on-one meetings with direct reports”

Q&A: How do I win in a packed category?

Today I got an email from a fellow who asked:

I’ve been trying to think about my next B2B play but everytime I think of an idea I stop myself due to how saturated the markets are. How do you still win in a packed category? I feel like it’s a lot harder to win now than it was 10 years ago.

-J.B.

Starting something new can definitely be intimidating. Especially when there are already lots of other people/companies with a huge head start. I feel you.

But I’m going to ignore all that and focus on what I think is the bigger concern with the mindset represented in the email: This person asks “How do you still win in a packed category?”

Winning what? Winning who? Winning it all? Taking everything? That’s an insurmountable mountain of intimidation right there. Don’t do that to yourself.

How about just making something that can sustain itself? Why do you need to win it all? Why would you ever want to make it that hard on yourself?

Build something good, keep your costs low, keep your growth in check, hold back your expectations, find some customers, charge them money for your good/services, make more than you spend, and you’ll buy yourself another day, or week, or month, or year in business. Just aim to stay open, don’t aim to win anything from anyone. Staying afloat is a win for yourself.

Just start there. The odds are still against you, but they’re a whole lot better than trying to win it all.

Nevermore, Amazon

In the spring of 2019, Danny Caine, the owner of the Raven Book Store in Lawrence, Kansas, overheard a customer saying she could buy a new hardcover online for $15. Danny took to Twitter to explain the economics of independent bookstores and the thread went viral, putting the 32-year-old small business in the national spotlight. Danny comes on the Rework podcast to talk about why his activism and outspoken stance against Amazon haven’t just felt right, but been good for business too.

Open source and power with Matt Mullenweg

Yup, I put the graphic back in

A couple of weeks ago, Automattic announced it had raised $300 million from Salesforce Ventures in a Series D round. In an interview with TechCrunch, Automattic founder and CEO Matt Mullenweg said:

“I think there’s potential to get to a similar market share as Android, which I believe now has 85% of all handsets. When you think about it, open source has a virtuous cycle of adoption, people building on the platform and more adoption.”

That comment kicked off a Twitter discussion between Matt and David Heinemeier Hansson about funding and tech monopolies. Then, in a rare example of Internet discourse taking a positive turn instead of devolving into a Godwin’s Law-fueled nightmare, Matt and David got on the phone to keep the debate going. We recorded their conversation and released it as the newest episode of the Rework podcast.