The difference between good and great developer tools

Eric Seidel

Eric Seidel

Founder & CEO

5 min read

As a developer, I just want to ship good software.

Building good software starts with good tools. With the right tools at your fingertips, you can achieve goals for yourself, your users, and your organization.

Too often, though, organizations behind popular tools prioritize platform goals first. The result is developers adapting themselves to the tool rather than the tool adapting to their workflow. And the downstream consequences of that inversion can be significant daily challenges.

Your software development tools should prioritize your needs first to give you wings, not chains to reach your goals.

Good Tools Start with Strong Foundations

So what makes a good tool? Well, for me, it starts with a strong foundation to build on. The tool doesn’t have to provide everything upfront, but, at a minimum, its strong foundation should offer:

A rock-solid foundation is just a start though. Once you’ve got a tool up and running, it also has to earn your trust by prioritizing your goals first, so that’s why it must also include:

Good tools, then, respect developers and prioritize their needs first. Otherwise, you’re left dealing with artificial constraints, workflow blocks, portability penalties, and general ignorance to the greater developer experience. The result is time, money, and efforts wasted in duplicated efforts through adherence to rigid proprietary platform standards.

The Difference Between Good Tools and Great Tools

What, then, separates a good tool from a great one? For me, it’s portability and open source.

I believe that great tools are portable. It’s my code. I just spent a week, a month, or a year making something. And I want to take it with me to my next project, screen, or operating system. Otherwise I’m looking at starting over from scratch, which is going to slow down my momentum and process considerably.

Portability also reduces risk by keeping teams flexible in the face of new platforms, infrastructure shifts, or tooling decisions, rather than locking them into past choices. Over time, this adaptability delivers reliability and lowers costs while extending the lifespan of software investments. The result frees developers up to focus on iteration and problem-solving instead of rework.

And finally, a key component of portability is open source. Because even if you choose to stop maintaining a tool, I still want the option of being able to maintain it wherever I go. When a tool or library is open source, it can then be modified to fit different environments, and maintain compatibility as platforms evolve, rather than waiting on a single vendor to prioritize those needs. True, open source doesn’t always guarantee portability, but it creates the economic and architectural conditions that make portability more likely and sustainable over time.

Purpose Built for the Long Haul

As the flood of developer tools keeps flowing, we’ve spent more than enough time locked into single-platform toolchains that prioritize the health of their parent companies over their customers. When a tool puts its own interests ahead of its users, it’s time to start looking for alternatives.

As mentioned before, great tools make a real difference in how you build software. That’s exactly what we’re building with Shorebird. We believe portable, open-source software should be the default, so you can build once and keep shipping, across any platform, for the long haul.

And here are some of the ways we’re doing this with Shorebird:

Expect a lot more functionality for Flutter apps courtesy of Shorebird on the horizon. We recently rolled out a beta program for our newest product, Shorebird CI, which is a zero-config continuous integration system built exclusively for Flutter and Dart. Did we mention we’re the same folks who created Flutter? It’s true.

In general availability, we currently offer Code Push, which is an over-the-air update system for Flutter apps that lets you deliver fixes, features, and patches directly to your users’ devices without requiring a new app store release.

If you’ve been frustrated by long review cycles in the app store give Shorebird Code Push a try.

Shorebird empowers Flutter teams to focus on building great apps by handling the hard parts like zero-config CI or instant over-the-air updates.
OR