A fortunate chain of events – a dry read

At Askia we love to talk about Askia things… and about a year ago, the technical team got together in a room and agreed on what was our biggest need: the ability to elegantly call a web service from a survey and decipher the result and store it appropriately.

Web-service not included

I have mentioned in previous articles how an API allows you extend your para-data. With the IP-address that you collect (and that we encrypt – GDPR is watching you), you can obtain the general location of the person. With the location, you can get the weather at the time of the interview and the likelihood they voted to a given party in the last elections.

You could always call a web service by adding some JavaScript in your page but that was not very elegant… and also made it hard to hide any authentication method.

So we decided to create a new routing where the Web Service was called from the server and not from the browser – effectively hiding the call from the interviewee. We got inspiration from the Postman interface and quickly put together a new routing.

The interface allows you to run different scripts depending on the success of the call and to manipulate and store the different parts of the response… and we introduced a new keyword CurrentHttpResponse.

QueryWebService

At that point, we thought that this had been relatively easy and we contemplated a well deserved visit to the local pub for refreshments.

XML and the Argonauts

As we were putting together an example – calling openweathermap.org to get the weather anywhere in the world – we hit our first problem.

The response looked like like this:

<?xml version="1.0" encoding="utf-8"?>
<current>
   <city id="6690581" name="Belsize Park">
      <coord lon="-0.18" lat="51.55"></coord>
      <country>GB</country>
      <sun rise="2018-03-06T06:33:58" set="2018-03-06T17:50:36"></sun>
   </city>
   <temperature value="282.33" min="281.15" max="283.15" unit="kelvin"></temperature>
   <humidity value="66" unit="%"></humidity>
   <pressure value="988" unit="hPa"></pressure>
   <wind>
      <speed value="2.1" name="Light breeze"></speed>
      <gusts></gusts>
      <direction value="200" code="SSW" name="South-southwest"></direction>
   </wind>
   <clouds value="40" name="scattered clouds"></clouds>
   <visibility value="10000"></visibility>
   <precipitation mode="no"></precipitation>
   <weather number="521" value="shower rain" icon="09d"></weather>
   <lastupdate value="2018-03-06T13:50:00"></lastupdate>
 </current>

To get the temperature, we would have had to look for the string “temperature value=” and extract the following digits… it was possible but a bit of a dirty hack, we felt. As stated before, at Askia we love to talk but we hate dirty hacks.

So we started talking about having a XML parser. The cool kids in the dev team took a clear stand: we do not need a XML parser and we would be a laughing stock if we implemented one. What we needed was a JSON parser. Even better we thought: what if AskiaScript could natively support JSON? Note: I can confirm it, we did a XML parser anyway – I hope you are not laughing.

JSON native and the dictionary

So we came up with the following syntax:

Dim myAuthorVar = @{
 “name”:”Jerome”,
 “age“:21,
 “occupation”:”laughing stock”,
 “busy”: true,
 “children”: [“Mackenzie”, “Austin”],
 “address” : {
    “postcode”:”SW12”
    “city”:”london”
    }
 }
Return myAuthorVar [“occupation”]

We were very excited but that meant we need a new variable type – it’s sometimes called an object or a map but also a Dictionary – the failed librarians and encyclopaedists that we are loved that… so there it was: the Dictionary. It allows to store a series of named values in one object. You can set its properties with a method Set like this myAuthorVar. Set (”Busy”, False ). And access them like you would with an array but by specifying a string instead of a number like this: myAuthorVar [“name”].

Variant and Arrays of Variant

I mentioned that it would be a good time to go to the pub when somebody asked what was the type returned by a dictionary accessor. In other words what was the type of myAuthorVar [“age”] ? The response to this is “it depends”… and there was no way of knowing before. Right now, it was a number, but if a web service had indicated “age” as “fifty-ish”, the result would be a string.

So we had to introduce a new type: the Variant

If you called myAuthorVar.TypeOf(), it would return “variant”… but inside the variant is a dictionary. So we created a method for Variant to know what was inside and we called it InnerTypeOf. myAuthorVar.InnerTypeOf() does return “dictionary”.

It was also nice to write @[1 ,2 ,3] or even @[3.14159,”pear”, “apple”]  – both are arrays of variants that we decided to call “arrays” for simplicity.

A variant could hold any of what we decided to call the base basic types: number, string, date, dictionary and any array of the types above. OK – let’s go to the pub! But then we remembered that JSON supported Null and Booleans… and because we wanted full compatibility, we had to create two new AskiaScript types: Null (which does not do much) and Boolean having the possibility of only taking two values: true or false.

Booleans and back compatibility

This was a can of worms – because we used to consider True and False to be numbers. Let’s imagine some script like this:

 Dim myVariable = (Q1_Name = 7)
 ' … some clever coding…
 myVariable = 42
 ' … more clever coding…
 If myVariable = 42 Then
    ' Save the world ...
 Endif

In classic AskiaScript, this would create a variable called myVariable as a number with a value of 1 or 0 and later taking the value 42 allowing the world to be saved.

We did not want to break back compatibility. I am going to summarize what was hours of discussions. We decided that comparators (like equal or Has) had to return numbers. If they returned booleans, the setting to 42 would now trigger an error because 42 is not a Boolean. And if we permitted an automatic conversion of numbers into Booleans, my Variable would take the value True (and not 42) which would change the way the scripts ran… and the world as we know would perish.

Wordy woes

Having spoken for so long, we were quite thirsty as you might guess. But we realised that our language would become very verbose and somehow inelegant if we had to convert Variants into the type we wanted whenever we wanted to use them.

In the example above, if we wanted to find out the length of our author’s post-code, we would have had to write:

 Dim hisAddress = myAuthorVar["address"]
 Dim hisAddressAsDic = hisAddress.ToDictionary()
 Dim hisPostcode = hisAddressAsDic ["postcode"]
 Dim hisPostcodeStr = hisPostcode.ToString()
 return hisPostcodeStr.Length

This was ridiculous… it would take ages to write any serious code… and we had better things to do than write verbose code (at that stage I was thinking of all the beers I would not be able to drink if I had to type that much to get my own postcode). So we went back to the drawing table and agreed that

myAuthorVar [“address”] [“postcode”]. Length was all we needed.

This elegant code was only possible if Variants supported ALL the properties and methods of ALL the basic types. That was a lot of unit tests that we had to do. So we focused (no blurred vision) and we wrote them.

This meant a serious rewrite and a careful management of conflicts: Format is a method for numbers and dates and they act very differently. So we put together a set of rules.

I’ll give you a reference

At that point, we had spent a lot of time on this, we were (very) thirsty but we wanted it to be perfect. And we realised we had a problem – what if we wanted to change the Postcode of our author (by code).

myAuthorVar [“address”] returned a Variant holding a dictionary with the address – a copy of the address. So to change the postcode we would have needed to write:


 Dim hisAddress = myAuthorVar["address"]
 hisAddress.Set ( "postcode" , "EC2A" )
 myAuthorVar.Set ("address", hisAddress)

This was again way too verbose. So we decided that accessors ( the closed brackets [ ] used by dictionary and arrays) would not return a copy of the address but a reference to the address of the author. This meant that we could write

 myAuthorVar["address"].Set ( "postcode" , "EC2A" )

This added very serious complication the the code  it’s called pointers as in dangling pointers in C++)… and that’s very difficult to make work. In the above example (as in life), the variable hisAddress can outlive myAuthorVar. We had to write a lot of unit tests to ensure that everything worked and we did not have memory leaks. This is discussed here.

For short, a variable stops being a reference as soon as you assign it something else.

AskiaScript Anonymous

We had an ongoing problem with the Value property of question – and we thought it’d be a good idea to address it now before we went to the pub.

Q1.Value returns a string if Q1 is an open-ended question. And it returns an array of numbers if Q1 is closed with multiple response. It can also be a number or a date…

Now let’s imagine we have a script like this

 Dim myVariable = Q1
 ‘ On Mondays at precisely 12 o’clock
 If Now. Day()= 1 and Now.Hour() = 12 Then
    myVariable = Q2
 Endif
 ‘ What is myVariable.Value here?

AskiaScript is a compiler – it wants to know the type of things before it’s run… but in that example, myVariable. Value could be of a different type depending on the day and time it was run.

And what if we had something like Q1.NextVisibleQuestion.Value?

So we decided that as soon as you put a question into a variable then the variable becomes an “anonymous question”. All methods of an anonymous question would work but the Value property would be a variant…. And we also decided to make sure that CurrentQuestion was an anonymous question. Problem solved! Drinks anyone?

But then we had another huge back-compatibility problem. Let’s look at the following code:

 
 Dim myVariable = QNumeric
 Return myVariable + 1

In classic AskiaScript, the system would add an invisible “.Value” after QNumeric (we call that an implicit property). myVariable would be a number and we would return that number incremented by 1.

But with the introduction of anonymous questions, myVariable was now a question. Facing an operator (the +) we would add again the implicit property .Value. But now value would be a variant and we had no rule to add a variant to something else… up to now.

So we made sure that we had rules to add any variant to another Variant – or any basic type or array of basic types. Not just add but also subtract, multiply, divide, compare – including all the keywords like  Has, HasNone etc. In total, combining 4 operators, a dozen of comparators, with 6 basic types and 3 types of arrays (number, string and variants) that made a lot of decisions to take (and a lot of discussions) and many many unit tests.

Before we started this development, we had 1667 unit tests ensuring that all functions of the AskiaScript behave the same from one version to another.

For this, we had to add 2231 (!) more unit tests. Once they all passed successfully, we added the whole thing to Suite 5.4.8 and we hope you’ll like it.

Enough Quant Tricks, we’ll be in the pub for a swift one – we deserved it.

“Simplicity is complexity well done” by DemoSCOPE

The following is a transcription of an article published by Stefan Klug, Head of Production at DemoSCOPE. It explains DemoSCOPE’s innovative approach to programming complex surveys, using Askia software. 


While many market research projects today are created using DIY Software, DemoSCOPE usually solves technically demanding survey tasks for its clients.
Traditional market research programming has always been, and still is to some extent, to transfer a paper questionnaire into a CAWI, CATI or CAPI application – question by question, sequence by sequence and language by language. We have had several times the opportunity to gain insight into such questionnaire programs and transfer them to our questionnaire software and modern programming technology.

What is the difference?

In a modern survey software, programming as outlined above is not necessary any longer. The aim is to avoid redundancies, as with the construction of databases or process optimization. Survey parts are not repeated, consistent parts are programmed and called only once in all methods and can therefore be programmed in the preparation time and data storage.
All the more attention is paid to user-oriented programming, whereby we do not only mean responsive web design for online surveys, but also for CATI interviewers we mean intuitive screen displays that are suitable for CAPI surveys and much more. In various surveys we were able to show the potential of these solutions. For example, the transition from CATI to CAWI as a data collection method is carried out seamlessly and without any need for insight into the underlying management software. There are no more opening browser windows, as it would be the case with a simple call of a website from a CATI survey.

For what types of surveys?

With this technique we can also carry out real mixed-mode surveys, for example, in which the same questionnaire can be interrupted at any point and either be resumed several times with the help of interviewers (CATI, CAPI) or as a self-completion interview by the interviewee (CAWI).We call this “mixed-mode multi-node” because it allows more than one node for the method- change. This enables, e.g., the interaction of different survey methods in complex, chronologically staggered survey sections. Of course, only one questionnaire script in all languages is required for the different survey channels. The choice of language or a change of language can be made at any time at all points of the interview and an interview can also be conducted in several languages.

For longitudinal data collection, this means, for example, that the repetition frequency of the survey becomes a questionnaire component. Arbitrary longitudinal section sequences can be stored and called up from the questionnaire without having to define the different sequences or the maximum number of repetitions in the program beforehand.
Survey contents can be structured modularly and the call of modules can be called up, for example, depending on survey results or randomized.
It is also possible to conduct such complex survey programmes, e. g. in a company, to interview several persons (or multiple persons in a household) on different or the same topics sequentially or at the same time, without ever losing track of the progress of the survey or the current status of processing.

Challenge us

The exemplary processes described above can be combined in any combination. Do you have ideas for implementing complex surveys?
Get in touch with us and challenge us. We have not yet been able to fully explore the limits of our software solutions (as well as capabilities and solution orientation) and are curious to see how far we can go or whether there is an end to the universe of feasibility.

Askia’s point of view: “Pure programming magic”

Jérome Sopoçko, founder of the Survey Software Company Askia states:

Jérome Sopoçko, ASKIA
Jérome Sopoçko, ASKIA

“I am always surprised how our survey system is used – after all it was designed to ask a few questions and calculate a couple of percentages. But what DemoSCOPE has done with some surveys is not far from pure programming magic. For example: the system call a household in CATI and spawns different web surveys for each person living there – exchanging information between processes through a SQL Server database, waiting for all data to be collected to restart. The system is designed so that you can follow the history of each household from call to call over the years. The final survey is elegant, efficient and stable. Askia Survey programming has been turned into dark art – and some of the best craftmasters work at DemoSCOPE.”

Stefan Klug is Head of production at DemoSCOPE and a member of the extended management board
DemoSCOPE news 2 / 2017

Translated to English and Reprinted with friendly permission of DemoSCOPE AG, Adligenswil, Switzerland.

Askia at Insight Show 2018

The Insight Show, one of the leading industry’s events in Europe, returns to London on 7 & 8 March and Askia will of course be there!

This year, in addition to our presence on stand IC24, we will be on the Insight Showcase stage to talk about Data Visualisation together with our partner and stand neighbor E-Tabs. It’s happening on Day 1, 7th March, at 14.40pm.

Registration is free for all Market Research professionals so there is no excuse to miss this opportunity to discover the latest industry trends, catch-up with your peers and stop by the Askia stand to talk about software in general and in particular: automation, APIs, community management and revolutionary dashboarding.

Interested? Then read the full program for more details and get in touch now to schedule an introductory chat or a demo with our team!

FACTS:

Insight Show, 7-8 March 2018, Olympia Central, London

Insight18_05854_Static Banners AW2

Come and meet us on Stand IC24

Presentation by Jérôme Sopoçko, Head of Development and Benjamin Rietti, CEO, E-Tabs on 7th March 14:40 – 15:00 on the Insight Showcase Stage: “Easy Visualisation of Market Research Data – The Quest for the Holy Grail”

Panel providers, unite – the speech at the ASC

On the 9th of November, the ASC invited some panel providers to attend a discussion on panel harmonisation. The discussion was orchestrated by Tim Macer.

Here was my speech – the written version at least as I may have ad-libbed a few unscripted things.

ASCPanel

Market Research is changing. You have heard it a million times – not in the way that Ray Pointer announced. There will be more surveys in 10 years than ever. That’s the good news. The bad news is that most of them won’t be run by MR institutes. The goose with the golden eggs is dead – client now run their own surveys which means MR companies – just to stay in business – have to be more competitive.

Goose with the golden eggs (before / after)

before-after

They started to delocalise in India, in Romania or in Ukraine. But that was not enough. To save more money, they have started to use automation.

This has its advantages – of course the surveys were a little bit more formatted… but Millward Brown had done that successfully for years. But once the bugs are eradicated, it’s efficient, fast and most of all cheap. And no blockade by disgruntled employees – although that’s more a French problem.

PresentationBrands

The problem is that end-clients are following up the trend – they can do automation too! They are using Zappi Store and Wizer… and SurveyMonkey and SurveyGizmo and ConfirmIt (and Askia). And ToLuna. And SSI self-serve. And Lucid. And Cint.

I have mentioned it at the ASC’s last conference: we have entered a golden age. The age of the API. A golden age for geeks like me at least: the internet is changing into a gigantic API where information is exchanged through web services. Everything is interconnected and uses the same interfaces.

IoT

I do not know if any of you have used IFTTT – If This Then That. It’s an app where you define a condition and an action. If I get near the house, put the lights on. If the temperature gets below 17 at night, put the heating on. If I enter the kitchen in the morning, put the radio on and start the coffee machine. If I have no milk in the fridge, order some. The IoT – the internet of things – is happening through one common interface through web services… and all industries are playing ball because they want their share of that big cake of a connected world.

oil-rig

I know we all have panel providers on stage so they might disagree with me. But panel data is no longer the only oil on planet Research. Customer databases are increasingly used because they can be energised by communities. And there is all sort of big data available at large – aggregated or not. It could be a loyalty card data, www foot prints or mobile phone data.

wine-glass

And just like for a good Bordeaux wine, to get quality you need to master the art of Blend. The merlot a bit dry and earthy – that will be your panel data. There is some cheap Merlot and very good Merlot too. And the Cabernet Sauvignon with its fruity flavours – that will be your behavioural data.

But unlike the IoT industry, Market Research providers have not decided to play ball. There are the ones who do not facilitate automation because they are afraid of losing control and burning panel. And there are the ones who do but work in isolation.

I do not believe there can be one company that will fill all the needs in Panel data. ToLuna is posturing itself as a one stop for all MR needs: the software, the panel and the behaviour. SSI is doing something similar and the merge with ResearchNow is going to be very interesting. The Leonard Murphy analysis about that on GreenBlog was great btw. And it won’t be scraps left for the others – because the need for data is growing – the need for specialised quality data will be growing too.

babel

But we need a common language. A common grammar. What is a social grade? How do I define national representativity? And how do I trigger a soft launch? How do I notify that a quota is full?

But there is another side to this discussion. If we let anyone access a survey which is tedious, long, repetitive, with grids, 2 max-diff exercises and one 20 minute trade-off, how do we reward the dedicated weirdos that filled that nightmare of a survey? How do we warn them that they are in for the long run? Because we might lose another goose with golden eggs. How can we stop the cull of panellists and the ever drop in response rates?

tediousness

I suggest we build metrics: number of questions, number of responses in a question. And then number of words per question, number of similar questions, number of mandatory open-ended questions… and then build a model.

$(Survey) => (Length(Survey) x TotalTediousness(Survey))-1

And then remunerate the panellists (and their providers) accordingly.

While I was preparing this discussion with all of you, most of you mentioned of how slow moving our industry was. It’s not just that: it’s protective, short-sighted and technologically unaware. And that’s everything the ASC is not. It’s at the ASC that triple-S, a format to exchange survey data between competing survey software was created and promoted. It’s two of my competitors, Steve Jenkins and Keith Hughes, who patiently showed my errors and taught me how to write a proper triple-S file. Let’s all be a little bit more like them and a little bit less like Apple who introduces a new plug and a new format with each new version.

chinese-propaganda

That’s my manifesto – a call for arms… please discuss and let’s move it forward.

Richard Collins becomes Askia’s first Chief Customer Officer

In this board-level role, Richard will manage and develop Askia’s international client base, as well as take overall responsibility for Askia UK office.

Richard Collins

Richard (pictured above) has built a unique track record in the Market Research industry playing key roles in leading companies. Most recently he was Chief Customer Officer for Big Sofa Technologies and before that he founded the first international office for Decipher Inc. in London (known as Decrypt and acquired by FocusVision). Prior to that, he has also held senior positions with Confirmit, Pulse Train and SPSS/IBM.

Patrick George-Lassale, Askia CEO, comments:  It’s the perfect fit at the perfect time! We are ready to take our global business development to the next level. Richard has inspiring skills and experience and we share the same values: we simply had to work together.”

Richard adds:  “It is an extremely exciting time to be joining Askia. We have some important announcements that we are preparing to share over the coming months that will see the company change significantly: both from an organisational and a technological point of view.”

Stay tuned for further details.

MaxDiff grows!

This article provides an in-depth explanation of AskiaDesign‘s built-in capacity to manage MaxDiff data collection & analysis methodologies. For those of you who, like me, need a short reminder of what MaxDiff is; this is the definition provided by Wikipedia:

The MaxDiff is a long-established academic mathematical theory with very specific assumptions about how people make choices: it assumes that respondents evaluate all possible pairs of items within the displayed set and choose the pair that reflects the maximum difference in preference or importance. It may be thought of as a variation of the method of Paired Comparisons. Consider a set in which a respondent evaluates four items: A, B, C and D. If the respondent says that A is best and D is worst, these two responses inform us on five of six possible implied paired comparisons:

A > B,  A > C,  A > D, B > D, C > D

The only paired comparison that cannot be inferred is B vs. C. In a choice among five items, MaxDiff questioning informs on seven of ten implied paired comparisons.

MaxDiff table

We have recently added a new ADC to our offering that allows you to easily create MaxDiff tables in AskiaDesign. This article covers the setup process and usage for such comparison tables:

MaxDiff table ADC

 

This Askia Design Control allows you to easily create the required screen format for MaxDiff surveys. Add the ADC to your resources, drag it on to your Most response block, set any captions you want to appear in the headers of your grid and select the Least question it should be connected to. As with most ADCs, this survey control allows you to customise many parameters, such as:

  • Least Question: when you drag the ADC on to the response block for your ‘Most’ question, this is where you define which ‘Least’ question it relates to.
  • Most Caption: the caption you want to appear in the ‘Most’ column header.
  • Least Caption: the caption you want to appear in the ‘Least’ column header.
  • Centre Caption: the caption you want to appear in the centre column header e.g. this can be information about the loop iteration or screen number.

You can play around with this survey control in the following demos:

Alternatively, you can download (or even contribute) the MaxDiff ADC from Github!

MaxDiff interactive library

When conducting MaxDiff methodology you have a number of different parameters to consider and produce programming instructions for. At Askia, we have used the R software environment to do this for the different parameters and a large range of the options for each. We have created an interactive library in Design which asks you what option you want for each parameter. The result is a greatly simplified process for producing any MaxDiff design with Askia.

The available parameters are:

  • Number of questions: also known as the number of arrangements or number of screens. This is the number of screens the respondent will see during the course of the MaxDiff section.
  • Number of selectable items: this is the number of options to choose between per screen.
  • Number of items: this is the number of attributes or statements you want to include overall in the MaxDiff design.

As from version 5.4.6 of AskiaDesign, you can now use our Interactive Library feature to easily create and setup your MaxDiff design with the help of the above parameters:

MaxDiff interactive library

 

Check out the full article for more in-depth information & resources.

Adaptive MaxDiff

As we have seen in the above, the key point with standard MaxDiff is that the arrangements on screen are pre-set and do not adapt to the responses given in interview. In addition, the number of selectable options on screen is a constant.

However, in adaptive MaxDiff, the number of selectable options will change. Each round of screens, the items selected as Least are removed from the next round of screens. The number of items on screens therefore diminishes until you get to the start of the last round where you are asked to pick between all those you chose as Most.

The advantages of adaptive MaxDiff are that greater discrimination between items of importance is achieved. The disadvantages? Well, it could be argued that, since your initial answers create the upcoming arrangements, you do not have as much opportunity to change your mind about items you have rated least important in previous rounds.

This article details these differences, provides an example questionnaire to showcase the setup of this methodology with Askia as well as instructions on using and updating the example file for your own list of items.

New KB article roundup

This article aims to provide you with the best of our most recently published articles on our Help Centre, these range from AskiaDesign and AskiaSurf to AskiaWeb.

Redirect out of an Askia survey and back again

Sometimes it’s required to leave an Askia survey to take part in an external exercise and return to the survey to complete it. In such cases, it may be required to take parameters from the Askia survey to the external application or page. This article will show an example of these requirements using AskiaDesign.

Check out the full article for more details, access to the example survey and download all the attached resources.

Survey router

This article shows how to route a respondent from a main survey to two follow-up surveys out of a possible six depending on their initial selection and remaining SQL quotas. The seven surveys are set up such that the respondent will always be taken back to the correct position in any of their surveys if they close the browser and then click on the original link again.

The original article contains a link to a demo survey as well as an example questionnaire file in order to help you setup this methodology.

Quota logic examples in Design

This in-depth article provides a detail explanation of how to automatically manage quotas during fieldwork, specifically for complex quotas and/or for edge cases such as:

  • Sending an over-quota respondent to a short survey
  • Least Filled quotas

Quota logic example

Each case is fully detailed and provides example surveys to help you adapt the chosen method to your needs!

Local Storage

The Web Storage API provides mechanisms by which browsers can store key/value pairs, in a much more intuitive fashion than using cookies. This API provides two mechanisms:

  • Session Storage: maintains a separate storage area for each given origin that’s available for the duration of the page session (as long as the browser is open, including page reloads and restores)
  • Local Storage: does the same thing, but persists even when the browser is closed and reopened.

This article covers the use of localStorage as it is often used in CAPI surveys, where you want the agent to avoid re-entering the same data twice. A typical use case is an agent interviewing passengers on a single bus line. Once the agent has entered the bus line during the 1st interview, we want to pre-fill this question for new interviews, while leaving the possibility for the agent to edit at a later stage.

Check out the article for more details and access to the example questionnaires.

Capture browser’s user agent after every survey screen

The User Agent is basically an application that acts on behalf of a user. In the case of web browsers, it provides to the website / web application information concerning which browser, browser version, operating system, …

Askia only captures one instance of the browser’s UserAgent inside of the SQL database, meaning anytime you use the “Browser.UserAgent” keyword, it references the UserAgent that was captured in the database (which is the last device to enter into the survey). This Askia keyword does not keep track of which devices/UserAgents partook in the survey itself. Again, it only records the UserAgent of the last device that entered the survey or answered a question. If you want to keep track of which UserAgent was used to answer which question, you’ll need to use the snippet of JavaScript included in the article to pull in the UserAgent into an open-ended variable after every screen.

Improve speed of large Surf set-ups

This article sets out the steps needed for using askia Analyse & Surf to improve the (metadata) speed of Surf set-ups with a large number of .qes (wave) files.

We already had some more general tips to improve such rendering that would be useful for standalone datasets. However, these would not suffice in the case of complex AskiaSurf set-ups that comprise a large number of waves. The article therefore details the use of AskiaSurf’s Improve Metadata Speed feature.

Askia User Survey 2017 results

The 2017 edition of our popular Askia User Survey was mailed out this past spring.

We received a record number of replies this year and once again, we were humbled by the tremendous amount of constructive feedback.

Whether it was an appreciative nod to one of our teams, a smart suggestion for improvement, or an insightful story about your personal Askia experience: all your responses are incredibly valuable to us and help us bring the best out of our software.

If you took part in the survey, we’d like to say again how thankful we are for your time. We told you in the introductory video that we would read all of the comments – and we did. There were a lot of them. You sometimes made us laugh. We also sometimes blushed with pride, other times with scorn.

Jérôme Sopoçko has personally replied to quite a few users already and whilst he’s still working on it, we thought now may be a good time to share the best bits of our analysis with you all, together with some cool infographics.

The highlights

When reading all your comments, we noticed four recurrent requests for which tools are either already in place, or will be very soon. So before we get down to the nitty gritty, let’s take a look at these all-important questions and the answers we have for you:

Request #1: improved quota management

You wrote: 

I want to use dynamic quotas 

Please can you improve quota management (grouping, quota scripting)

Well we have good news for you: it’s already in place in version 5.4.4! And this is how to do it We also recommend that you read Jerome’s blog post which is full of valuable information on this topic. 

Request #2: managing panels with Askia

You wrote:

We need a solution to manage panels

Can you provide integration with a panel management platform

We have a solution and it’s called Platform One: Askia and Platform One have created together a platform for panel and community management. Platform one is fully preattuned to the Askia survey software so you are guaranteed seamless integration and seamless service.

Request #3: creating my own look & feel using custom codes

You wrote:

I find it next to impossible to get web screens to look how I want them to

I’d like a slider to navigate through the questionnaire

The one page design survey from typeform is highly visual and I’m unable to recreate this look/feel on Askia

Here again, we have a solution: the ADPs enable you to define exactly what code is generated, in the manner of a master page (php or asp). The ADPs are available in version 5.4.6.

Request #4: dashboarding

You wrote:

What I really need is data visualization tools and online dashboarding

The solution is our upcoming revolutionary dashboard developed in partnership with E-Tabs. Read the press release here and stay tuned for more details.

These are the topics that stood out from your comments. Now let’s look at the rest of the survey results. But before, I have to take my hat off to Seyf who put together the very comprehensive analysis that follows: thank you!

The details

What did you like?

We asked you what you like about our products and a number of themes emerged.

To begin with, you praise the fact that our software is powerful and offers endless possibilities, yet remains very easy to use: Right combination of complexity (i.e. high function) and usabilityThe general speed of all the products is often mentioned, as is the overall look and design of the products.

You also like that it’s all in one, and that it covers most of the Market Research needs across all data collection methodsThe range and integration of our products get your approval: you can use the same file format from survey design, to multiple collection methods, to data analysis.

Finally, you give top marks to the flexibility and versatility of the software including the extensibility of products such as Design and Vista.

Many of you rave about our Support team, even though technically they’re not a product; in particular, their knowledge of the software and their response speed get the thumbs up.

What do you like most about our products?

ProductLikeWordCloud2

Our personal favourite was:

“Very flexible and can do almost anything (even making coffee if you have a coffee machine connected to the internet)“

> Dear Askia user, we’re keen to see pictures of your favourite software making a cuppa!

What did you not like?

No software is perfect, and so we welcome your constructive feedback about the things you do not like.

Mostly, you find that some elements are not 100% intuitive, making some tasks unnecessarily complicated or time-consuming.

You would like to see more documentation, including guides for beginners – and our French users ask for documentation in their mother-tongue.

Occasional errors and the odd bugs were also mentioned, and the fact that sometimes just fixing the issue isn’t enough:

When we ask for help, we often find the issue corrected for us – we’d really like to understand why something has gone wrong

“Generally the fact that when you ask for help, you often find the issue promptly corrected for you, whereas you would like to know how to correct yourself.”

All points duly noted by our team, and we hope that you’ll soon notice significant improvement on them all!

… and what do you dislike most about our products?

ProductDislikeWordCloud2

What should we work on?

What percentage of our askia design development time should we spend on these possible features?

DevTimeDesign2

There were still a large number of respondents who, without prompting, mentioned an improvement on screens is required. It is too difficult to achieve their requirements. There is a huge appetite for a screen editor that would be more WYSIWYG (what you see is what you get).

You’d also like us to work on:

  •         Short captions for responses or an easy way of clearing html from question elements
  •         More automation for building surveys
  •         Other specify in loops / grid tables

What percentage of our askia voice development time should we spend on these possible features?

DevTimeVoice2

Unprompted requests for SMS surveys saw a number of mentions as did speech to text technology, agent and interview evaluations and more variety/flexibility in the reports offered. Finally, clients consistently wanted dev time to be invested in maximising stability, including better diagnostics, tools and measures to prevent the causes of downtime.

What percentage of our askia analyse development time should we spend on these possible features?

DevTimeAnalyse2

Apart from the above areas, you would very much like to see the speed and stability for large volume or complicated data sets improve in both askiaanalyse and askiavista.

Intellisence in all analyse script windows*, more find options* and askiavista 6 admin mode all saw mentions as well as more progress bars in both apps when running lengthy tasks.

Already implemented in Analyse 5.4.6.0

What percentage of our askia web development time should we spend on these possible features?

DevTimeWeb2

You would like to see easier jumping in their surveys to aid testing. A parallax or single page view of any survey would be welcomed as would the ability to upload and reuse media in a web survey. Online focus groups/panels and the usual request of reopening links which are screened or quota failed saw mentions.

What percentage of our askia face development time should we spend on these possible features?

DevTimeFace2

The most consistent theme was reducing the number of crashes in the app.

Askia face users also mentioned the following features they would like to see development time spent on:

  •         Message notifications to interviewer devices or in app/survey from supervisors / agents
  •         Remote control or automatic options such as force survey update or auto sync interviews when connected to web
  •         Audio / screen recording of interviews
  •         Easier handling of multiple visit / session interviews

What else would you like to see?

Askia Users also asked for: web reporting for all supervisor functionality and perhaps dashboarding capabilities for this, connection to panel management systems and media (video / picture / audio file) coding.

Rating the software

  •         82% were either very satisfied or satisfied (up 6% on last wave)
  •         15% were neutral (down 5% on last year)
  •         2% were dissatisfied and less than half a % was ‘Very dissatisfied’

SoftwareOverallSat2

Rating the support

In terms of overall satisfaction:

SupportOverallSat2

  •         80% were either very satisfied or satisfied (up 9% on last wave)
  •         8% were neutral (down 17% on last wave)
  •         3% were dissatisfied and less than half a % was ‘Very dissatisfied’

Respondents were asked to rate their satisfaction with certain attributes of the support team:

SupportAttributeSat2

When it comes to improving Support, you’d like us to be better at explaining the solutions so that you can learn from it. Showing how you figured out the answer and what were the underlying causes. Points that were mentioned a few times:

  •         Support should test their solutions before they send or ask the client to try them
  •         They should listen and try to understand the issue before responding
  •         If it’s a fault of the software, explain what measures will be put in place to stop the same problem happening again
  •         More out of hours support
  •         Easier to navigate documentation, blogs, articles and of course as much of them in French as in English!

ImproveWordCloud

How does support compare?

When askia users were asked to compare askia support to other technical support service providers, we rated higher in 2015 and higher still in 2017!

SupportQualityCompare2

Your feedback is very important to us, so please do not hesitate to send your comments, questions or why not, suggestions for next year’s survey!

You can take a closer look at the results in Vista by clicking here.

One last word…

If you’ve read our entire analysis: wow, we’re impressed! But perhaps you’ve just picked the information you needed then skipped directly to the conclusion. Either way, we cannot say it enough: we are extremely grateful for the time you spent on our behalf, first sharing your thoughts and comments in the User Survey, then reading our answers and analysis in this post.

It’s you, the Askia Users, who keep us growing and improving day by day and you’re the reason we get up in the morning (together with software, our loved ones, and a few other things).

Please continue to be an active part of the Askia community and we guarantee we will make it worth your time!

Askia exhibiting at Research & Results 2017

In about a month’s time, over 3,000 Market Research professionals will flock to Munich to attend Research & Results, one of the leading international trade show for the industry.

Askia is a regular exhibitor at Research & Results and this year again, a sizeable Askia contingent will be in attendance, with team members traveling from Germany, France and Belgium for the occasion.

Visitors, who can register online for free, are sure to be kept busy with 175 exhibitors and over 100 workshops to choose from. This year will also see the introduction of a brand new innovation area.

If you’re planning to attend, please make sure you stop by the Askia stand # 138 in Hall 1. We look forward to seeing you there!

Research & Results
25-26 October 2017
MOC Munich, Germany

Panel providers of the world, unite!

The short story

The industry is demanding more streamlining and automation… the only way that can happen is via standards – what are the Panel providers doing/proposing to do in this respect? We would like better visibility on their APIs and the differences between them… possibly talk about harmonising some key variables. We think there should be an automated standard evaluation of surveys in terms of length and complexity to better pre-evaluate the cost of sample.

We would like panel providers to explain their position – and their added values – in a (wait for it) panel discussion on Thursday the 9th of November in London – ORT House, London NW1 7NE as part of the one day ASC conference.

The very long story

I have always wanted to join an English gentlemen’s club. If I moved to the UK, I was going to be Phileas Fogg: travelling the word after a drunken boast and a wager over a bridge game. Last month (after 22 years in the country), it finally happened; I was asked to join the Association for Survey Computing.

I expected a standard acceptance ceremony: arriving blindfolded in a dark room, greeted by men in togas, a solemn oath with my hand on the 15th century preserved skull of the founder of the organisation, uttering something in Latin, maybe “Nam melius quaestiones”.

I was not disappointed. It was a Thursday morning Webex call to agree the subject of the November one-day conference. After the usual rambling about the weather (it was a cold September morning with a forecast for rain in the afternoon), roles were assigned. “You’re French”, they said, “you’re good at starting revolutions” they said “write a manifesto!”

And in truth, a revolution is needed. In previous years, the only way to have a lucrative MR business (not that I know about that) was to delocalise. The new trend is to automatise: you standardise a survey (want an ad test?), select the target (nat. rep. sir?) and you have your dashboard with your data ready just as your PayPal account is being debited. For this to happen, you need an automation platform (Zappi Store and GetWizer for instance) or a survey platform with an API… and you need a sample provider.

And that’s where it gets complicated.

A short digression into the real world

Let’s imagine you have built the perfect automated survey solution… it works nicely and you get results for every wave in exactly 2 hours 47 minutes. But for a given survey, you want to use a different panel provider to reach a very niche B2B target. You contact that specialist panel provider and explain your needs. They are enthusiastic about the idea and Adam, your contact there, wants to test your survey first – their panellists are special, you don’t get to burn their community like that. After 48 hours, Adam calls you back with a price, it’s on the expensive side but you agree right away because you want the data now – well you actually wanted it 45 hours and 13 minutes ago. Now he sends you a list of the internet parameters you need to accept in your survey… what was called SG with panel provider 1 is now called SocialGrade and GE becomes Gender3b… of course you already know why it’s called Gender3b; they introduced an “other” (and a “prefer not to say”) to the gender question. Your survey scripter says he needs a day (or two) to impact the changes… but he can only start after the week-end because it’s Friday and the web designer who did the icons for the gender question has already gone snowboarding for the week-end.

Here comes Monday, the designer damaged his knee and you decide to scrap the icons. The client checks the survey on Monday afternoon (they are based in the East Coast) and they want the gender icons back to verify the sample… so you add (early next morning) a nice routing to exit the survey if they say “other”. No soft launch, we don’t have time for that. Quickly (but not quite quick enough) you realise you have screened out 99% of respondents – your scripter wrote the routing the wrong way. You call a very unimpressed Adam to stop sending sample. Your guys finally correct the routing but unimpressed Adam has gone for the day. You eventually get through to him late morning the next day and he agrees to send more sample.

The data fills your automated portal nicely… you start to relax. You shouldn’t, your client has had a look at the data and he has noticed something very weird with the student segment. How is that possible? You’ve changed nothing there… until you decide to call Adam who reluctantly agrees to take you on. He explains calmly that although the internet parameter is indeed SocialGrade, the value 23 does not indicate “Students” but “Deep sea divers”… Did you not read the explanatory document he attached to his email on Thursday last week?

Now you know you are going to have an interesting conversation with both your client and your boss. But you may as well leave it until tomorrow.

And that’s how automation got scrapped in what you must now call your previous job.

The quest

So let’s get back to my personal quest – how can I make automation and surveys better? The answer is simple: by getting panel providers talking to each other.

That’s never going to be easy. Some of them are already panel aggregators and they feel they have already done the hard job. Others feel commoditising panels is not in their interest and will drive prices down. Some say it’s simply not possible because their own data is too rich. And all agree that sending sample to a broken or boring survey is the one reason that response rates – along with data quality – are dropping.

And they are right. Data is precious. We need to treat interviewees with respect and that’s not what we do when we send them a 40 minute conjoint survey (and tell them it will last 10). For panel providers to evaluate pricing properly, they need to know how good (and more likely how bad) our survey is.

We need to build metrics on the length of a survey (a lot of data is available there) but also on the boredom index of a survey: number of grids, number of responses per question, number of words per question text, number of questions with similar text, number of mandatory open-ended questions… and prices should vary accordingly.

Another option would be that the price could be fixed by the soft launch data. At the end of the survey, we measure interview interest and fix the price of the panel accordingly – with a rebate if the full survey data is actually below the early measure.

And how do we harmonise panel data? Should we break down questions in categories and sub-categories (demographics, lifestyle, political leaning) and incorporate that in the naming? Can we have the same break-down across different countries? For which questions? Should the naming convention clearly indicate the number of responses to avoid coding errors?

Be our panelist for a day

We’ve so many things to discuss… and we thought it’d be best if we did it in public. You, the panel providers, could tell us what you think… explain what’s special about your company, detail your API or your choice not to have one. And the ASC audience – rather technical but friendly – could tell you what they want and stand witness to your promises. The result could be a standard, (national or international), an API router or just an Excel spreadsheet, depending on the uptake… but independently managed – by the MRS, Esomar, ASC or SampleCon.

So please come to ORT House in London, on Thursday the 9th of November. Tell me who from your company is ready to speak and take part in the panel’s panel discussion, and in a few lines, give me an outline of how you’d respond to our challenge on harmonising panel data and panel interfaces by Monday 2 October. We’re looking for original thinking, fresh ideas and practical answers.

Panel Providers of the World, Unite!