Application usage statistics and targeted user surveys

Ben Cooksley bcooksley at kde.org
Thu Jun 15 21:22:19 BST 2017


On Fri, Jun 16, 2017 at 1:42 AM, Aleix Pol <aleixpol at kde.org> wrote:
> On Tue, Jun 13, 2017 at 6:56 PM, Volker Krause <vkrause at kde.org> wrote:
>> On Monday, 12 June 2017 01:56:21 CEST Aleix Pol wrote:
>>> On Sat, Jun 10, 2017 at 10:22 AM, Volker Krause <vkrause at kde.org> wrote:
>>> > On Tuesday, 6 June 2017 15:01:57 CEST Aleix Pol wrote:
>>> >> On Thu, May 25, 2017 at 4:42 PM, Volker Krause <vkrause at kde.org> wrote:
>>> >> > On Wednesday, 24 May 2017 17:38:22 CEST Aleix Pol wrote:
>>> >> >> On Tue, May 23, 2017 at 6:31 PM, Aleix Pol <aleixpol at kde.org> wrote:
>>> >> >> Hey Volker, I figured out this one. Never mind.
>>> >> >>
>>> >> >> I've done a proof of concept integrating it in Discover, here's 2
>>> >> >> patches:
>>> >> >> https://phabricator.kde.org/D5960
>>> >> >> https://phabricator.kde.org/D5961
>>> >> >
>>> >> > There's still two aspects missing in the integration:
>>> >> > - configure Provider to actually submit (see productIdentifier,
>>> >> > feedbackServer and submissionInterval properties)
>>> >> > - probably add some data sources (in the current form you only get an
>>> >> > indication on how many users you have, and untargeted surveys, nothing
>>> >> > more)
>>> >> >
>>> >> > The second point will need some more QML wrapper API. I'll look into
>>> >> > adding a QML plugin to KUserFeedback directly for this.
>>> >> >
>>> >> >> Now to proceed I'd like to give a try to whole system including the
>>> >> >> server. Do you have documented how to set it up anywhere? Would make
>>> >> >> it easier.
>>> >> >
>>> >> > INSTALL contains the deployment documentation, both for the full setup
>>> >> > with
>>> >> > authentication on an Apache server, and locally for unsecured testing
>>> >> > using
>>> >> > the built-in PHP server.
>>> >> >
>>> >> > I've also got a playground server on my own infrastructure now that I
>>> >> > can
>>> >> > provide accounts for. And Jan has published his ongoing work on
>>> >> > creating a
>>> >> > Docker image for the server here:
>>> >> > https://github.com/KDAB/kuserfeedbackdocker
>>> >> >
>>> >> > Regards,
>>> >> > Volker
>>> >>
>>> >> Hi Volker,
>>> >> More noob feedback:
>>> >> I set up a local system I could tinkle with using your colleague's
>>> >> docker. Worked quite well. But, I was getting an issue, possibly fixed
>>> >> by this patch:
>>> >> https://phabricator.kde.org/D6117
>>> >
>>> > This looks good, I'll try to get that path unit-tested to make sure this
>>> > works with sqlite too. However, you should not actually hit this path in
>>> > the first place, which is probably also why you are not seeing any data.
>>> >
>>> >> Now I get to see things being sent on the UserFeedbackConsole
>>> >> application, but I only see timestamps. I added debug information to
>>> >> see what is being sent and (after updating the discover patch above)
>>> >> and I see all sort of data, being delivered. Is it being lost in the
>>> >> internets? Or am I not looking into it correctly? If I export the
>>> >> product using UserFeedbackConsole I also only get timestamps :(.
>>> >
>>> > Do you see the empty columns for the other data in UserFeedbackConsole, or
>>> > do you only see the Timestamp column? In the former case the data is
>>> > either not transmitted, or rejected by the server for some reason, we'd
>>> > need to look at the JSON payload sent to the server in that case. In the
>>> > other case, you probably need to set up a product schema first with
>>> > UserFeedbackConsole (easiest via Schema -> Source Templates in the Schema
>>> > view).
>>>
>>> Here's what I'm seeing: https://imgur.com/a/BmH2B
>>> I've seen the schema view, I haven't pushed it much. I see I can add
>>> stuff but I'm not sure what it's for. I expected the system to
>>> integrate all data offered, but maybe I need to set the expectations
>>> on the server side?
>>
>> Yes, exactly, that's what the schema does. Easiest way to get started is
>> probably to just import the orwell example schema there, that contains all
>> existing data sources, or you just create sources from their corresponding
>> templates.
>>
>> That is, in the schema view chose schema -> import schema... or schema ->
>> source template > .... When you are done, select schema -> save schema to
>> write the changes to the server. Afterwards you should see a lot more columns
>> and more charts in the analytics view.
>>
>> User documentation is still fairly limited on this, but there is a start of a
>> user manual describing the data model, that should help to explain most of the
>> options you have in the schema view.
>>
>>> Either way, this is the information being sent at the moment (I copied
>>> your orwell.qml example sources so far).
>>> {
>>>     "applicationVersion": { "value": "5.10.90" },
>>>     "compiler": { "type": "Clang", "version": "4.0" },
>>>     "platform": { "os": "linux", "version": "arch-unknown" },
>>>     "qtVersion": { "value": "5.9.0" },
>>>     "startCount": { "value": 76 },
>>>     "usageTime": { "value": 34132 }
>>> }
>>
>> That looks sane and shouldn't be the problem indeed.
>>
>> Regards,
>> Volker
>>
>>> > I'll also try your Discover patches here to see if I can reproduce this,
>>> > the QML bindings haven't gotten any real use yet, quite possible some
>>> > stuff doesn't work there correctly yet.
>>>
>>> I'll update the patch to adapt to changes in kuserfeedback.
>>>
>>> Aleix
>>
>

Hi Aleix,

> Interesting, yes, adding the schemas in
> kuserfeedback/src/console/schematemplates starts to gather more stuff.
> I'm thinking that maybe it would make sense to add some API to export
> the application's schema?
>
> Now it also would make sense to have some feedback on how this would
> be implemented in KDE, on the server side. Sysadmins, have you looked
> into it?
> Being able to allow maintainers to manage these schemas would be ideal.

At this time I haven't had the time to look into it i'm afraid.
Getting the new CI system launched has been occupying most of my time
as of late.

>
> Aleix
>
> Aleix

Cheers,
Ben




More information about the kde-core-devel mailing list