The reason we're not doing this is because it creates a really lousy user experience in getting setup. I appreciate that some other vendors have done this and set a defacto standard, but I'm still not convinced it's the Right Thing To Do.
Here's how it would work if we just bolted on environments like others:
- You create an app, and we wait to see an environment field in an error, see if it exists or not. If it doesn't, make a new environment to filter on.
- This works great the first time you use Raygun - you get one environment, you go through an configure everything. Your notifications, your integrations to source control, messaging apps, configure team access.
- We see a second environment value come through. Do we default to notifying you on all those existing settings you configured for the first environment? Yes? No? Usual feedback is 'make another option that lets me choose the default behavior'. That sounds pretty janky in a user experience sense, options piled on top of options.
- The UI around the integrations page, notifications page, team pages, which is already quite complicated and off putting, now needs the options for setting the behavior per-environment.
- Every time we see another new unique value in the environment field, those configuration pages get even more complicated.
So, we decided to keep it simple - just make a new app and send the associated API key per environment. Simple, works with most platforms for changing out an API key per environment. No overloaded and overly-complicated UI on many of the existing screens.
What about being able to see all environments at once?
That's partly why we built the Global Dashboard. If you wanted to stack applications together, you absolutely could. You can then see a unified view with the graph, and the error groups below.
What about linking errors between environments?
This is something that could be improved and has been in discussion within the team. But we could do that without ramming complicating environments UI into the app pages.
But I don't want to upgrade my account to get more apps just for my stage environment
Get in touch if being able to support a dev environment or stage environment would result in needing to upgrade. Totally appreciate that you shouldn't need to pay for a dev or staging environment (assuming the data volumes are appropriately low!).
So are you saying you won't do this ever?
No, I just have yet to hear of how to do it that doesn't mean Raygun ends up with the same poor experience as other vendors in the space. We don't blindly follow what others do because we think we do things better.
For example, at present we think the best approach would be some form of grouping - where you can say there is a relationship between apps. This keeps the user experience around notifications & integrations clean and simple, but could introduce a way of more easily seeing environments on a per-app basis.
I hope that this update helps everyone understand what we're thinking. We're extremely busy at present with Project Neutron (can't wait to show it to you) but we'll be reviewing this and other top requested capabilities once that has shipped.
Thanks for the feedback,