Category Archive for: Basecamp

rfp-robotRFP ROBOT: Website Request for Proposal Generator

The time has come for a new website (or website redesign), which means you need to write a website request for proposal or web RFP. A Google search produces a few examples, but they vary wildly and don’t seem to speak really to your goals for developing or redesigning a new website. You need to write a website RFP that will clearly articulate your needs and generate responses from the best website designers and developers out there. But how?

Have no fear, RFP Robot is here. He will walk you through a step-by-step process to help you work through the details of your project and create a PDF formatted website design RFP that will provide the information vendors need to write an accurate bid. RFP Robot will tell you what info you should include, point out pitfalls, and give examples.


Kotlin: It’s the little things

Kotlin has a bunch of amazing features, and certain ones tend to grab the headlines — things like extension functions, higher order functions, and null safety among them. And rightfully so — those are all incredibly powerful, fundamental features of the language upon which everything else builds on.And while I love those features, there are a handful of small things you don’t hear much about that I really appreciate on a day-to-day basis.These are simple, small niceties — the little things you do hundreds of times a day but nothing you’d consider “advanced”. They’re common sense language features that, when compared to Java, end up saving you a bunch of cognitive overhead, keystrokes, and time.Take this simple, albeit highly contrived, example:// Java1 | View view = getLayoutInflater().inflate(layoutResource, group);2 | view.setVisibility(View.GONE)3 | System.out.println(“View ” + view + ” has visibility ” + view.getVisibility() + “.”);// Kotlin1 | val view = layoutInflater.inflate(layoutResource, group)2 | view.visibility = View.GONE3 | println(“View $view…

Read More →

Interview or Interrogation?

Interviewing for a new job is so nerve-wracking. The adrenaline kicks in, and you are trying so hard to keep it under control. Trying to deliver the polished answers you prepared and rehearsed over and over. Hoping that you don’t slip up, or get tongue-tied. There’s the weight of an entire future sitting on your shoulders while you try to parse the questions.Then there are the interviews where you get the feeling that the interviewer is trying to trip you up. I’ve had them in the past, but couldn’t be sure if I was imagining things. Did other people find interviews combative?As we thought about how we would approaching hiring a new support programmer, we hit the books to find out.Don’t expect to eat at lunch.Though a company like Lending Club claims that lunch is a time for candidates to take a breather and relax, don’t. Your interviewers care about whether you…

Read More →

Kotlin makes me a happier (better) programmer

What’s Kotlin’s best feature? Creating programmer happiness.There’s been a lot of action around Kotlin lately. So one question you’ll often hear is “What’s your favorite Kotlin feature?”And while there are many wonderful things about the language, for me it isn’t about any single technical feature.My answer? It makes me happy.Writing code that’s concise, clear, and expressive makes me happy.Focusing on creative solutions to business problems — not fumbling with boilerplate and ceremony — makes me happy.Feeling an intense motivation to learn — something that was sorely missing in the Java days — makes me happy.And that’s super important. Because being happy isn’t just good for the soul. It’s great for your programming skills too.As DHH astutely pointed out many years ago in Getting Real:Would you truly be happy working in this environment eight hours a day? This is especially important for choosing a programming language.Happiness has a cascading effect. Happy programmers do the right thing. They write simple, readable code. They take clean, expressive,…

Read More →

New file upload and browsing in Basecamp 3 for Android

Summer brings 4 day work weeks at Basecamp, but that doesn’t mean the Android team takes a break. They just launched a new version of Basecamp 3 for Android, with an updated file browser to make attaching files to your Basecamp faster and easier.With the new file browser, you can attach an image directly from the camera (Android 5 and above), or file from Dropbox or Google Drive:Upload from your camera, or a service like Dropbox/Google Drive.Check out the new camera and file picking features in action:https://medium.com/media/bdb4b4e5620f3ef87f59abf627ae5d40/hrefGet it Today!Basecamp 3 for Android 3.5.4 with the new file browsing and uploading is available today in the Google Play Store. The new file browsing feature is available in Android 4.4 and above (the camera option is in Android 5.0 and above only). Try it out and leave Jay, Dan and Jamie a review in the Play Store.If you don’t have a Basecamp 3 account yet, now is…

Read More →

The Business Cycle, Part 2

Illustration by Nate OttoIn 2010, as Worksman Cycles was emerging from the recession and ready to grow again, the maker of heavy-duty cycles saw an exciting opportunity to supply the bikes for New York City’s bike share program. But the city rejected Worksman’s proposal, and that disappointment lay the groundwork for the company to relocate to South Carolina, leaving behind the city it had been in since its founding in 1898.https://medium.com/media/901224cccd4e0495d70e91001864ff63/hrefThis is the second part of our story on Worksman Cycles. If you missed the first episode, which explores the company’s history and commitment to keep manufacturing bikes in the U.S., be sure to catch up!TranscriptWAILIN WONG: Hi everyone, it’s Wailin. This is the second episode in our two-parter about Worksman Cycles, so you should go back and listen to the previous episode if you haven’t already. It’s about how Worksman found its niche making industrial cycles and kept its manufacturing in the…

Read More →

Chicago, Be Chicago

Yuck! Enough with the Silicon Valley worship, Chicago!🎶Hey, Chicago, what do you say? Can we stop talking about wanting to be the next Silicon Valley today?🎶If you pay attention to the Chicago tech/media scene, you’ve probably been hearing for years that Chicago is poised to be the next Silicon Valley. The storyline continues in this recent Inc article: Why Chicago will be the next Silicon Valley tech hub.There’s a lot of good in this article. And we’re honored that Basecamp is held up as an example of something positive happening in Chicago. But the notion that it’s now Chicago’s time to grab someone else’s torch is where it falls apart for me.It’s certainly true there’s more entrepreneurial excitement in Chicago these days. More optimism, more opportunity, etc. This is great.But what’s with all this this fetishizing of Silicon Valley? To be next in line to be them? What about being us? What about being original?…

Read More →

Trickle-down workaholism in startups

“And then I said anyone not willing to break their backs working for me was a tourist!”If you want to understand why so many startups become infected with unhealthy work habits, or outright workaholism, a good place to start your examination is in the attitudes of their venture capital investors.Consider this Twitter thread involving two famous VCs, Keith Rabois and Mark Suster:These sentiments are hardly aberrations. There’s an ingrained mythology around startups that not only celebrates burn-out efforts, but damn well requires it. It’s the logical outcome of trying to compress a lifetime’s worth of work into the abbreviated timeline of a venture fund.It’s not hard to understand why such a mythology serves the interest of money men who spread their bets wide and only succeed when unicorns emerge. Of course they’re going to desire fairytale sacrifices. There’s little to no consequence to them if the many fall by the wayside, spent…

Read More →

Using Kotlin to make Android APIs fun again

Kotlin announcement at Google I/O 2017If you haven’t heard, Kotlin is now a first class citizen on Android and we couldn’t be more thrilled at Basecamp. We’ve been using Kotlin since it hit 1.0 last year and we recently got to 100% Kotlin in the Basecamp 3 Android app.One of my favorite features in Kotlin is extension functions. They let you extend functionality in classes without inheriting from them. We make great use of extension functions at Basecamp to simplify and add clarity to Android APIs that are verbose (or that we just don’t like). Below are a few example of ways that we leverage extension functions to make Android development easier on a day-to-day basis.Set a View heightSetting the height on a View programmatically in Android is annoying (and I’m being nice). With a Kotlin extension, you can pretend that Android makes it easy for you:fun View.setHeight(height: Int) { val params = layoutParams…

Read More →

What’s that mystery in your inbox costing you?

The inbox is the center of everything. Whether it’s email, assignments, messaging, chatting, IM, whatever, if someone wants you to see something, it shows up in an inbox of some kind.The design of the inbox has more impact on our daily decision making than any other part of any piece of software we use. It’s fucking important.If you use a group chat tool like Slack, HipChat, Microsoft Teams, or something similar, your inbox — and, therefore, your day — is filled with mysteries, secrets, and “Whats?”. You’re probably so numb to it that you don’t realize how much of your time and attention is being wasted.“To see what is in front of one’s nose needs a constant struggle.” -George OrwellYou’re stumbling around in the dark all day long because of a simple design pattern. The pattern is core to group chat, no matter the tool. It’s a fundamental flaw of the medium hidden in plain sight.The inbox in…

Read More →

The Business Cycle, Part 1

Illustration by Nate OttoWorksman Cycles is the oldest American bicycle manufacturer that still makes its products in the U.S. Founded in New York in 1898, Worksman has outlasted the demise of American cycle manufacturing by focusing on a niche category: heavy duty tricycles that factory workers use for hauling equipment and getting around industrial plants. And Worksman’s president is determined to keep the company in the U.S., even as that commitment has been tested through the years.https://medium.com/media/ac5945721e9fa882ea3a72e9e9b5a656/hrefThis is the first of a two-parter about Worksman. The next episode will be out in two weeks, so make sure you’re subscribed to The Distance via Apple Podcasts (nee iTunes Podcasts) or the podcatcher of your choice so you don’t miss it!TranscriptWAILIN WONG: There are times when a name seems like destiny. Like Thomas Crapper, a famous English plumber from the 19th century, or Usain Bolt, the Olympic sprinter from Jamaica. These names are called aptonyms,…

Read More →

Paying customers, not paying Facebook, Google, or Twitter.

Our new Basecamp Referral Program splits $100 between existing customers and new customers rather than putting it in the pocket of those that track your every move online.Last year we experimented with running ads on Facebook, Google, and Twitter. All-in we spent 6 figures on the experiment. And then we stopped.But what stopped us wasn’t the spend, it was the feel. Every dollar you spend is a vote, and we were casting hundreds of thousands of votes for big companies that are tracking people’s every step, every move, every curiosity, and every detail of their lives. Fuck that.Yeah, they could bring us customers. But we don’t like the way they do it. We don’t want to be complicit in the how. No thank you, no vote.So, armed with the dollars and the drive, how do we introduce Basecamp 3 to more people? Who can we vote for to help us do this? The answer…

Read More →

New in Basecamp 3 for iOS 3.4.1

You know that with the Android app getting updated so recently, that an update to the iOS app was not far behind. In fact, the iOS team (Jason Z, Tara, Dylan and Zach) launched the latest version last week! It’s got a sweet set of new features I’m excited to share with you.Hey! Who Moved My Pings?In previous versions of the app, Pings were a little harder to find and challenging to start. Now Pings are smartly located in the Hey section, right at the top. You’ll see a row of avatars for your most recent pings. You can quickly start a new one or swipe through previous Pings.You can also quick swipe on items in the Hey menu to mark them as read:Docs and Files List ViewThe team also added a list view for Docs & Files, with new file icons, smoother re-ordering, tap to preview images, and swipe to move and archive.https://medium.com/media/db8b86ef6deee8f9f11c7f1acb5ea7e6/hrefThese updates, along…

Read More →

What did you learn at work today?

Automatic check-ins is one of my favorite features in the new Basecamp 3. We have a bunch of them. Some social, like What are you reading? or What did you do this weekend?, others practical, like What will you be working on this week?The magic of these check-ins is two-fold. First, it almost completes nixes the need for those awful status meetings. Second, it allows everyone to keep a diary of their thoughts, interests, and work.Before Basecamp, I worked at a few other tech companies where I went to an office and worked with colleagues in-person. I knew most of those coworkers far less well than I do the ones I work remotely with at Basecamp. And these check-ins (and our manual hodpodge before making it a feature in Basecamp) are a key reason.I also really enjoy the check-ins as a personal practice to review my week and how I end up spending…

Read More →

I live my podcast life a quarter hour at a time

How we found our ideal episode length for The DistanceIn the communities of podcasters and aspiring podcasters that I frequent on Facebook and elsewhere, a frequent topic of debate is the ideal length of an episodes—25 minutes? An hour? I also get asked from time to time how we came up with 15 minutes for The Distance. I’d love to tell you that we thoughtfully deliberated episode length during the planning process for the show, drawing on years of collective storytelling experience to arrive at our decision, but the truth is that the 15-minute guideline just kind of happened—and then became a useful constraint that’s guided our production ever since.The Distance started in 2014 as longform written stories of about 2,500 words each. At the end of that year, as Serial was wrapping up its first season, we started talking about trying audio for our stories about long-running businesses. The consensus was…

Read More →

Marketing Design — How we improved our conversion rate at Highrise

Originally Highrise was built for Jason and David, the founders of Basecamp, who had trouble staying on top of who was talking to the lawyer, who needed to follow up with the landlord, what was said to the reporter, etc.But do our customers look like Jason and David?Maybe they did originally but things changed over the last decade Highrise has been in business? Is that still our reason for existing? So we recently did a series of Jobs-to-be-Done interviews to understand who uses Highrise at a deeper level.The results were clarifying.Our interviews uncovered that Highrise was now in the hands of a very different group of people with very different needs. It’s less about “Contacts” and more about “Leads” someone needs to get into a sales process. It’s less about “Todos” and “Tasks” and more about “I need a reminder to follow-up with this lead in a few weeks.” But that’s just…

Read More →

Steeped in History

Dim sum at Nom WahNom Wah Tea Parlor is New York Chinatown’s oldest dim sum restaurant. For decades, it served Cantonese dumplings and rolls in the traditional way, from trolleys pushed around the restaurant. When Wilson Tang took over Nom Wah in 2011, he switched from trolleys to menus with pictures and started serving dim sum through dinner. He also opened new locations that broadened Nom Wah’s repertoire beyond dim sum. These were big changes for a restaurant that opened in 1920, but Wilson saw them as measures to secure Nom Wah’s future for its next century in business.https://medium.com/media/a72379af33c3dd5da1b0e0603fc675f1/hrefTranscript(Sound of restaurant)WAILIN WONG: Wilson Tang is a native New Yorker and a Chinatown kid. On weekend mornings, his family would head to Chinatown in lower Manhattan for dim sum. It’s a Cantonese meal consisting of small dishes traditionally served from trolleys that servers push around the restaurant. There’s dumplings, rolls and buns,…

Read More →

Why we only work 4 days a week during summer

(And why you should too)As I write this it’s the first week of May, and there’s an energetic buzz in the air — because it means that Summer Hours are about to start here at Basecamp. The description of Summer Hours in our employee handbook is simple:During summer, we work 4-day work weeks, aka “summer hours”. Summer hours are in effect from May 1 through August 31 each year.Summer Hours are one of my favorite practices at Basecamp — but not just because they are an extra day off each week. Keeping Summer Hours hones our prioritization skills and breathes fresh energy into our work.I think it’s a practice more businesses should adopt, and here’s why:Summer Hours hone prioritizationWhen we say 4-day work weeks (32 hours), we mean it. We aren’t cramming 40 hours into 4 days. This is essential to our practice of Summer Hours. Why? The key is in the constraint.Removing a day each week forces you…

Read More →

Basecamp 3 for Android 3.5 — Catch Up!

When you’ve been away from your Basecamp 3 account for a stretch of time and need to get current, it can be tough to know where to start. On top of that, opening each Hey! item individually can take a while.That’s why the Android team (Jay, Jamie, and Dan) developed the new Catch Up feature, available in the latest update to the Android app.Android Catch Up — part of a balanced diet.How it worksWhen you have two or more unread Hey! items in your Inbox, you’ll see a “Catch Up” button.Tap that button, you’ll go to Catch Up mode, where you can swipe through your unread items one by one. The unread count will appear at the top and your items are optimized for easy reading.My favorite part is using “Mark as Unread” to keep items in the Hey! inbox. This is perfect for when you want to quickly browse through everything, but give a second look important…

Read More →

Basecamp’s Employee Handbook is Public!

Basecamp didn’t have an employee handbook for over ten years. When new people were hired, they were largely left to figure out how the company worked on their own. Our new hires were tasked with maintaining, improving, and supporting Basecamp’s products without any context about how those products came about. Our interns admitted they didn’t know who at Basecamp did what job, so they had trouble all summer knowing who to ping with questions. And I’ll admit that I thought ‘judo’ meant something literally about fighting for an embarrassing length of time.When we were a company of 20 people, the sink-or-swim format worked okay. But as we grew to more than 50 employees, we needed something more structured. So, last year we started putting together a handbook.Basecampers are great at writing but not so great at documenting, so we constructed everything in the handbook from scratch on Github. We went back…

Read More →

Back to Top