deckgo / deckdeckgo

The web open source editor for presentations
https://deckdeckgo.com
1.64k stars 183 forks source link

studio: provide analytics and statistics about the published decks #345

Open peterpeterparker opened 5 years ago

peterpeterparker commented 5 years ago

a couple of beta testers reported that they would be happy to get analytics/statistics about their published decks (clicks, views, etc.)

pro: that's definitely something cool and kind of common to have that kind of statistics about own published content (dev, medium etc.)

cons: we currently do not track anything, even on all our apps, it's kind of cool

grantlouisherman commented 5 years ago

Hey @peterpeterparker could I take a look at this?

peterpeterparker commented 5 years ago

@grantlouisherman this is a bit early as we still even have to think about the "pro and cons"

but I've absolutely and didn't analyze at all yet, how we could solve this respectively which solutions would be a suitable one. if you have any idea or hints, these would be welcomed

grantlouisherman commented 5 years ago

Hey @peterpeterparker I could do some research and come back with some options?

peterpeterparker commented 5 years ago

@grantlouisherman that would be cool!

grantlouisherman commented 5 years ago

Sounds good @peterpeterparker. I'll do some digging. We can label this ticket a SPIKE, which in Agile methodology/lingo is seen as a research ticket. Not sure if github has a similar label.

peterpeterparker commented 5 years ago

@grantlouisherman there is a default "question" label, better than nothing ;)

sounds cool, looking forward to your findings

grantlouisherman commented 5 years ago

hey @peterpeterparker do you want to start out with just a click tracker? From the description it seems like the beta testers just wanted something to track their clicks and let them know which of their presentations has been viewed the most, is that correct? So did you envision a dashboard for this or more like there is a box under each presentation that shows the total # of clicks/views?

peterpeterparker commented 5 years ago

@grantlouisherman well first of all, I, personally, don't care about the statistics of my own presentations, just to be clear on that 😉 it's really something requested by 2-3 users

my guess, agree with you, is that they probably want some statistics commonly provided by content platform, like dev or medium. for example, "how many views" and "how many effective reads".

if I should envision this then yes I think we would provide these metrics in a dashboard or specific statistics page.

but that's in the future. my understanding is that right now we should analyze which analytics solutions do exists? what are their assets? could they be integrated? what are the costs? or should we develop something ? or a bit of both?

furthermore, something really important: privacy first. therefore another question is should we save the analytics in our cloud? or what are the privacy data guarantee ?

what do you think? agree on that approach?

grantlouisherman commented 5 years ago

hey @peterpeterparker so I actually think the analytics should probably exist on the cloud, let me tell you why. Alot of the solutions that are out there like Google Analytics, Adobe Analytics, etc. Here is an article you can look at if your interested from some generic ones:https://www.americanexpress.com/en-us/business/trends-and-insights/articles/the-10-smartest-web-analytics-tools/. All these tools however seem apply to the owner of the website. So for someone like you these tools would be very useful, but I'm not sure how useful they would be for a user.

I think the best approach is start out with a prototype that is a HOC that tracks clicks and is saved in the cloud for that user and from there you can expand. You could do is a very simple graphing to track total clicks per month and aggregate counts for clicks on certain presentations. Please see attached for a very basic component idea on how to do that.

Im not sure what Medium uses, but I think they are storing and presenting the data themselves: curl_medium.txt (This curl request is huge, but if you parse through it you can see that Medium is making a GraphQl query for user claps, so I assume they are doing the same thing for your personal articles.)

Since the data is very low risk I dont think there is a particular risk in terms of storage and security.

comp.txt

Let me know your thoughts!

peterpeterparker commented 5 years ago

@grantlouisherman thx for all the inputs, super interesting!

about "cloud analytics" I'm agree with you, the goal is to provide metrics to the users about their decks not for our self.

the idea of a POC/component might work but there is one complexity: the metrics have to be tracked "outside" of the editor and all presentations are shipped as standalone apps (without any db connections). of course that would work but it implies a complexity and we should be sure that it won't implies too much work too because it would mean that we would not just have to build the component but also secure performant api endpoints for that purpose.

I should think about it and discuss with my colleague, definitely interesting inputs and good idea 👍

p.s.: if I'm not wrong, thinking about it now, one of the guy of the local Ionic community added recently a kind of "google analytics you run on your own server" to its project. I should ask him if his solution also offers an API to query data for specific targets, maybe...

grantlouisherman commented 5 years ago

Hey @peterpeterparker please let me know what you find out about the ionic analytics project, sound interesting. I think that the end of the day his could add cool functionality, especially if you want people to share/edit presentations together.

I think that it really depends on what you want to get out of the analytics. Did the beta users just want to see how many people are viewing their presentations? Did they want to know if people liked them or not?

If there is an ionic community solution that is plug and play then integrating that into the application would great. However, creating one from scratch could be a large undertaking that would probably require a MVP, some user testings, etc. What we have at my company is our own HOC that plugs into Adobe Analytics. So if there was a way to create your own component that interacts with the "google analytics you run on your own server", then that could be a really clean solution.

I think it depends on the overall vision for this project. I would also be curious to know what user's really think of seeing click data about their presentations/articles. I know Medium and Dev have it, but what is vision of having that? Is it for the author to be able to tell people that they wrote an article, in your case presentation, that a lot of people have looked at and for them to keep producing content? Or is it a way to curate content for users to see which are most liked, via claps/likes, or most viewed? Maybe it is a bi-directional value.

peterpeterparker commented 5 years ago

@grantlouisherman agree with you, I think the vision should be cleared first. my guess is that users, who reported that they would like such analytics, are looking to have access to metrics like those provided by dev or medium, like "how much time has my presentation been viewed?" or "how much persons did actually went through the all presentations". we should probably go in that direction

regarding "ionic community", there is a misunderstanding. as far as I know there aren't any ionic such things. what I meant is that we've got an ionic local meetup and one of the guy implemented something recently ("not ionic tech related").

long story short, I gonna speak with him and with my colleague, let's see what are the ideas which pop up afterwards

thx for all the valuable inputs 👍 I keep you posted

grantlouisherman commented 5 years ago

Sounds good