UI meeting 7 (25th July)

=Summary=

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=

-Introductions
[14:36]    dhardisty: by the way -- the web based IRC interface is broken, giving 500 internal server error: http://www.limesurvey.org/component/option,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: http://docs.limesurvey.org/tiki-index.php?page=UI+Meeting&structure;=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: http://bugs.limesurvey.org/view.php?id=3462

[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 http://www.docs.limesurvey.org/Widgets+Design+Document and http://docs.limesurvey.org/tiki-index.php?page=Comparison+of+different+charting+libraries&structure;=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?

Mazi: http://docs.limesurvey.org/tiki-index.php?page=Statistics&structure;=English+Instructions+for+LimeSurvey

[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: http://www.marcel-minke.de/ls180/statistics_user.php?sid=96315

[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: http://www.marcel-minke.de/ls180/statistics_user.php?sid=96315

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: http://pastebin.com/m573bc7db

[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 http://pastebin.com/m573bc7db

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: http://docs.limesurvey.org/img/wiki_up/stats_1_823x525.gif

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 http://www.marcel-minke.de/ls180/statistics_user.php?sid=96315 would

[15:46]    macduy: *so a page like http://www.marcel-minke.de/ls180/statistics_user.php?sid=96315

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: netvibes.com 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 demo2.limesurvey.org

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