Definding Performance
One of our top priorities this year is improving performance in Eikon.
There are differing perspectives on what we mean my performance so I wanted to take the time to frame out the approach being taken by development.
Historically we have defined and measured performance at its most basic level:
X = Start_time
Y = End_time
P = Performance
X - Y = P
The above formula is very valid in most cases, especially when measuring system performance. When you enter the world of the end user or interactive products, however, this formula only tells half the story.
The equation doesn’t answer several critical questions:
How do we define performance in terms of an end user workflow?
What factors impact performance?
How do we measure performance?
The critical factor missing in performance measurement of end user driven products is user perception or visual progress. The user perception of performance directly impacts the user’s experience.
A human interacting with an application is neither aware nor very concerned about start-time and end-time. They are very aware of their interactions and the speed of input response. Visual progress is paramount to a great experience.
So how do we define performance of an end user product?
Performance is a feature!
This means that we:
Deliver content to users as quickly as possible. Once they're in an app, the user experience must be as smooth as possible.
Ensure performance is measured in the context of the user’s overall experience.
Enable deep workflow by maintaining client attention.
Features of performance:
Critical Rendering Path
Optimizing the critical rendering path by prioritizing the display of content that relates to the primary action the user wants to take on a page.
Content Optimization
The amount of data downloaded by each app continues to increase. To deliver great performance we need to optimize delivery of each and every byte.
Rendering Performance
Users notice if sites and apps don't run well, so optimizing rendering performance is crucial!
The defined approach to performance is agnostic of the technology being employed.
Some examples of recent wins can be seen in Eikon 4.30. This newest version is built using native desktop code and has changed and improved how workspaces are loaded.
Looking forward, Views such as Company Overview, which are set to launch in the third quarter, have been rebuilt using these principles, achieving a much improved user experience.
Further information can be found at Make Eikon Desktop Faster.
Over the coming months we will be integrating PerfConsole and Eikon Numbers into all of our native apps. All developers should familiarize themselves with these tools and begin integration planning.
Lets ingrain performance and usability into everything we do and ensure we integrate the tools to measure our success.