The silhouettes and imagined dystopia of work was bad. Images of real people prioritizing their Merchandise Update over their family on a Skype call is just fucking horrendous.
Signal vs. Noise is a founding member of The Deck advertising network
When evaluating a redesign, your first instinct is to compare the new design to the old design. But don’t do that.
The first step is to understand what you’re evaluating. If you just put the new design up against the old design, and compare the two, the old design will strongly influence your evaluation of the new design.
This is OK if nothing’s changed since the original design was launched. But it’s likely a lot has changed since then – especially if many months or years have passed.
Maybe there are new insights, maybe there’s new data, maybe there’s a new goal, maybe there’s a new hunch, or maybe there’s a whole new strategy at play. Maybe “make it readable” was important 3 years ago, while “help people see things they couldn’t see before” is more important today. Or maybe it’s both now.
But if the old design sets the tone about what’s important, then you may be losing out on an opportunity to make a significant leap forward. A design should never set the tone – ideas should set the tone. Ideas are independent of the design.
So, when evaluating a redesign you have to know what you’re looking for, not just what you’re looking at. How the new design compares to the old may be the least important thing to consider.
It’s a subtle thing, but it can make all the difference.
An important ingredient in the caching to the max recipe is sharing caches between users. When cache keys are free of user-specific attributes, requests are far more likely to hit a warm cache and remain snappy.
This cache sharing constraint means we can’t render local times. If we did, the time would be cached correctly for the first viewer and incorrectly for everyone in a different time zone.
<time> tags in UTC time and then convert them client-side to the browser’s local time. We’ve been doing it this way since Basecamp launched and it has served us well.
We don’t want to be the only ones enjoying this so I plucked all the relevant bits from Basecamp and packaged them up. Here you go.
Find more opportunities at We Work Remotely.
One of the key strategies we use to keep the new Basecamp as fast as possible is extensive caching, primarily using the “Russian doll” approach that David wrote about last year. We stuffed a few servers full of RAM and started filling up memcached1 instances.
A few times in the last two years we’ve invalidated large swaths of cache or restarted memcached processes, and observed that our aggregate response time increases by 30-75%, depending on the amount of invalidation and the time of day. We then see caches refill and response times return to normal within a few hours. On a day-to-day basis, caching is incredibly important to page load times too. For example, look at the distribution of response time for the overview page of a project in the case of a cache hit (blue) or a miss (pink): Median request time on a cache hit is 31 milliseconds; on a miss it jumps to 287 milliseconds.
Until recently, we’ve never taken a really in-depth look at the performance impact of caching on a granular level. In particular, I’ve long had a hypothesis that there are parts of the application where we are overcaching; I believed that there are likely places where caching is doing more harm than good.
Hit rate: just the starting point
From the memcached instances themselves (using memcache-top), we know we achieve roughly a 67% hit rate: roughly two out of every three requests we make to the caching server has a valid fragment to return. By parsing2 Rails logs, we can break apart this overall hit rate into a hit rate for each piece of cached content.
Unsurprisingly, there’s a wide range of hit rates for different fragments. At the top of the heap, cache keys like
views/projects/?/index_card/people/?3 have a 98.5% hit rate. These fragments represent the portion of a project “card” that contains the faces of people on the project:
This fragment has a high hit rate in large part because it’s rarely updated—we only “bust” the cache when someone is added or removed from a project or some other permissions change is made, which are relatively infrequent events.
At the other end of cache performance with a 0.5% hit rate are
views/projects/?/todolists/filter/? fragments, which represent the filters available on the side of a projects full listing of todos:
Because these filters are based on who is on a project and what todos are due when, the cache here is busted every time project access or any todo is updated. As a result, we rarely have a cached fragment available here, and 99 times out of 100 we end up rendering the fragment from scratch.
Hit rate is a great starting point for figuring out what caching is likely effective and what isn’t, but it doesn’t tell the whole story. Caching isn’t free – memcached is blazingly fast, but you still incur some overhead with every cache request whether you get a hit or a miss. That means that a cache fragment with a low hit rate that is also quick to render on a miss might be better off not being cached at all — the costs of all of the misses (the fruitless memcache request) outweigh the benefits of a hit. Conversely, a low hit rate isn’t always bad—a template that is extremely slow to render might still benefit on net even if only 10% of cache requests are successful.
Calculating net cache impactContinued…
Name: Christopher Johns
Title: Commercial Director
Company: Aardvark London
Number of employees: 17
Basecamp customer since: 2004
Tell us a little about Aardvark — what kind of work do you do?
We’ve got two sides of the business. One is the digital agency where we design, build and support the digital experiences for clients. (See examples here.) The other sides is our eCRM platform called Nudge. That’s the back end, effectively, for all our client websites. It manages customer inquires, email marketing, customer communications and customer database and behavioral tracking as well.
You’ve been using Basecamp for a long time, more than 9 years. Do you remember how you first found out about it?
There had been quite a lot of buzz … I think Mike Arrington of TechCrunch had written something about Basecamp. At that time, we were growing and looking for ways to manage our client expectations and their projects. It seemed like a no-brainer, an easy way for everyone to track what’s going on and get customer buy-in as well.
What kinds of problems were you having with managing client expectations?
In what we do, there’s a lot of going back and forth with clients, and various people within various positions. So you might be speaking to the digital marketing person, the head of operations, the head of marketing. Historically, you would have done things via email. You would have sent someone a concept or something, and said “What do you think of this concept?” You’d CC three people on that email, and have three people coming back with comments, some of which are conflicting. Then you start replying to those and indenting your comments on their original comments. Pretty soon, you know what it’s like; everything gets lost. The original sort of thrust, the momentum, of the project gets bogged down in trying to manage the communication between you and these disparate parties.
Clients may not be as technically proficient as you want them to be. My son is 12 and my youngest is three. The three-year-old is very, very capable of using my iPhone and my iPad and doing all of that, whereas my mother is not.
So your clients tend to be older or less technologically adept?
Some of them are, some of them aren’t. What they don’t want to do is have to learn a whole new thing just to work with us. Our job is to make their lives easier. If they have to go and learn a whole new thing in order to just communicate, you’re off to a bad start to the relationship.
Basecamp is very simple. They don’t have to go and log into anything; all they do is reply to an email, and post their comments. And being able to track all those comments coming through, from all of those disparate sources … you’ve got a nice clean audit trail so that if anybody questions it at a later date, you can say, “well, have a look at this. This is what you said on this date.”
Does that happen?
Yeah, it does. Not that frequently.
What kinds of projects have you managed with Basecamp?
We’ve just done a project for Transport for London, the authority that runs all the underground for London and the buses, Boris Bikes, and the river buses as well. We’ve just built a digital sign project for them — you’ll see signs all over London now with these maps on them that have real-time bus departure information overlaid, that’s localized to the location of the digital sign.
With digital signs for Transport for London, it’s about thousands of people all in one location, and how they’re all interacting with that information, and how that sign helps guide them to their chosen destination. So for example, you can’t use colors on a digital sign to indicate a particular stop, because people would be looking around them in the bus station looking for yellow, and that yellow doesn’t exist.
In London, there are literally millions of people who use the buses every day. Millions of people need to know where to go, and digital signs are helping them in that process. It’s a very interesting user experience development process to try to communicate to people via digital signs that are in the real-world environment that have to show complex data and make it simple for all these people to find where they’re going.
What’s your work culture like?
We’re a collaborative culture; we’re a small team. Everyone brings something to the party, and it’s about the respect for what each individual brings to the party that gets the most out of every person working on the team. We’re not a personality-led business. People don’t come to us and say “I want to work with Aardvark because Chris is there.” They work with us because they see the output that we have as a team and they want that for themselves.
I understand you just moved into some new offices?
We are moving, but it’s been delayed. It takes between 60 and 90 days to get fiber installed. We’re moving closer to Transport for London and a couple of our other clients.
We’re changing how we work as well. We just instituted an opportunity for the staff, where they can go and work 25 days per annum from wherever they want to. We have one guy who spent two months earlier this year working out of Peru. If you want to work from home for one day, that’s fine. Basecamp is one of the systems we use that will enable that process to be more effective. At the moment I live in the city with my wife and children and dog, and we’re hoping to move out of London a bit to get a little more greenery. So it’s actually going to help me as well.
Why 25 days in particular?
It’s pretty much an experiment to start with; the 25 days is a pretty arbitrary figure at the moment. If everything goes well, if people like it and they’re motivated and they feel good about the whole thing, productivity is shown to be positive, I don’t see any reason why we couldn’t do more.
Take a tour to see why others use Basecamp every day.
A couple of days ago we poked fun at Microsoft’s #GetItDone campaign. Microsoft depicts Office 365 as the perfect tool for working in as many awkward situations as possible – your morning bathroom break, happy hour with friends, or at your kid’s soccer game. It was just too hard to resist.
But why should 37signals have all the fun? We should all be challenging the silly idea of working sunrise to sunset, and have a laugh while we’re at it. So let’s see what you’ve got!
Follow the steps below and create your own versions of #WorkCanWait. The best entry will win a night out at your favorite local restaurant on us.
- Download the images and write your best headline encouraging people to enjoy life instead of working all the time.
We’ll accept entries through Friday, and announce a winner next week. For inspiration, here are a few entries that have caught our eye so far. Good luck and have fun!
I think we sometimes overlook things we don’t realize we’re already good at or have limited experience with. You may be beating yourself up about not having good enough grades in biology to go to medical school while overlooking the fact that you’ve been working in your family’s hardware store over the summer for eight years and have an extraordinary sense of how to deal with people. That’s a skill that a lot of doctors in their 50s would kill for: they’ve never learned to understand and be empathetic towards others. People have all kinds of soft skills that you can’t train someone to have, but they beat themselves up because it’s not the thing they think they’re supposed to be good at.
One small part of a big, terrific interview with Merlin Mann.
We took the liberty of rewriting Microsoft’s dystopian vision of remote work ads. See more at #WorkCanWait and contribute your own revisions.
Over 17,000,000 people around the world have used Basecamp to help them make awesome stuff. They’ve written books, renovated kitchens, built science fair projects, manufactured bicycles, planted gardens, edited magazines, designed web sites, created new brands, and walked to the south pole.
We want to see the awesome stuff that Basecamp helped YOU make, and we want to share it with the world by featuring your projects on our new site, launching in 2014.
Just fill out this form and upload a photo, video, or graphic of the thing Basecamp helped you make.
Microsoft is launching a new marketing campaign for Office 365 that celebrates working during your kid’s recitals, on vacation, and while enjoying the appetizer at a restaurant. All this under the guise of “balance” between work and life. Yes, it’s horrible.
Remote work is still stifled by managers who think that it’ll lead to employees goofing off, but we’re not making any progress if they switch to Microsoft’s pitch for getting to all those TPS reports from the bathroom. In fact, we’ll be worse off. Much worse.
Remote work is not about working more hours in more places. It’s not about invading every crevasse of your life and stuffing it full of work, work, work. Au contraire, mon ami. It’s about spending the hours of work more productively, and then having more time free from its tentacles.
Good ideas are co-opted and perverted all the time. Remote work is not just a good idea, but a great one. For shame on Microsoft for cheerleading its most dystopian corruption. (And no, I don’t fucking want to edit that Excel spreadsheet during happy hour.)