Good Citizenship#
A custom display should be written to look, behave and act just like the standard displays shipped with ATLAS.
Attention
As custom displays are executed directly within ATLAS, an improperly written custom display has the potential to affect ATLAS reliability and performance
In order to be a good citizen within the ATLAS ecosystem, a custom display should
- Follow MVVM
- Not use unsupported private APIs whenever possible
- Not do processing on the UI thread
- Use TaskPool for processing and dispatch UI updates via
SynchronizationContext
instead
- Use TaskPool for processing and dispatch UI updates via
- Throttle data requests
- Do not overlap requests
- Do not just respond to raised events (choose an appropriate refresh rate)
- Obey
CanRetrieveData
- Handle appropriate events to ensure display is kept up to date
- As explained in Data request guidelines
- Handle appropriate events to ensure display is kept up to date
Tip
The Display Plugin Library demonstrates how to make a custom display a good citizen
Using the provided View Model base classes in your own custom displays will help to ensure you follow these guidelines