Summary of the problem (If there are multiple problems or use cases, prioritize them)
(7/15 - updating mock up to a better quality + adding health chart column)
APM Home page currently shows the list of all services.
As a user, I want to quickly get to the service which is having a problem or based on another interest.
Proposal is to improve the overall UI of the page and match the service map latest design as well as introduce sparklines to the page:

User stories
As a user, I want to visually identify when any of services are experiencing outages like higher response time, higher error rates and/or significant drop in requests volume.
List known (technical) restrictions and requirements
If in doubt, don鈥檛 hesitate to reach out to the #observability-design Slack channel.
Pinging @elastic/observability-design (design)
Added a better quality mock up, plus added one more column to display health as spark chart.
Health chart would be a timeline of alerts + ML anomalies raised for each service during selected time frame.
Open question:
Here's a first initial draft of a hi-res mock of the proposed updates.

A few comments to the design;
Thoughts on this?
I really like recovering the space used for the agent name and the addition of health - did you consider health in the first column? Not advocating for that but interested in thoughts on it.
Are the metrics next to the sparklines the latest value or the average over the period shown? Is there any interaction with the sparkline, like hover?
Looks great already!
Regarding health indicators:
Metrics:
Suggestion - would it be better to show total # of calls vs TPM?
This though is following my comment above on showing avg duration and avg % of errors, instead of last value.
The goal of sorting by "Calls" is to show which services processed more requests in selected time frame, but using calls/min has a risk of showing <1 values for less loaded services or staging environments, while total # of calls will always be a true number.
I love the design!
I second Gil's feedback of moving the chart indicator to the left. Probably if we add a spark chart to track the health it might make more sense to have a column. For maps we were planning on adding alert based indicators too - how would that be represented on this health chart? Would the sparkline chart track both? Or would we add another column?
The agent types on the services page are aesthetically pleasing and aligned with the service maps view but from a user perspective I am not sure if they are actually helpful. By moving it to the left we are definitely claiming some pixels back and improving the look of this page but I was wondering if users would lose much if we took those off completely?
This looks really good!
Regarding latest measurement vs. average (or max or whatever) - maybe it makes sense to assume two different workflows: one is as @alex-fedotyev described- start an issue investigation based on a time range, where average/max makes sense as it allows you to sort and drill down.
The second workflow is using this view (or service map, or metrics for this matter) as a dashboard constantly presenting the updated state/health of the environment. I think that using auto-refresh is a good indication of that, so maybe we can use it - if auto-refresh is enabled, show latest measurement, otherwise show aggregated value.
Regarding agent icons - I think they are both nice visually and useful.
Design update, 12 Aug 2020
First and foremost, thank you for all the positive and constructive feedback I've received on the first initial mock. I think a lot of the same things were echoed, but there were possibly also some conflicting ideas. I've tried to distill most of them into changes that I've made to the updated mocks.

In the updated design, I've made the following changes;
EuiHealth indicator is typically a dot and label, but I find the three statuses harder to distinguish, so that's why we're pursuing changing it to a EuiBadge. We'll propose the EUI team that we might reconsider our current EuiHealth component design and see this as an enhancement.Open questions which haven't been addressed yet;
unknown and show a callout indicating that ML anomaly detection would be able to give this indication in the table?I 鉂わ笍 all the ideas provided in the comments above, but I'm also aware of the time constraint we currently have with completing this design to allow the devs to pick it up and get cracking on it. I'm sure there'll be more feedback once we have a working version of the current proposal.
Re: Sorting
I buy the reasoning @alex-fedotyev.
What happens if all services don't have ML anomaly detection? Do we simply hide the health status if all services report unknown and show a callout indicating that ML anomaly detection would be able to give this indication in the table?
That sounds a lot better than an unknown in every row.
Calls per min. vs. total calls as suggested by Alex
I think a rate is preferable to the total. I like per min since that's what we show now.
Based on the feedback received from the last update, I've made some minor changes and extended mocks to show different states.


_Example of the health indication not available/all unknown, but without the callout as proposed_

_Example of a callout enticing the user to add anomaly detection to get health indication on their Services list_
The sorting should be two-fold. First arranged by health status to see the red services on top and then arranged by load. In case a user doesn't have ML enabled then it should default to load.
Moving the design to implementation to be tracked in https://github.com/elastic/kibana/issues/75252
Most helpful comment
Here's a first initial draft of a hi-res mock of the proposed updates.
A few comments to the design;
Thoughts on this?