[xwiki-devs] Alternative Activity Stream experiment
Hi, While working on the mobile application I needed a notification system that would send enough but not to many notifications of changes in a wiki. Also I needed the message to be short. In the end I looked at changes every five minutes and I constructed a short message depending on the amount of changes (if only one page is added then send the page title, if multiple pages are changes in one wiki send the wiki names and the number of changes, etc..) After using this for a while on my mobile I found the result quite interesting and I thought this could also apply to the activity stream. Here comes an activity stream experiment based on this method: http://www.xwiki.org/xwiki/bin/view/Main/ActivityStreamDemo (on a multi wiki) http://incubator.xwiki.org/xwiki/bin/view/Main/ActivityStreamDemo (on a single wiki) Additionally this method allows to implement it quite efficiently, as you can see at the bottom of the page. It was possible to make this display with only 2 queries (plus loading of documents for the security checks, which could in the end be the most costly). One queries finds the intervals of 5 (or more) minutes in which there are data. From there we know how much data we need from the activity stream and can retrieve all that data in one query. Finally group by group we construct the message display. The fact that you can run this in 2 queries is very important as it means you can have steady performance both for very active wikis but also for wikis that have much less or much older activity. One of the big problems of activity stream displays is that you never initially know how much data you need to display results. By clicking on the group you can load in ajax the details of the changes. You can also change the group delay and the number of groups displayed. Here 60 minutes showing 40 groups http://www.xwiki.org/xwiki/bin/view/Main/ActivityStreamDemo?max=40&delay=60 What is interesting with this system is that the use could decide the delay so that he gets a general view of the activity over a long period of time. You could display a couple weeks with a 24 delay and if you click on the day you show by groups of 30 minutes. This opens a lot of possibilities. You could also get into the details of the last hour, then be less detailed for the less recent changes. Food for thoughts for the redesign of the activity stream. Ludovic -- Ludovic Dubost Founder and CEO Blog: http://blog.ludovic.org/ XWiki: http://www.xwiki.com Skype: ldubost GTalk: ldubost
On Mon, Jun 3, 2013 at 12:15 PM, Ludovic Dubost <[email protected]> wrote:
Hi,
While working on the mobile application I needed a notification system that would send enough but not to many notifications of changes in a wiki. Also I needed the message to be short.
In the end I looked at changes every five minutes and I constructed a short message depending on the amount of changes (if only one page is added then send the page title, if multiple pages are changes in one wiki send the wiki names and the number of changes, etc..)
After using this for a while on my mobile I found the result quite interesting and I thought this could also apply to the activity stream.
Here comes an activity stream experiment based on this method:
http://www.xwiki.org/xwiki/bin/view/Main/ActivityStreamDemo (on a multi wiki) http://incubator.xwiki.org/xwiki/bin/view/Main/ActivityStreamDemo (on a single wiki)
http://incubator.myxwiki.org/xwiki/bin/view/Main/ActivityStreamDemo
Additionally this method allows to implement it quite efficiently, as you can see at the bottom of the page. It was possible to make this display with only 2 queries (plus loading of documents for the security checks, which could in the end be the most costly). One queries finds the intervals of 5 (or more) minutes in which there are data. From there we know how much data we need from the activity stream and can retrieve all that data in one query. Finally group by group we construct the message display. The fact that you can run this in 2 queries is very important as it means you can have steady performance both for very active wikis but also for wikis that have much less or much older activity. One of the big problems of activity stream displays is that you never initially know how much data you need to display results.
By clicking on the group you can load in ajax the details of the changes.
You can also change the group delay and the number of groups displayed. Here 60 minutes showing 40 groups
http://www.xwiki.org/xwiki/bin/view/Main/ActivityStreamDemo?max=40&delay=60
What is interesting with this system is that the use could decide the delay so that he gets a general view of the activity over a long period of time. You could display a couple weeks with a 24 delay and if you click on the day you show by groups of 30 minutes. This opens a lot of possibilities.
You could also get into the details of the last hour, then be less detailed for the less recent changes.
Food for thoughts for the redesign of the activity stream.
Ludovic
-- Ludovic Dubost Founder and CEO Blog: http://blog.ludovic.org/ XWiki: http://www.xwiki.com Skype: ldubost GTalk: ldubost _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
On 06/03/2013 05:15 AM, Ludovic Dubost wrote:
Hi,
While working on the mobile application I needed a notification system that would send enough but not to many notifications of changes in a wiki. Also I needed the message to be short.
In the end I looked at changes every five minutes and I constructed a short message depending on the amount of changes (if only one page is added then send the page title, if multiple pages are changes in one wiki send the wiki names and the number of changes, etc..)
After using this for a while on my mobile I found the result quite interesting and I thought this could also apply to the activity stream.
Here comes an activity stream experiment based on this method:
http://www.xwiki.org/xwiki/bin/view/Main/ActivityStreamDemo (on a multi wiki) http://incubator.xwiki.org/xwiki/bin/view/Main/ActivityStreamDemo (on a single wiki)
Additionally this method allows to implement it quite efficiently, as you can see at the bottom of the page. It was possible to make this display with only 2 queries (plus loading of documents for the security checks, which could in the end be the most costly). One queries finds the intervals of 5 (or more) minutes in which there are data. From there we know how much data we need from the activity stream and can retrieve all that data in one query. Finally group by group we construct the message display. The fact that you can run this in 2 queries is very important as it means you can have steady performance both for very active wikis but also for wikis that have much less or much older activity. One of the big problems of activity stream displays is that you never initially know how much data you need to display results.
By clicking on the group you can load in ajax the details of the changes.
You can also change the group delay and the number of groups displayed. Here 60 minutes showing 40 groups
http://www.xwiki.org/xwiki/bin/view/Main/ActivityStreamDemo?max=40&delay=60
What is interesting with this system is that the use could decide the delay so that he gets a general view of the activity over a long period of time. You could display a couple weeks with a 24 delay and if you click on the day you show by groups of 30 minutes. This opens a lot of possibilities.
You could also get into the details of the last hour, then be less detailed for the less recent changes.
Food for thoughts for the redesign of the activity stream.
Ludovic
Hi Ludo, Timeboxing the changes isn't right, since on a wiki with moderate to high activity it will just be useless: it doesn't say anything about the documents that were modified unless the groups are expanded. This is especially true in a workspace environment: all it will say is: 5 minutes ago: X changes in Y wikis 10 minutes ago: X changes in Y wikis 15 minutes ago: X changes in Y wikis ... -- Sergiu Dumitriu http://purl.org/net/sergiu
Hi Sergiu, Well grouping them by document isn't good either, as it does not account for an actual activity that would have had multiple changes at once (example: generating a documentation, importing a xar or else). It also fails the chronology (an older change is grouped into the latest change) which is one of the reason for the performance issue we have on the current activity stream and also will make it impossible to add to your stream with new data as the result would be different than a reload. If there are too many you need some sort of grouping which gives you a sense of the activity in that wiki. Then you can expand to see the details. You can click inside the 5 minutes groups to get more details about the actual activities that were performed in those 5 minutes. If there are many many changes you could go minute by minute first and then expand again, either until you get to something that is not interesting to you or to an individual change. At that point you can display more information like the comment if it was a comment, or more details about the change itself. You could provide an actionable item. The detailed information that you give all depends on the amount of information you get in your 5 minute range. If you have sufficienly little changes you can give more details. If not you invite to expand. What is interesting is the ability to manage both low usage wikis and high usage wikis. In the case of high usage, it's useless anyway to look at all changes one by one. You need to force a grouping that will reduce the amount of information initially displayed. I've updated the demo to give it a better look. http://www.xwiki.org/xwiki/bin/view/Main/ActivityStreamDemo Ludovic 2013/6/5 Sergiu Dumitriu <[email protected]>
On 06/03/2013 05:15 AM, Ludovic Dubost wrote:
Hi,
While working on the mobile application I needed a notification system that would send enough but not to many notifications of changes in a wiki. Also I needed the message to be short.
In the end I looked at changes every five minutes and I constructed a short message depending on the amount of changes (if only one page is added then send the page title, if multiple pages are changes in one wiki send the wiki names and the number of changes, etc..)
After using this for a while on my mobile I found the result quite interesting and I thought this could also apply to the activity stream.
Here comes an activity stream experiment based on this method:
http://www.xwiki.org/xwiki/bin/view/Main/ActivityStreamDemo (on a multi wiki) http://incubator.xwiki.org/xwiki/bin/view/Main/ActivityStreamDemo (on a single wiki)
Additionally this method allows to implement it quite efficiently, as you can see at the bottom of the page. It was possible to make this display with only 2 queries (plus loading of documents for the security checks, which could in the end be the most costly). One queries finds the intervals of 5 (or more) minutes in which there are data. From there we know how much data we need from the activity stream and can retrieve all that data in one query. Finally group by group we construct the message display. The fact that you can run this in 2 queries is very important as it means you can have steady performance both for very active wikis but also for wikis that have much less or much older activity. One of the big problems of activity stream displays is that you never initially know how much data you need to display results.
By clicking on the group you can load in ajax the details of the changes.
You can also change the group delay and the number of groups displayed. Here 60 minutes showing 40 groups
http://www.xwiki.org/xwiki/bin/view/Main/ActivityStreamDemo?max=40&delay=60
What is interesting with this system is that the use could decide the
delay
so that he gets a general view of the activity over a long period of time. You could display a couple weeks with a 24 delay and if you click on the day you show by groups of 30 minutes. This opens a lot of possibilities.
You could also get into the details of the last hour, then be less detailed for the less recent changes.
Food for thoughts for the redesign of the activity stream.
Ludovic
Hi Ludo,
Timeboxing the changes isn't right, since on a wiki with moderate to high activity it will just be useless: it doesn't say anything about the documents that were modified unless the groups are expanded. This is especially true in a workspace environment: all it will say is:
5 minutes ago: X changes in Y wikis 10 minutes ago: X changes in Y wikis 15 minutes ago: X changes in Y wikis ...
-- Sergiu Dumitriu http://purl.org/net/sergiu _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Ludovic Dubost Founder and CEO Blog: http://blog.ludovic.org/ XWiki: http://www.xwiki.com Skype: ldubost GTalk: ldubost
participants (3)
-
Ecaterina Moraru (Valica) -
Ludovic Dubost -
Sergiu Dumitriu