We don’t take major versions lightly. Whenever we update the major version, folks tend to assume that the upgrade will be significant both for their Loupe installations and their applications. While we have extensive backwards compatibility (two major versions for both Agent and Loupe Desktop) we get quite a few support inquires that start with the assumption that they’ll have to upgrade everything to go to a new version.
This keeps us from increasing the major version as often as we’d like but the time has come - we’re doing enough in each component of Loupe that we want to be sure everyone knows it!
Restructured & Extended Web UI
We’re modularizing the web UI to align the navigation with the different primary usage scenarios we’ve focused on based on usability testing:
- View: Users want to navigate through the raw data Loupe captures, namely sessions. They know what they’re looking for and don’t want anything to obfuscate their view of the data. This is pretty much what Loupe Desktop does.
- Resolve: Finding, triaging, and tracking runtime errors with applications. This error management has been in Loupe Web UI and is focused on improving quality across releases.
- Analyze: Dig through data for larger patterns - who is using the application, what versions are in use, application adoption metrics and other information to guide software development.
Read more about the process we went through for the modularization and the research behind it in Announcing the Loupe Platform.
While breaking out the different modules we noticed a number of feature gaps and are working to close them:
- Users want to select what sessions should be included in Resolve and Analyze, saving server resources and storage.
- Ability to watch items you’re interested in - Issues, events, and more - so you could easily find them the next time you used the UI.
- Browseable sets of users with filters (like we had already for sessions and computers)
Agent API Keys
Until now, connecting an Agent to Loupe only required technical configuration - enough to find the web endpoint. We’ve seen that this confuses customers who are expecting an API key. Additionally, some customers want to obfuscate their connection and company information. Finally, we wanted to add the ability to identify specific subsets of sessions to support features already in development for Loupe 5.*.
Loupe 5 supports Agent API keys as an alternate way of identifying the Agent to the Server. An API key identifies the repository within a Loupe installation - for example all of Loupe Cloud-Hosted or an installation of Loupe Server Enterprise. This replaces the need to identify a specific repository within these installations to send data to.
Agent API keys are created within the Loupe Web UI and can be configured to allow or deny data and many keys can be created for the same repository. This means you can decide to issue a different key for different deployments or versions of your application and turn them on and off as desired.
New Server API
We shouldn’t have been surprised but we’ve found that a number of customers have reverse-engineered how our web API works so they could directly interact with it. This is pretty straightforward - just run the UI which, since it’s written in AngularJS, has to make HTTP calls for all of its data. From there you can pretty quickly see how everything comes together.
The challenge is that we haven’t talked about our Server API for a good reason: It’s inconsistent and not documented. So, for version 5 we’re going to start the process of refactoring the API and documenting it. As we adjust each API to make sure it uses common types and calling conventions we’re moving it into a new path and working to include it in our standard documentation and use Open API to expose it. Working with the customers that have reached out to us with questions we’re making sure we cover their use cases in the first pass along with new functionality we’re adding in 5.
For example, we have a customer that integrated Loupe directly into their customer support system.
Whenever viewing a ticket it queries Loupe for the latest information for that user’s account including when the last ran the application, what version they used, and what errors or issues they ran into. All of this information is available in Loupe - but it’s even nicer when you can see it beside the user’s ticket in the system of your choice! We’re hoping to offer built-in integration for some major customer systems at some future point but for now just making sure it’s workable to make is a start.
Built-in Analysis for Web and Database Traffic
It’s no secret that you can use Loupe Desktop to analyze data captured by the Loupe Agents for ASP.NET and Entity Framework, but our feature tracking shows that very few users take the time to manually set up the analysis charts and graphs. We’ve talked with many long-term customers that know full well they could set up a chart to see the top 10 queries they’re app is running but aren’t sure exactly how to do it and so… just don’t.
For Loupe 5 we’re building in automatic analysis in the Session Viewer. Whenever Loupe Desktop detects the session includes data from one of our technology-specific agents it automatically adds a tab with the most useful breakdown of this information. For example, you can find what types of web requests are taking the most time and drill in to see the distribution of the requests (to identify if it’s a broad problem or just a few outliers) all the way down to the details of a single request. While this was (nearly) all possible before it required a fair bit of experience with our dynamic chart and graph builder which most users never developed.
We hope to have this automatic analysis for data recorded by the following agents on release:
- Loupe Agent for ASP.NET WebForms
- Loupe Agent for ASP.NET WebAPI/MVC
- Loupe Agent for ASP.NET Core
- Loupe Agent for Entity Framework 6
- Loupe Agent for Entity Framework Core
If you’re using any of those techs and haven’t added in our agent you’ll want to do that to get a jump on the new analysis for Loupe 5!
Loupe Desktop enhanced for more Screen Sizes and DPIs.
We’ve already shipped (in Loupe 4.7) a number of DPI and resolution enhancements for Loupe Desktop but this work will continue with 5.0. Our goal is to improve usability on short screens (like are common in modern ultraportable laptops) and high DPI screens. To accomplish this we’ll have to rewrite some parts of Loupe Desktop that use user controls that just won’t support High DPI and we’ll have to write a new “responsive” layer to selectively scroll or hide elements on shorter screen sizes. Still, we don’t want anyone to be frustrated using Loupe Desktop just because they’re on the road with their favorite light laptop!
And that’s not all
Loupe 5 is still in development; we’re planning on releasing it to our SaaS customers near the end of Q1 2019. That means some new features are bound to get pulled forward as customers make requests and some items we’ve put on this list might get cut if they look like they will take too long to get to a mature state and would hold up everything else.
This means there’s still time to get us your feature requests so we can see how they could inform our roadmap even while 5.0 is in development. Just post a feature request on the support site