apinf / platform

Apinf - Open source API management platform with multi proxy and protocol support
https://apinf.com/
European Union Public License 1.1
74 stars 35 forks source link

Design options for dashboard #2557

Closed bajiat closed 7 years ago

bajiat commented 7 years ago

As a continuation of dashboard re-thinking, work in dialog with the development team to create at least low-fidelity wireframes for dashboard. Optimally, try HTML mockups with interactivity to try different chart options and see how they feel from user perspective.

Related Issue

2024

55 commented 7 years ago

Interested.

Nazarah commented 7 years ago

interested

bajiat commented 7 years ago

I will participate as much as I can, but the main assignees are @55 and @Nazarah

Nazarah commented 7 years ago

a few points discussed with @55 and @philippeluickx:

Nazarah commented 7 years ago

Also showing information about showing API information

Nazarah commented 7 years ago

Some ideas on determining overall system status from @kyyberi 's feedback

Here is a sample reference about how GitHub shows its overall status github status

Nazarah commented 7 years ago

We also need to consider the default view of dashboard, now that we have both API Umbrella and EMQ as proxies and chart view would be different for APIs using different proxy. API owners should be notified that Dashboard view will differ from API to API because of the selected proxy. This is applicable if we keep on showing the 1st API when dashboard is loaded for the 1st time. An alternative is to prompt API owner to select an API. Afterwards, dashboard gets loaded.

Nazarah commented 7 years ago

A draft concept have been created about the new dashboard and associated view from ideas combined. After a discussion with @philippeluickx and @55 we have made the following proposals:

Here are some images of the the combined sketches and questions: fromilya1 fromilya2 fromilya3

Open Question: pixel perfect final wireframes for specific backlog issues regarding to dashboard epic?

Nazarah commented 7 years ago

Comments from the discussion with @ashakunt from API dashboard usecases

  1. We need to consider dashboard features and functionality based on what kind of API we are using and monitoring. Admin API (ex. activating business account / locking an account / creating password), Service APIs (e.g. creating a ticket, submit a feedback) and Organization APIs (doing certain tasks, e.g. an API having an endpoint to send a push notification, etc.) have different purposes. So their visualization and monitoring would be different on Dashboard.

Also Dashboard should be used both for Overview and Monitoring. (suggestion of quick action as well?)

  1. Average response time of an endpoint can be important (e.g. an API has 3 endpoints that created ticket by appointment, mobile and paper, respectively. Monitoring individual response time can be crucial)

  2. possibilities of realtime action (e.g. Pinging an API endpoint, getting response time for that moment, etc.)

  3. No. of calls may be suitable for some APIs, not all.

  4. Monitoring specific endpoint. Customization of parameters that can be added to monitor for a specific endpoint. (e.g. Facebook API has 3 endpoints to view timeline in web, android and iOS. So specific services might be using a specific endpoint)

  5. Configuration of thresholds for every metrics used in Dashboard.

  6. Notification feature: whom to inform, how to inform (audio/video/email), scheduling notification sending time.

  7. Time period (DD/WW/MM) may be more important for average response time, not all metrics.

  8. Predicting/showing issues that might arise from change in value for a specific metric.

  9. History

  10. (possible future feature) Geolocation: overview of calls redirected to a specific server location (e,g, server located in Finland. Here, Response time and Pinging can be important in this case to know an monitor CPU overload and bandwidth usage of that specific server)

@55 could you take a look and see if I missed something?

philippeluickx commented 7 years ago

I have the feeling that there's a lot of ideas floating around here. There is the monitoring aspect and then the analytics. There is API content (e.g. response time), metadata (e.g. # of tickets opened on apinf.io). There is different roles and needs.

Would it make sense to first do a broad analysis of all the information that would make sense, outside the scope of dashboard? Think about what questions all the different roles have. After this we can then focus on what knowledge is the most important and would fit in an overview.

brylie commented 7 years ago

After reading and reflecting over the past week, I believe it is important to take a step back and consolidate our thinking about the dashboard project. We have a lot of ideas, sketches, and an active discussion to draw from.

The general overview we should produce is known as a project brief. The project brief describes a project from a high level, taking into account stakeholders, viewers, goals, available resources, etc. I have started to draft an APInf Dashboard Brief document, and contributions are welcome.

55 commented 7 years ago

@bajiat should be close this?

bajiat commented 7 years ago

@55 yes, we should close this.

brylie commented 7 years ago

I have expressed concern about the current design proposals during daily. To summarize my concerns:

  1. we were only presented with a single design option
    • there may have been other options discussed, but they were not presented for comparison
    • having only one design opption available, conversations turned to defending or shoehorning the proposed design onto customer needs and the 'dashboard' concept
  2. developers were excluded from the design process
  3. the wireframe does not meet our internal, or common, definitions of the word Dashboard
    • it does not summarize most information for at-a-glance, intuitive understanding
    • pagination is not a common feature for dashboards
    • the design does not help the user intuitively grasp the magnitude of values, rather it simply displays the raw numbers
brylie commented 7 years ago

We met to create a design brief, and created a shared definition of the concept of information dashboard.

brylie commented 7 years ago

Here is the current dashboard design proposal:

screenshot_20170615_100703

brylie commented 7 years ago

Also for reference, here is the current 'detail view' wireframe:

screenshot_20170615_112439

brylie commented 7 years ago

Characteristics of a dashboard

Stephen Few has worked extensively in the field of Information Design, and offers several characteristics common to Information Dashboards:

Dashboards:

  • are visual displays
  • display information for specific objectives
  • fit on a single computer screen
  • are used to monitor information at a glance
  • clearly state their messages without taking up much space
  • are customized to specific requirements (for a person, group, function, or otherwise)

-- Information Dashboard Design by Stephen Few

Dashboard mistakes we may be making

The current proposed wireframe may be making one or more mistakes common to dashboard projects:

  • Exceeding the boundaries of a single screen
  • supplying inadequate context for the data
  • choosing inappropriate display media
  • arranging information poorly
  • highlighting important information ineffectively or not at all

Information Dashboard Design by Stephen Few

In addition, the current design wireframes

  1. fragment the data into large cells and
  2. take the viewer away from the dashboard context to get a sense of change over time.

Sharp contrast with current dashboard

The proposed dashboard wireframes are in sharp contrast from our current dashboard.

The change from a rich data representation to a grid of numbers might surprise our users who are already familiar with the data dashboard.

screenshot_20170615_114200

Examples of information dashboards

We can draw on the experience of other dashboard designers, and build a unified display similar to the following:


Dashboard insight example Information Dashboard Design by Stephen Few


screenshot_20170615_114336 Information Dashboard Design by Stephen Few


Sales dashboard example

Sales dashboard example from Information Dashboard Design by Stephen Few


screenshot_20170615_114951 UX Magazine - Four Cognitive Design Guidelines for Effective Information Dashboards

brylie commented 7 years ago

Here is a sketch of one possible dashboard design based on the current wireframes and the UX Magazine article Four Cognitive Design Guidelines for Effective Information Dashboards

dashboard-design-sketch

kyyberi commented 7 years ago

Close it

bajiat commented 7 years ago

Among the wireframes/designs made by @55 and @nazarah were also such that they had some of the charts incorporated into the overview site along with the numbers. Based on the discussion in the meeting we had as a team, the first view was simplified. So the design alternatives have been shared, but they were shared in a meeting.

Also, I would say that initial design should be made by the designers without the developers. Dialog takes place after the initial design. (Besides, in our case there was a developer involved from the start, since one of the designers is also a developer.)

Closing the design options issue.