Application usage statistics and targeted user surveys

Aleix Pol aleixpol at kde.org
Thu Jun 15 14:42:39 BST 2017


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
>

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.

Aleix

Aleix




More information about the kde-core-devel mailing list