88 stories
1 follower

Give 40, Take 0

1 Share

A manager’s job is to protect their team’s time and attention.

Companies love to protect. They protect their brand with trademarks, their data and trade secrets with rules and policies, and their money with budgets, CFOs, and investments.

Companies protect a lot of things, yet many of them are guilty of one glaring omission. Too often, there’s something they leave wide open and vulnerable: their employees’ time.

Companies spend their employees’ time and attention as if there were an infinite supply of both. As if they cost nothing. Yet workers’ time and attention are the most precious resources we have.

Employees are under siege for their time and attention. They are sliced up by an overabundance of meetings, physical distractions in open workspaces, virtual distractions on their phones, and the expectation they’re available to anyone, anytime, for anything that’s needed.

If companies spent money as recklessly as they spend time, they’d be going out of business. And you can bet they’d find a way to put an end to that. But where’s their responsibility when it comes to the clock?

Time and attention are best spent in large blocks — large bills, if you will, not spare coins and small change. Yet what filters down to staff are just scraps of time in which they’re expected to do a wonderful, thorough job. No wonder people are working longer hours, late nights, and weekends. Where else can they find the uninterrupted time?

Think about it: When was the last time you had four straight hours to yourself at work, four hours not chopped up by meetings or discussion or conversation? You probably can’t remember. Or, if you can, it was probably on a plane or that one time you accidentally left your phone on your nightstand.

Many CEOs think being an enlightened, competitive company means you’re always on. Available all the time, for anyone. I believe that’s a dangerous, frivolous mindset. It causes people to burn out and resent work. It can even lead to their leaving.

As a business owner, I’ve come to realize that protecting my employees’ time and attention is one of the most important things I can do.

For example, we don’t have status meetings at Basecamp. We all know these meetings — one person talks for a bit and shares some plans, and then the next person does the same thing. They’re a waste of time. Why? While it seems efficient to get everyone together at the same time, it isn’t: Eight people in a room for an hour doesn’t cost one hour; it costs eight hours.

Instead, we ask people to write updates daily or weekly on Basecamp for others to read when they have a free moment. This saves dozens of hours a week, and affords people larger blocks of uninterrupted time. Meetings tend to break time into “before” and “after.” Get rid of those meetings and people suddenly have a good stretch of time to immerse themselves in their work.

I believe 40 hours a week is plenty to get great work done if you actually give people 40 hours a week to do it. Having them come in for 40 but giving them only 12 to themselves is like stealing 28 hours a week from someone. At Basecamp, we’ve made significant strides toward making sure 40 hours means 40 hours.

Remember, when you hire someone, you don’t own that person. When you think about a workweek as “company time,” you’re turning it into something the company owns. But really, it’s not company time — it’s the employee’s, to do work for the company. The company is paying people for their time, not to borrow the company’s time. It may sound like semantics, but it actually requires a pretty radical shift in thinking.

This article appeared in the March 2017 issue of Inc. Magazine. If you like it please let me know by clicking the ❤️ button below!

Give 40, Take 0 was originally published in Signal v. Noise on Medium, where people are continuing the conversation by highlighting and responding to this story.

Read the whole story
4 days ago
Share this story

Simple Little Use Case for `vmin`

1 Share

Viewport units are things like 10vw (10% of the viewport width) or 2vh (2% of the viewport height). Useful sometimes, as they are always relative to the viewport. No cascading or influence by parent elements.

There is also vmin, which is the lesser of vw and vh, and vmax, which is the greater. These values can be used for anything that takes a length value, just like px or em or % or whatever.

Let's take a look at a tiny design pattern that makes use of vmin.

A header block!

If we set the padding of an <header> like so:

header {
  padding: 10vmin 1rem;

We get some fixed padding (1rem) on the outsides, so for example text set inside there never actually touches the edges. We also get a header that sizes itself in what feels like an appropriate way depending on the screen real estate.

Large and in charge on large desktop views.
When there is less vertical room, it shortens up so that it isn't getting in the way of content.
Portrait mobile views seem balanced.
Small screen landscape
Super tall and narrow still feels right. Which it doesn't really factoring in just viewport height alone.

Sizing based on the minimum of the two browser window dimensions seems to feel right, rather than basing it solely on width or height.

Here's the demo.

Here's a video:

Simple Little Use Case for `vmin` is a post from CSS-Tricks

Read the whole story
4 days ago
Share this story

Just Another HTTPS Nudge


I was strongly reminded about the scariness of non-secure websites the other day.

I'm using Xfinity as an internet service provider, and they give you a device that is both a cable modem and a router.

Here's a tiny bit of backstory. I use a VPN, and I discovered that in using their modem directly, the VPN wouldn't work. I'm not sure why. I didn't dig into it very far, because I have a modem of my own I'd prefer to use. So I plugged that in, which worked... but not particularly well. The connection was spotty and slow, even right in my own house.

I think (maybe?) it was competing WiFi signals from the two routers sitting right next to each other. Don't quote me on that. The reason I think that is because, fortunately, I was able to turn off the router on the Xfinity device, and that solved the problem. Thde speed and connectivity was back. To their credit, it was really fast. The Xfinity device has a featured called "Bridge Mode" that is specifically for turning off the router so that you can use your own. I was able to enable that, use my own router, get the speed back, and connect to the VPN.

Win! That lasted for a few months. Then recently there was some weird big internet outage in our area. Xfinity notified us about it. They had to push some updates or something to our device, and that broke everything again. I struggled with it for days, but what ultimately worked was turning off Bridge Mode, and turning it back on again (isn't it always?).

In those in-between days, the only thing I could figure out to get online was to connect to the SSID "xfinitywifi" that this router seemed to be emitting. This "xfinity" network is unusual because it behaves kinda like a coffee shop or university hotspot in that it pops up that weird browser modal and you have to log in with your (Xfinity) credentials. It's a value-add kinda thing for their service. Their routers are dotted all over the place, so if you're a customer of theirs, you get internet ("for free") a lot of places. My fiance was at the doctor the other day, and she was using it there.

If that's the network you're connected to, Xfinity performs man-in-the-middle attacks on websites to send you messages. Here's an example of me just looking at a (non-secure) website:

Man-in-the-middle, meaning, this website had no such popup in its code. Xfinity intercepted the request, saw it was a website, and forcefully injected its own code into the site. In this case, to advertise an app and to tell you about security. Ooozing with irony, that.

If they can do that, imagine what else they can do. (Highly recommended listening: ShopTalk #250) They could get even more forceful with advertising. Swap out existing advertising with their own. Install a keylogger. Report back information about what you're doing and where you are. You might not even know if anything is happening at all.

This might seem a little tin foil hatish, but realize: they've already been incentivized to do this. All the incentive is there to keep milking value out of this superpower they have.

Some good news: Individual websites can stop this with HTTPS. That's a massively good step. With HTTPS, the traffic packets are encrypted and Xfinity can't read or manipulate them effectively. Through metadata, they might be able to guess what they are (e.g. know you're streaming a video and throttle speed), but there isn't much else they can do.

It's not just this one indiscretion, Xfinity also uses this tactic to send you other messages.

It's this double whammy of scary:

  • Seriously?! You require me to have a box in my house that broadcasts a public WiFi hotspot that I can't turn off? You're automatically opted into it, but you can turn it off.
  • Seriously?! You use that hotspot to perform man-in-the-middle attacks on anybody using it?

I'm sure it's not just Xfinity, it's just that's what I'm using now and have now seen it with my own eyes. To be clear, I'm sure I signed something that allows them to do everything they are doing and I don't think anything they are doing is technically illegal (again, don't quote me on that).

Being upset at them, and telling them about it, is a good step. Fighting back is another. Internet access is vital, so you have to use something, but if you have an option, is there an ISP that doesn't do this available to you? Use them. Money talks.

Again, HTTPS solves this on a per-website basis. Jeff Atwood sums this up pretty well:

  1. You have an unalienable right to privacy, both in the real world and online. And without HTTPS you have zero online privacy – from anyone else on your WiFi, from your network provider, from website operators, from large companies, from the government.

  2. The performance penalty of HTTPS is gone, in fact, HTTPS arguably performs better than HTTP on modern devices.

  3. Using HTTPS means nobody can tamper with the content in your web browser. This was a bit of an abstract concern five years ago, but these days, there are more and more instances of upstream providers actively mucking with the data that passes through their pipes. For example, if Comcast detects you have a copyright strike, they'll insert banners into your web contentall your web content! And that's what the good guy scenario looks like – or at least a corporation trying to follow the rules. Imagine what it looks like when someone, or some large company, decides the rules don't apply to them?

The move to HTTPS is non-trivial, and introduces somewhat complicated dependencies. It's easy to forget to renew your certificate and break your entire website just like that. I'm not arguing against HTTPS (exactly the opposite), but you should know that it requires some upfront work and some diligent maintenance.

If you're on WordPress like me, I wrote up how I moved to all-HTTPS going on two years ago. It involved a little database work even, getting URL's pointing to the right places.

SSL certificates (the main prerequisite for HTTPS) also have traditionally cost money. No more! Let's Encrypt is here:

Lets Encrypt is a free, automated, and open Certificate Authority.

There is an in-progress WordPress plugin for it. Let's hope that gets off the ground. Just a few days ago I used the Let's Encrypt Plesk extention to put HTTPS on ShopTalk's website and it took me like 5 minutes. I'll have to write that up soon.

Also check out the really excellent Moving To HTTPS Guide:

A community site to help site owners migrate to HTTPS with a simple tested process. Allowing you to filter the plan based on multiple platforms (WordPress, Magento, and more), hosting environments (cPanel, Apache, and more) along with the level of control / access you have over the site.

Just Another HTTPS Nudge is a post from CSS-Tricks

Read the whole story
4 days ago
Share this story

Are you Sure?

1 Share

Considerate software doesn’t second-guess.

I was Twittering away the other day, and Prettier came across my feed. Prettier turns the conceptual moorings of lint on their head. Instead of “Well, actually”-ing you when you make a commit and forcing you to fix whatever pedantic issues it’s squawking about, it just… fixes them.

As you can guess, I have an uneasy relationship with lint. I value what lint brings to the table, but I don’t like my tools saying, “You need to do x before I’ll do what you want.” Who’s serving who here? You’re a hammer. Swing.

This is a niche example of software behaving inconsiderately. A common example takes the form of three words guaranteed to upend the user / tool power dynamic with every invocation: “are you sure?”

It seems like an innocuous enough question to ask before you complete an action on their behalf, but think about how it would play out in real life.

Person A: “I’ve got my hands full with all this stuff. Mind opening the door?”

Person B: “Are you sure you want to open the door?”

Person A: “Uh, yeah. I wouldn’t have asked if I wasn’t.”

Person B: “OK, I’ll open the door.”

Person A: “Great, can you close it after me? I don’t want the dog to get out.”

Person B: “Are you sure you want me to close the door?”

Person A: “I really fucking hate you right now.”

You’d never do this in real life, but it happens all the time in software. Alan Cooper nails exactly what’s wrong with this question in his seminal book, About Face:

Interactive products should stand by their convictions. If we tell the computer to discard a file, it shouldn’t ask, “Are you sure?” Of course we’re sure; otherwise, we wouldn’t have asked. It shouldn’t second-guess us or itself.
On the other hand, if the computer has any suspicion that we might be wrong (which is always), it should anticipate our changing our minds by being prepared to undelete the file upon our request.
How often have you clicked the Print button and then gone to get a cup of coffee, only to return to find a fearful dialog box quivering in the middle of the screen, asking, “Are you sure you want to print?” This insecurity is infuriating and the antithesis of considerate human behavior.— Alan Cooper

Self-confidence is one dimension of Cooper’s core design principle: Software should behave like a considerate human being.

What are some of the other dimensions that make a human (and software) considerate? They use common sense, don’t ask a bunch of unnecessary questions, keep you informed, help you avoid awkward mistakes, fail gracefully, anticipate the needs of others, and are preceptive and conscientious.

If you’re trying to make considerate software, don’t ask your user if they’re sure. Assume they’re competent humans who mean what they intend. If the action is potentially destructive, give them a way to gracefully recover if they change their mind (undo/redo, archive states, auto-save drafts, etc).

If you’ve fallen into the “Are you sure?” trap, well, welcome to the club. I certainly have, and so have a bunch of others. Sometimes you don’t realize you’re doing something inconsiderate, and sometimes time and money dictate other choices.

But next time you find yourself reaching for that question, take a step back and think about what you’re trying to accomplish. Do you really need to ask the user that? Is there another approach you could take that would be more considerate? If so, take it. You’ll be rewarded with more satisfied customers for your effort.

Are you Sure? was originally published in Signal v. Noise on Medium, where people are continuing the conversation by highlighting and responding to this story.

Read the whole story
11 days ago
Share this story

“lives in a sort of purgatory”

1 Share

Brad Frost:

A front-end designer ... lives in a sort of purgatory between worlds:

  • They understand UX principles and best practices, but may not spend their time conducting research, creating flows, and planning scenarios
  • They have a keen eye for aesthetics, but may not spend their time pouring over font pairings, comparing color palettes, or creating illustrations and icons.
  • They can write JavaScript, but may not spend their time writing application-level code, wiring up middleware, or debugging.
  • They understand the importance of backend development, but may not spend their time writing backend logic, spinning up servers, load testing, etc.

A front-end developer is aware.

Direct Link to ArticlePermalink

“lives in a sort of purgatory” is a post from CSS-Tricks

Read the whole story
32 days ago
Share this story

Why we choose profit

1 Share

We’re outspoken about running a profitable company in an industry that so often eschews profits for potential. So why? People ask us why all the time. Why choose profit?

So I thought I’d detail some of the reasons why we designed Basecamp, our company, to be profitable as quickly and consistently as possible. And 17 years into it, we’ve been profitable for 17 years straight. Being profitable is a feature of our company (companies are products too).

To set some context, since we launched the company in 1999, our revenues have grown every year (2016 being our best year yet), and for years we’ve been generating millions in annual profits. We currently have just 51 people at the company (the most people we’ve ever had).

Reasons, in no particular order

A non-comprehensive list, but a complete-enough one:

No one ever went broke taking a profit. Unlike companies that reinvest all or most of the money back into the company every year, we take money (profit) out every year in the form of distributions (we’re an LLC). This means every year we take risk out of the company. Companies that keep reinvesting keep adding risk to their companies. If the shit hits the fan one day, and the company ceases to exist, we’ll have enjoyed the upside as we went, vs. never if all the reinvestment didn’t lead to an outcome which is greater than the annual distributions. And since most companies die smaller than they were at their peak, the chance the unrealized future will be better than the certain now is slim. Basically, we work to enjoy the now we have, not the future we don’t. Fuck deferred living.

Profit buys you time and flexibility. Profit is the ultimate flexibility because it buys you the ultimate luxury: time. As long as you remain profitable, you can go in any direction you want and take as much time as you need. But if you can’t generate enough of your own cash through operations, and you have to go outside to borrow or sell off pieces of your company to generate the cash you need to continue, then the ones you owe are the ones who own your time. If someone else owns your time, you aren’t free. And if you aren’t free, you can’t be flexible. We value flexibility above almost anything else.

Profit is true vertical integration. Cash is an unusually special raw material because you can transform it into anything (cash is basically like a stem cell). And when you make your own, you can use it any way you want, no strings attached. You can take it all home. You can give it all to your employees. You can put it back into the business. You can do stupid shit with it since it’s your shit. But when you have to source raw materials from a very limited number of suppliers (investors), the money comes with all sorts of strings attached. Money with strings attached isn’t really yours, it’s someone else’s property that you’re renting on their terms. We prefer to own.

We don’t care about valuation. If generating revenue can hurt your valuation, making a profit can have an even more deleterious effect. But we couldn’t give a shit. We don’t know what we’re worth and we don’t care. The fewer things you have to worry about that don’t affect your day to day, your customer’s experience, and the actual operating of your business, the more energy you can put into the business itself. We spend zero hours a year on valuation and fake-number nonsense. I’ve seen far too many founders spend countless hours pitching for money, marking up term sheets with lawyers, fixating on cap tables, sweating over other people’s make-or-break decisions, etc. Fuck all that. What an enormous waste of time and energy.

Profit is the ultimate shield against bullshit. When you’re profitable you don’t have to play games, succumb to substitutional metrics, cross your fingers, or grovel for other people’s money, validation, or acceptance. You simply make more money than you spend — and run a fundamentally sound, economics 101 business. When profit’s a requirement, it becomes a lot harder to step in the bullshit.

Profit protects you from your ego. One of the easiest things to do in business is get ahead of yourself. To feel so grand! To be obsessed with growth and potential and “if only…”. To hire too many people, to take on too much rent, to do one too many things, to complicate your business by tying strings around your money. The list goes on. But when you set out to be a profitable company, you watch your costs. You don’t hire that extra person if you can’t afford them. You don’t get into an office space that’s too big for you. You don’t sign a long-term lease that you can’t afford. You don’t sink a pile of money into things just because you can, you consider your spends more carefully. There’s nothing easier than spending other people’s money — and that should concern you. When you’re running on your money, and you want to make sure you have some left at the end of the year, you spend it wisely. You build good, responsible habits this way. Profit creates reasonable borders and boundaries, and that’s a very healthy thing — especially early on.

All we owe is our best effort. When you’re profitable and debt free, you don’t owe anyone anything other than your best efforts. And who do we owe that to? Ourselves and our customers. The peace of mind, clarity, and calm that comes with that is immeasurable.

$1 in profit is the ultimate FU money. I typically don’t like the term “fuck you money” — it’s so in-your-face ugly — but I’m going to use it to make a point. Typically when people talk about FU money, they think about millions. Once you have millions you have FU money. Well, actually, all you need is $1 in annual profit. Because once your company is self-sustaining and profitable, and you don’t owe anyone anything (in my book, if you owe money you aren’t truly profitable), then you can say FU to just about anything. You don’t need to do anything you don’t want to do when you don’t have to rely on anyone else to be sustainable. You don’t have to dance on anyone else’s stage, or play by anyone else’s rules. FU money isn’t about buying an island, it’s about being an island — your own sustainable entity.

Profits provide insulation. When tastes change, when trends shift, when the markets flutter, funding freezes up. That happens whether your particular business is unaffected or not. And you might well be caught out in the cold and freeze to death. Remember 2008? 2009? The nuclear winters of funding? Those were some of our best years! Profits insulated us from jittery investors, and our customers still kept paying for Basecamp.

Profits are just simpler. We’re still an LLC at Basecamp. The simplest pass-through structure you can have at our size. That means fewer lawyers, fewer accountants, less paperwork, less hoop-jumping. Our books are so silly simple, our operating agreement hasn’t changed in a decade. Keeping your corporate structure this lean means making time for much more interesting things, like building a better product. Having all of the company focused on either making a better product or supporting a better product. There’s no CFO at Basecamp. There’s no accounting department. Our amazing office manager Andrea can handle all that in concert with Ann, our accountant of 17 years.

Profits focus the mind. There are so many things we could do as a company, but far less that really constitute the essence of why we’re here. Profits helps us concentrate on what to do and what not to do. It helps us shed things beyond the scope, it helps us keep the company fit, without accumulated layers of fat from chasing a thousand potential directions at once.

Profits have gotten a bad rep. They’ve gotten maligned together with “creating shareholder value”. Could there be a more uninspiring mission for a business? So it’s no wonder that profits have gotten a bad rep, but it’s unwarranted and disproportionate. Profits should sue for slander!

Having a profitable business doesn’t mean squeezing the lemon for every last bitter drop. It isn’t all or nothing. You can be profitable and generous. Profitable and fair. Profitable and kind. These aren’t opposite ends of some moral spectrum. Quite the contrary.

It’s EASIER to be generous when you’re doing well. It’s EASIER to be fair when there’s enough. It’s easier to be kind when it’s not tipping you over the edge.

Why we choose profit was originally published in Signal v. Noise on Medium, where people are continuing the conversation by highlighting and responding to this story.

Read the whole story
32 days ago
Share this story
Next Page of Stories