I just shipped Pointed: a tool that enables frontend and mobile developers to work more efficiently by giving them more control over the server-side inputs to their applications.
As client developers, our apps depend on several servers, and the network often represents a hard boundary, beyond which we have little control:
There are a bunch of reasons why this might be the case:
- The server(s) are owned by another team
- The server(s) are owned by another company
- We don’t do server programming/administration
- We don’t want to do server programming/administration
- The workflow to deploy server changes is time-consuming
And that’s all cool and chill, as far as it goes.
But zooming out for a minute, our apps represent an interface between users and servers:
We can pretty easily fiddle with the user inputs to our apps. For example, it’s not hard to simulate a user performing some action, manually or in an automated test. We intuitively see why this is valuable.
But when it comes to the other kind of input to our apps – servers – often our ability to simulate interactions is highly constrained. This causes us to waste time and energy:
- We end up waiting for server dependencies to be fully functional before we start building against them; work is done serially when it could instead be done in parallel
- We spend a lot of time trying to get servers to give back particular responses to write code in our app that handles each one
- We spend a lot of time trying to get servers to give back particular responses to reproduce bugs
- We skip the step of trying to get servers to give back particular responses because it is time-consuming (who needs error handling!) and spend a bunch more time dealing with it later when the bug reports roll in
- Our integration tests are slow and/or flaky because they are interacting with servers that are slow and/or flaky
Pointed is a tool designed to address these issues head-on. By significantly increasing our ability to fiddle with our app’s server inputs, Pointed enables better workflows and gives us back time.
Move fast and fake things
Pointed makes it easy to define flexible mock HTTP servers that can be deployed and shared instantly. You can integrate your browser-based app with Pointed mock servers without changing any app code, which opens up the door to powerful experimentation and debugging – even in production.
There are a bunch of existing tools for spinning up mock servers, but Pointed is the only one built specifically for client developers (as far as I know). It’s like a client-driven HTTP request/response scratchpad.
By giving you more control over the server inputs to your app, the situation is more like this:
- You can unblock yourself by quickly spinning up and sharing mock servers that are good enough to start building against now
- You can develop and debug your app more efficiently by deftly feeding it server inputs of your choosing
- Your integration tests can be faster and more reliable
Give it a whirl
If this sounds interesting, check out pointed.io and sign up for a free trial for the public beta. As an early user, you can have an outsized impact on the product roadmap. To learn more, check out this video demo that’ll show you just about all you need to know in less than 10 minutes.