What’s Good Enough?

Based on survey results and subsequent discussions, here’s what we decided for a table widget:

  1. Performance is #1
  2. Device requirements: performance and functionality will be determined by low-powered, ICS-based tablets, not older Honeycomb devices, not smart phones
  3. Table paging and navigation will be performed by next, prev, first, last, and #’s links
  4. The table will load 1 “page” of data at a time, if the rows don’t “fit” the vertical table size, users may scroll to see the rest of the page
  5. The table will not cache previous requests (to protect mobile devices; and if #1 is met, no need)
  6. All paging, filtering, sorting will be performed by the back-end; none in the client
  7. We will filter on only string data originating from the server for now. Filters on dates, UI-localized strings, enums, etc. will not function in the first release
  8. Code size should not exceed 200K (minified and gzip’d); the smaller the better
  9. We will only select a mature, well supported Table widget. We will not make our own.
  10. We would prefer a Theming model based on
      - ThemeRoller for JQuery-Mobile
      - if not ThemeRoller for JQuery
      - if not code-specified style names
      - anything goes

  11. Table must by stylable as in our mockups
  12. Single select for now; likely multi-select for future
  13. In-row links / actions for now; likely top-of list actions for future
  14. No in-cell editing for now
  15. No “View As…” alternate views for now
  16. No conclusion on table width handling. However, most people would like to see columns shrink until it’s ridiculous, then hide low-priority columns altogether
  17. The table needs to support a distribution-friendly license

Next Steps – evaluate table controls along these criteria
- Those table controls that are still in the running after this analysis will be wired up against live / real data
- However, the data will be cached in the server in order to eliminate the server portion of the performance analysis (we want to see how well the grids perform …not how long the server takes to fulfill a request)
- We have narrowed the list to DataTables, jqGrid, and SlickGrid …and a quick peek at JQuery

- DataTables

- SlickGrid

- jqGrid

- JQuery UI Grid – not really a candidate since it appears this component is currently on hold

2 thoughts on “What’s Good Enough?

Leave a Reply