Application usage statistics and targeted user surveys

Aleix Pol aleixpol at kde.org
Fri Jun 16 00:23:39 BST 2017


On Thu, Jun 15, 2017 at 10:22 PM, Ben Cooksley <bcooksley at kde.org> wrote:
> 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.

No worries. In fact, delegate! ;)

Aleix




More information about the kde-core-devel mailing list