UI meeting 7 (25th July)

From LimeSurvey Manual


Charting Library

  • comparison of some charting libraries: [Comparison of different Charting Libraries]
    • probable candidate, at least for prototyping: ezComponent
  • LS2 graphs only for basic / less advanced analysis, for complex analysis users should consider exporting data and analysing in a different software of choice

Survey Dashboards

  • Widget suggestions: [Widgets Design Document]
  • SDs should be able to display multiple content - e.g. a "Questions Breakdown" widget displays a brief summary, clicking on "More" would display a full report
    • Opening a new browser tab is unacceptable; AJAX methods are considered:
      • Dashboard Tabs: Use jQueryUI tabs to display new content in a new tab. May put strain on browser if too many 'tabs' opened.
      • Lightbox: Easy to integrate using current $.blockUI method, however they appear unprofessional and not suitable for large content
      • 1 Tab Method: Have only one tab to display content, with a back button that erases the content and takes the user back to the SD. A usable compromise.

Meeting Log


   [14:36]    dhardisty: by the way -- the web based IRC interface is broken, giving 500 internal server error:,com_wrapper/Itemid,112/lang,en/

   [14:37]    ant:dhardisty: it's possible that some people want to come to the meeting from the UI meeting page but then hit the server error

   [14:39]    Mazi|away: where is this URL linked?

   [14:40]    anthony.:dhardisty: on this page:;=LimeSurvey+Development

       dhardisty: THe part that starts:

       dhardisty: But I've never used IRC before!

       dhardisty: If you would like to attend, but didn't understand much of the above, don't worry! Just follow these steps:

       dhardisty:    1. Visit LimeSurvey's live chat (external link)

       Mazi: I will correct the link. we updated joomla so some links are broken

   [14:42]    dhardisty: great, thanks

   [14:43]    Mazi: if you notice any other broken links:

   [14:56]    anthony.:dhardisty: also, the UTC time converter link on the UI meeting page needs to be updated :P

       dhardisty: I just posted that to the bug tracking page you mentioned

   [14:57]    Mazi: I edited the link, can you check if it's correct?

   [14:58]    dhardisty: looks good now! thanks

   [14:59]    dhardisty: i just deleted my note from the bug tracker

       Mazi: k

   [15:01]    Mazi: dhardisty, did you read and;=LimeSurvey+Development

   [15:03]    dhardisty: yes, I read the first and glanced at the 2nd. I will read the charting library comparison more carefully now

   [15:04]    macduy: hi

       Mazi: hey

       dhardisty: hi

    [15:05]    Mazi: macduy, do you know if Daniel will join us?

       macduy: he didn't say :( but he is usually up at this time

       macduy: I'll let him know

-Charting Libraries - Choice Criteria

       macduy: so, charting libraries :)

   [15:06]    Mazi: k, would be nice to have him at this meeting so we can disucss charts

   [15:07]    macduy: just in general, what criteria do we need to consider when choosing one?

       macduy: and how are we integrating it with LS2

       Mazi: 2. supported types

       Mazi: 3. support

       Mazi: 4. developemnt, 1 developer is a risk

       Mazi: 5. documentation

   [15:08]    Mazi: my 2 cents

       dhardisty: 6. Attractiveness / understandability of graphs

       Mazi: definately

       Mazi: maybe 7. scalability/flexibility

       macduy: what would users expect from the graphs?

   [15:09]    macduy: we are certain we are not using flash (afaik), so that's a downside on interactivity :(

       dhardisty: simple, with big enough fonts to read easily

   [15:10]    anthony.:Mazi: rhey have to be easy to read

       dhardisty: from my perspective, the mtChart graphs are too fancy for their own good. But maybe that's just me

       dhardisty: and probably mtChart can produce more simple graphs

   [15:11]    dhardisty: I'm going to check out the websites for each of the graphing options

   [15:12]    Mazi: what about the option to switch between different libraries, after all it's mainly just x-axis/y-axis data which has to be passed to the charting engine

       macduy: Mazi is always very keen on horizontal bar charts :)

       Mazi: ohh yeah!

       dhardisty: also, this is too much for most users I think, but for myself it would be nice to have error bars on the bar charts

       macduy: as a remark, note that you can produce simple graphs using plain HTML

   [15:13]    anthony.:Mazi: they are more easily to read and make it easier when having several options because the chart grows in length and not in width

       dhardisty: but I can just export to statistical software to do that, so it's no big deal

       macduy: yeah

   [15:14]    macduy: I think we should limit ourselves to displaying graphs with small range of choices

       Mazi: we also have to keep in midn that there is not much time left for coding

       dhardisty: right

       macduy: yeah :(

       Mazi: k.

       anthony.:Mazi: what do you think about the kind of charts to be used?

   [15:15]    Mazi: in LS1 it's single choice questions = pie chart and multiple opions = bar charts

       macduy: is this the "Question breakdown" ?

       Mazi: I think we should keep this and offer a switch for the first case to be able to also use bar charts

        Mazi: yes, macduy

   [15:16]    macduy: yeah, to keep it simple

       macduy: every question type decides what it's default type is

       macduy: but there always be a switcher right next to the graph

       dhardisty: yes, I think the option to be able to change from one to the other is important, but definitely a default

       dhardisty: sounds good

-A look at LS1 Statistics

   [15:17]    macduy: Mazi: do you have a screenshot of a LS1 statistics?

       anthony.:Mazi: sec

       dhardisty: one question/issue: what about the scale of the y-axis on bar graphs?


   [15:18]    Mazi: these are the old JPGraph stats at the screenshots

       dhardisty: sometimes people want it from zero to a little above the max, but sometimes they want to compare only the range of the different bars, to clear see differences

       Mazi: some pcharts bar charts:

   [15:19]    anthony.:dhardisty: so, let's say you had a question about how tall your respondants are

   [15:20]    dhardisty: you might want it to go from 0 meters to 2.5 meters, but maybe it's better to see only 1.5 meters to 2.5 meters

       Mazi: dhardisty, adjusting the Y-scale is a feature only very few users will need

       anthony.:Mazi: I would prefer to export data to other stats tools for this case

   [15:21]    dhardisty: so I guess the y-axis will always be zero to a little above the maximum value, in that case?

       macduy: probably

       Mazi: yeah

       macduy: I'd say people get confused when the y-axis does not start at zero and can produce some illusions

   [15:22]    anthony.:dhardisty: yeah

       macduy: Re:

       macduy: there is a table and a graph

       dhardisty: so this is something we should tell the programmer to do, right? because some graphing programs will set the minimum on the y-axis to be the minimum value

       macduy: I was considering using table as another "view", so that a user can switch between different graph types AND a table

   [15:24]    dhardisty: yes, if it's easy, tables would be nice

       dhardisty: is it too much to have three types -- bar, pie, and table?

       Mazi: in general I prefer to have a data overview (table) plus a chart

   [15:25]    anthony.:Mazi: in LimeSurvey 1 the general statistics only contain a table and you have to tick a checkbox to also display graphs

   [15:26]    Mazi: even better: show data on the left and the chart right beside the data

       dqminh: hi guys

       Mazi: hi daniel

       dhardisty: yeah, that's good

       dhardisty: d

       dhardisty: hi!

       Mazi: dqminh, maybe you can catch up reading the log:

   [15:27]    Mazi: and share your thoughts afterwards. we have discussed requirements for chosing a library and some general stuff

       Mazi: one of the next issues might be "filtering data"

   [15:28]    holch: Good morning or good afternoon, everyone.

       dhardisty: hi

       Mazi: holch, see

       holch: Sorry for being late, hat a little fight with my wireless network.

       holch: OK, I will have a look.

   [15:29]    macduy: dhardisty, 3 types is alright imo

   [15:30]    macduy: but table + graph side by side is a good choice too!

       macduy: there's one 1 issue which I haven't resolved yet:

       macduy: widgets are displayed in 2 columns side by side

       macduy: so they have limited width :/

       holch: I also think that we should not offer too much choice.

   [15:31]    macduy: hi dqminh, hi holch

        Mazi: macduy, where is the problem? data at the left one, chart at the right side

       Mazi: using horizontal bar charts everything can grow in lenght

       holch: When I do reports, I usually use 2-3 types of charts. Bar charts (horizontal/vertical), pie charts and line charts.

   [15:32]    macduy: k, but it would probably make sense to keep it in one widget

       Mazi: this can span both sectiosn I think?

       holch: What do you mean with that?

   [15:33]    macduy: widget take 1/2 width of the dashboard

       dqminh: i like ezcomponents , it supports vertical bar charts + other types in the latest trunk

       dqminh: plus having a lot of people working on it

       holch: I think a stable base of developers is important.

   [15:34]    holch: On the other hand, if the tool has everything that we need, is the future then still important?

       Mazi: from what I have seen so far

   [15:36]    holch: Seems like my chat stopped somehow.

       holch: Or has no one said anything during 3 minutes?

       macduy: (think people are just silent)

       holch: Ahhh,....

       macduy: :)

   [15:37]    Mazi: who knows how this is done in LS1?

-Filtering Data

       holch: Filter data? What do you mean with filter data?

       dhardisty: I think he means: let's say you only want to see data from the females

       Mazi: filter results e.g. only show data for people who are male and answered Q3 = "blue"

   [15:38]    macduy: I think I can place some filter controls at the start of the dashboard

       macduy: and then refresh the whole dashboard

       Mazi: short summary how this is done in LS1. we can then decide if it makes sense to use it in LS2, too...

       Mazi: there is a first screen which lists all questions and answers. questions can be checked by ticking a checkbox...

   [15:39]    holch: I don't think that this is a functinality for the dashboard, that is already advanced reporting/analysis.

       Mazi: furthermore you can filter by certain answers. those are listed below the question at a list and can be checked (even multiple by holding down ctrl key).

       Mazi: depending on what was checked marked at teh fuirst screen data is filtered by SQL queries

   [15:40]    Mazi: screenshot of the filter screen:

       Mazi: that's how it works in LS1

   [15:42]    Mazi: it works quite well but the code is a mess

       Mazi: comments / ideas?

       dhardisty: someone mentioned that coding time is short -- maybe we just do simple graphs (of all the results) first, and add filtering afterwards?

       macduy: makes sense

       Mazi: fine with me

   [15:43]    dhardisty: if the coding is a mess, let's not bring it from LS1

       dhardisty: I mean, not bring the coding

       macduy: ok, I think we need to refine the Survey Dashboard a bit

       dhardisty: filtering is nice, but one of the goals of LS2 is to have a usable codebase, right?

   [15:44]    Mazi: dhardisty, problem in LS1 is just that everything is done within one file

       Mazi: the general concept works fine

       dhardisty: ah, ok

   [15:45]    macduy: imho, we should keep the Question Breakdown widget simple

       macduy: after all, it is for a dashboard and that should give an overview

       macduy: not too much detail

       macduy: so a page like I think that would

   [15:46]    macduy: *so a page like

       macduy: would actually be a separate page

       macduy: because it would also be easy to print

-Displaying multiple content in Dashboard - 1. Ajax tabs

        dqminh: macduy: did you consider having a tab for it

       dqminh: so 1 tab for overview

       dqminh: 1 tab for advance view

       macduy: damn! That'd be wicked sick

       macduy: Tabbed Dashboard :)

   [15:47]    dhardisty: yeah, tabs are always nice

       dqminh:  for advance view we just give them filtering function + data in table/graph

       dqminh: so no widget and such

   [15:48]    holch: Sorry guys, have to leave.

       macduy: yeah, it would not be actually controlled by a widget

       macduy: ok, I'll post the discussion on web so you can catch up later

   [15:49]    Mazi: bye holch

       macduy: bye

       dhardisty: bye

   [15:50]    macduy: has someone used Google Analytics?

       dhardisty: I use it

       macduy: I think that's a great working UI

       Mazi: yeah!

   [15:51]    macduy: I think we need to learn from that, instead of having a bunch of widgets

       dhardisty: yeah, it's very slick

       macduy: they have specific report pages

       macduy: and for each of those they offer a selection of widgets

       macduy: so that you can rehash your own report from these widgets, which would be your actual dashboard

   [15:52]    macduy: which makes sense, because these widgets come from somewhere, as opposed to being on their own, displaying "some stuff"

   [15:53]    macduy: so in our case of "Question Breakdown", what we try to achieve using a single widget, they do using a whole, fixed page

   [15:56]    macduy: no? :)

       dhardisty: I'm not sure I follow 100% ("widgets" are not a normal part of my vocabulary), but are you suggesting that we do the filtering by clicking on parts of the results (for example, click on women in the gender graph) rather than using one thing to do all the filtering?

       Mazi: I like the idea but this only works for having 1 filter moption

   [15:57]    dhardisty: not true, you can then click on other graphs

       Mazi: we should not stick too much to g analytics. it'Äs nice and we can take over some ideas, but that's all

       dhardisty: so first you click on women, then on "blue"

       macduy: yeah, true, I think Survey statistics are a different kind

       Mazi: I see

       dhardisty: but for choosing more than one filter option, it would be tricky

       dhardisty: I'm just trying to understand macduy's suggestion

       macduy: I would stick with the LS1 style

   [15:58]    Mazi: ...while having a general overview for beginners

       Mazi: and some options bar/pie charts at the background

   [15:59]    dhardisty: sounds good

       macduy: and the tabs

   [16:00]    Mazi: yep

       macduy: have widgets contain very summarized data

       macduy: with a sort of "more" link

       macduy: and that opens a new dashboard tab

       macduy: or a new browser tab?

   [16:01]    Mazi: new windows might be iorritating

       macduy: ok

       dhardisty: yeah, advanced users can always easily open in a new browser tab if they want

       macduy: maybe we should start from the other end. Forget the technicalities and think what we would like to see

   [16:02]    dqminh: what if the users open too many tab ?

       macduy: alert("You opened too many tabs!");

   [16:03]    macduy: no seriously, what would be the problem?

       dqminh: the problem is some users might open too many tabs without knowing it ;)

   [16:04]    macduy: would that strain the browser?

       macduy: (I presume we are talking about dashboard tabs)

       macduy: I think every widget would be allowed to open only 1 tab

       macduy: if he opens another one, it just refreshes

   [16:05]    dqminh: the problem is how you display the tab selection on top

   [16:06]    macduy: like in a browser, stacked vertically side by side

       macduy: I presume there's a jQueryUI plugin which will help me greatly to create this :)

   [16:07]    macduy: the main survey dashboard would be presented as the first, default locked tab

       macduy: I just am not sure if this overall abuse of ajax is a good idea

   [16:08]    macduy: say what if someone wanted to display just the tab? How does he know what URL to use?

       dqminh: yes, that will put too much strain on the browser

       macduy: and opening a new browser tab is irritating for users

   [16:09]    dqminh: "more" kink will open a new browser/browser tab

-Displaying multiple content in Dashboard - Other approaches

       dqminh: or a lightbox

   [16:10]    macduy: I still think lightboxes are bit cheap :)

   [16:11]    macduy: ok how about this:

       macduy: clicking on a more link will temporarily hide the dashboard and display the wanted content

   [16:12]    macduy: so it will be something like a dashboard tab/lightbox combined

       macduy: because we won't do a page refresh

       macduy: and we lock the dashboard, by simply hiding it

   [16:13]    macduy: there will be a back button, which then takes the user back to the dashboard

       dhardisty: sounds good

       dqminh: is a great site for tabbed + widgets

       macduy: note that some users would also expect to be able to hit the "back" button on their browsers

   [16:14]    dhardisty: I have to go -- see you guys later!

       macduy: see ya

       Mazi: bye, I also have to leave

        Mazi: macduy, will you do the wiki update?

       macduy: kk, bye

       macduy: sure

   [16:15]    Mazi: together with a summary

       macduy: thank you both for coming!

       Mazi: we really need to say "This is done that way!"

       dqminh: i will go and have my dinner ;(

       Mazi: to stop endless discussions. better start working on things and evaluate prototypes

       Mazi: expecially for statistics

       Mazi: that's my opinion

   [16:16]    macduy: ok, Mazi your vote then:

       macduy: lightbox, dashboard tabs or the last thing I said

       macduy: whatever you say, I'll go smack it together right now!

       Mazi: the last one sounded cool. but you can judge better

       Mazi: lol

   [16:17]    Mazi: dqminh, what do you think about having a first prototpye using ezComponents?

       Mazi: do you think you can set something up?

   [16:18]    Mazi: cool

       macduy: k then, let's get to work

    [16:20]    Mazi: dqminh? macduy?

   [16:21]    macduy: ?

       macduy: I can get the Dashboard back-end

       macduy: but I will rely on dqminh integrating ezComps

   [16:23]    Mazi: this way everybody doesn't have to downlaod the SVN version to take  alook and it's better than screenshots

   [16:24]    macduy: there's the

       macduy: we could put some new code up there as soon as we the code is reasonably stable

       Mazi: this is for user taking a look at the "stable" old LS2 version