Posts Tagged: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.


Introducing “The Heartbeat” Newsletter

I’m fed up with newsletters, so I decided to create my own.I’m not a fan of newsletters.Many of them are full of B.S. or feel sales-y to me… especially when it comes to the topics of leadership, employee engagement, and company culture. And, compiling a million Google alerts for me to try to stay “up-to-date” on insightful reads on leadership wasn’t cutting it, either.So, I decided to create my own. I’m calling it, “The Heartbeat” — a bi-weekly newsletter on leadership. It’s what I wish had previously existed.Starting today, I’ll publish the The Heartbeat every other Tuesday. I’ll put together a roundup of ~10 links to pieces that I’ve found interesting and significant around leadership, employee engagement and feedback, communication, company culture, etc.I’ll also include a short 5–10 minute interview with a CEO, business owner, or founder who I respect. I’ll ask one question that gets to the heart of how that person thinks about…

Read More →

Going to the Mattresses

Illustration by Nate OttoTim Masters describes himself as “just a mattress maker,” but that belies the business acumen he’s gained over decades of building and selling beds. Tim’s store in the Chicago suburbs, Quality Sleep Shop, opened in 1969 and has held its own against the proliferation of private equity-backed mattress corporations and chain stores. As Big Mattress has grown more complex, churning out endless permutations of confusingly named products, Tim has embraced simplicity.https://medium.com/media/d8c44f18597d8f8bc1d4c0722ba19989/hrefTranscriptWAILIN WONG: Hi everyone, it’s Wailin. We have some news about The Distance that we’ll share at the end of this episode, so please stick around for that. And here’s today’s show.Think about some of the most miserable experiences you’ve had as a consumer. You might say air travel, or trying to cancel your cable service. And then there’s mattress shopping. Where I live, in the Chicago area, there seem to be mattress stores on every corner, sometimes across…

Read More →

Show me a business problem and I’ll do my best to avoid it

“One of the greatest ways to avoid trouble is to keep it simple. When you make it vastly complicated — and only a few high priests in each department can pretend to understand it — what you’re going to find all too often is that those high priests don’t really understand it at all…. The system often goes out of control.” -Charlie MungerMany business problems are self-induced. Many wounds self-inflicted. The competition can win, but more often, the competitor loses to themselves.Entrepreneurs are really good at making things hard on themselves. I talk with a lot of them and I see it everywhere. If they’d only put more energy into avoiding future problems rather than solving present ones they previously created, they’d make significantly more progress in less time.We’ve built our business on avoiding problems. It’s the fundamental reason we’ve been able to do what we do, and keep doing it — profitably, and with a small team — for…

Read More →

I do whatever I want at work and I haven’t been fired yet

A few of us at Basecamp were recently discussing how decisions get made to “green light” new projects, and I came to the conclusion that it boils down a simple rule:If you can make a decision and you don’t think it’s going to get you fired, just do it.Basecamp operates without much in the way of formal decision making processes. We don’t have a budgeting process, we don’t have program reviews, we don’t have long term detailed plans. There’s a vision for where we want the company and the product to be going, and a tremendous amount of trust that people will use their time and energy to move us in that direction.The lack of those formal processes means it’s up to each individual to figure out what to do when they have an idea. The amount of implicit “decision making authority” differs for each person, depending on role, tenure, etc., but…

Read More →

Programming languages aren’t a zero sum game

Stop me if you’ve heard these before when people get to talking about programming languages…“These features are copied this from <superior language>.”“Nothing new here. <superior language> has done this for years.”“This language has nothing on <superior language>, but nobody realizes it.”“<superior language> does the same thing, but better.”I bring it up because I’ve been reading and writing a lot about Kotlin lately. And invariably someone posts a snarky comment like one those above, carrying with it a clear innuendo: my preferred programming language is better than yours.And every time I see those I leave with the same reaction. Who gives a shit?Now I’m not talking about people who are having constructive conversations or even just poking fun. Hell, I may have been known to take a jab at Java every once in a while. 👊I’m talking about a subset of programmers who treat languages like it’s a zero sum game — that for one language to succeed, another (or all…

Read More →

If It Ain’t Baroque, Don’t Fix It

Illustration by Nate OttoBen and Larry are longtime owners of two different music-related businesses, a payroll service for musicians and an auctioneer of rare classical LPs. They don’t know each other, but they have something in common: They’re both still running their businesses on custom software written in the 1980s by the same developer. This episode features the soothing, nostalgic hum of a dot matrix printer, variations on “Three Blind Mice,” and more!https://medium.com/media/dea2cb92713e898f75eaf5c125312bd3/hrefTranscriptWAILIN: Do you remember your first computer? Ben does. He got his first computer in 1986, when he hired a programmer to write some custom software for his business.BEN: I was frightened beyond reason and little by little, I got the hang of it. Those computers at that time were just old DOS machines.TROY HENIKOFF: It was a Compaq desktop, and the reason it was a Compaq was because the IBM PC ran at 4.77 megaherz, but the Compaq ran…

Read More →

Enough

This guy never had enough, is that really you?The underpinning tenet of chasing exponential growth is that anything less than “all of it” is never enough. If there’s more possible, more out there, then it’s your gawd damn duty to hunt it down and make it yours.Such a pursuit is undoubtedly exciting in its Napoleonic grandeur. Why stop at making a dent in the universe, if you can bend it whole? Glory awaits only those who stand atop all others.Or at least so goes the virtue of conquerors. Dominators. WINNERS! It’s what we’re being sold over and over again as The Way. The path to relevance and impact. And who doesn’t want to bathe in those.But it’s not the only paradigm available for rent. Once you realize that the prevailing narrative of entrepreneurship is a paradigm, and not an immutable natural law, you open your eyes to alternatives. One of which is that of enough.Big…

Read More →

Your struggles can inspire others

Think back to the the last time you struggled mightily with a programming problem. Did you share it with the world?If you didn’t, that’s totally OK — most of us don’t! Why would we? Nobody enjoys admitting defeat, much less wanting to make a big deal out of it.But kudos to you if you did share your struggles, because I bet you made a pretty big positive impact on someone. It very well may have inspired them.I’m speaking from experience. Someone I respect recently did exactly this for me out of the blue. We were chatting a bit when they mentioned how they were struggling with some parts of Kotlin, just as I was.What an astonishing revelation! I was surprised (and impressed) by this honesty. How could it be that this person, a great programmer whom I admire and has done amazing work, be struggling just like me?!It’s strange — logically I know that of course everyone struggles and has rough patches.…

Read More →

What’s new in Basecamp for iOS

Basecamp 3.5.1 is now available in the App Store. If you’re already a pro with Basecamp on your iPhone and iPad, you’re going to love this release. If you haven’t tried it yet, now is a great time to start taking advantage of these new time-saving features. While you’re installing the latest update, read this quick look at what’s new…Swipe for your next unreadWhen you’ve got a bunch of unreads on Hey! and you’re cranking through them, it can feel like a chore to tap an unread, read it, then go back and tap the next one. Now you can simply tap an unread and when you’re done reading it, swipe-left to go to the next one! Repeat until you’re done. Here’s how it looks:1. Tap an unread, 2. Tap OK, 3. Swipe-left to load the next one!Search inside BasecampYou probably already know you can swipe-down or swipe-left from the Home screen on your iOS…

Read More →

The Why before the Why

Before “Why They Buy” there’s “Why They Shop”Every company is interested in why people buy their products, but rewind time a bit further and you’ll find even more fundamental insights.Before someone goes buying, there’s a reason they go shopping.There are usually a few events that lead to the desire — or demand — to shop. Something happens that trips the initial thought. There’s a spark. This is often when passive looking begins. You aren’t feeling the internal pressure to buy yet, but you’re starting to get curious. Then a second event happens. It could be soon after the first, or months later, but this one’s more serious. It lights a fire. You need to make progress. Now you’re actively shopping.We discovered four thingsOver the past few months, we’ve been interviewing customers to understand what led up to their need to begin shopping for — and ultimately buying — Basecamp. Across the interviews, it turns out there were four common situations…

Read More →

Enter the dot matrix

Illustration by Nate OttoTroy Henikoff was a college student in 1984 when he wrote his first program, a piece of software to help his grandfather’s steel warehouse manage their inventory. That summer project led Troy to start his own software consulting business a couple years later. This is an atypical Distance story about beginnings, endings and unexpected legacies.https://medium.com/media/e1b07d80fba4e2163e3f63e0c604a1a0/hrefTranscriptWAILIN: Troy Henikoff describes himself as an unintentional entrepreneur. Today he’s a well-known figure in Chicago’s tech scene, but when he began dabbling in computer programming and setting up his own business, there was no established startup culture for him to absorb. No networking events, no hoodies, no cliches about hustle or crushing it or changing the world. Troy’s story starts in 1984, at his grandfather’s steel warehouse on Chicago’s south side. He had just finished his sophomore year of college.TROY HENIKOFF: So that summer when I got to Chicago, I was given a bunch…

Read More →

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 →

Back to Top