[Gmod-ajax] Lightweight chat plugin for the JBrowse

classic Classic list List threaded Threaded
21 messages Options
12
Reply | Threaded
Open this post in threaded view
|

[Gmod-ajax] Lightweight chat plugin for the JBrowse

Harsh Gautam
Hello everyone,

My name is Harsh Gautam and I am Computer Science Engineering student. I am extremely interested in working for GMOD as my GSOC project. I would love to work for an organization which is less about software and more about science!

I'd like to work to add the chat plugin for the JBrowse. To understand the code base, I solved some of the issues. (#601, #680, #688). Got used to dojo and require.js.

Please, introduce me to the working environment of here, guide me on the next steps so that we can maximize the amount of work I can do.

Any feedback would be highly appreciated. :)

Thanking You
Harsh Gautam
Thapar Univerity

------------------------------------------------------------------------------

_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

Ian Holmes-2
Hi there Harsh, glad you are interested!
Thank you for getting into those github issues - that is a great start.

As you may have gathered, JBrowse is mostly a static-site kind of application, but we are adding more server code. The 'faye' branch for example contains a preliminary node-based message server for push notifications of new tracks from the server: https://github.com/gmod/jbrowse/tree/faye
We are also working on basic authentication.

The general idea of this project is to add chat and (ideally) other "virtual presence" features, such as being able to see who else is viewing the genome (e.g. avatars), being able to see which sequences they are viewing (or what coordinates/tracks they are viewing on those sequences), being able to share coordinates and other information about their browsing session (such as what tracks are visible, or what region they have highlighted), and so on. The general idea is to make genome browsing a more social experience - so that distributed collaborative conversations can take place in the context of the browser.

Perhaps the easiest way to achieve the most basic of these goals with a very simple chat server would be to hook into the existing faye message server.

One could, alternatively, embed a more fully-featured chat server, such as https://rocket.chat/ which might allow users to share files, videos, etc.

As far as the working culture goes on here - we are pretty open - we love code, so addressing open issues is great! Just go ahead and ask if you have any questions.

Cheers,
Ian


On Fri, Mar 4, 2016 at 8:13 PM, Harsh Gautam <[hidden email]> wrote:
Hello everyone,

My name is Harsh Gautam and I am Computer Science Engineering student. I am extremely interested in working for GMOD as my GSOC project. I would love to work for an organization which is less about software and more about science!

I'd like to work to add the chat plugin for the JBrowse. To understand the code base, I solved some of the issues. (#601, #680, #688). Got used to dojo and require.js.

Please, introduce me to the working environment of here, guide me on the next steps so that we can maximize the amount of work I can do.

Any feedback would be highly appreciated. :)

Thanking You
Harsh Gautam
Thapar Univerity

------------------------------------------------------------------------------

_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax



------------------------------------------------------------------------------

_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

Harsh Gautam
Hi Ian,

Thank you so much for introducing the community to me!

Coincidently the last project I worked on was a chat based game on node.js and socket.io. I used passport.js for authentication which extremely eased the process.

I have few questions regarding the project.
  1. Where will be the actual central Faye servers? Will there be a single server for the entire community? Or the objective is to let people host their own servers? We could use Heroku for development.

  2. I don't think we want to store chat messages on the server-side. We could do it on the client side. But the server-side has to store the user information. What kind of database do you think would be appropriate. I don't think we have any special requirement for using any NoSQL, but MongoDB goes well with node.js. We will not need to make a DB handler with MongoDB like we will for MySQL. I guess we also not need to care about extreme scalability or volume.

  3. Will someone be able to use JBrowse without signing in as avatars? As for using the chat and other virtual presence features one must sign in. I guess we would want all these features to be optional as it will be a plug-in.

I also wanted to discuss the client UI for the chat. We could get people to sign in with a pop-up or side-window. Traditional bottom right chat box or a complete column on the right side? I have some ideas for other social presence features that would increase the productivity.

  1. Like you said, we could view who else is currently viewing the sequence. As Google Docs implements it. On clicking on their avatars (or names) the chat box would pop for direct communication. Attach comments on specific sections. A button to chat with all the people currently viewing a sequence?

  2. Group chats, channels like general or related to specific topics and personal one to one chat like Slack does it.

  3. One could zoom in on a sequence by clicking and dragging, one could also select it like that and share that part with other people.

  4. We could have place for collaborative checklists like Trello.

I think we should also ask the entire community who uses the jbrowse, what social and collaborative tools they would want with a quick survey.

I wanted to know would be the next step for a successful Google Summer of Code project. Should I start with code right away, get involved with Faye branch? Should I solve more issues? Should I start working on my proposal, detailing the plan of action?

Thanking You :)
Harsh Gautam

On Sun, Mar 6, 2016 at 12:40 AM, Ian Holmes <[hidden email]> wrote:
Hi there Harsh, glad you are interested!
Thank you for getting into those github issues - that is a great start.

As you may have gathered, JBrowse is mostly a static-site kind of application, but we are adding more server code. The 'faye' branch for example contains a preliminary node-based message server for push notifications of new tracks from the server: https://github.com/gmod/jbrowse/tree/faye
We are also working on basic authentication.

The general idea of this project is to add chat and (ideally) other "virtual presence" features, such as being able to see who else is viewing the genome (e.g. avatars), being able to see which sequences they are viewing (or what coordinates/tracks they are viewing on those sequences), being able to share coordinates and other information about their browsing session (such as what tracks are visible, or what region they have highlighted), and so on. The general idea is to make genome browsing a more social experience - so that distributed collaborative conversations can take place in the context of the browser.

Perhaps the easiest way to achieve the most basic of these goals with a very simple chat server would be to hook into the existing faye message server.

One could, alternatively, embed a more fully-featured chat server, such as https://rocket.chat/ which might allow users to share files, videos, etc.

As far as the working culture goes on here - we are pretty open - we love code, so addressing open issues is great! Just go ahead and ask if you have any questions.

Cheers,
Ian


On Fri, Mar 4, 2016 at 8:13 PM, Harsh Gautam <[hidden email]> wrote:
Hello everyone,

My name is Harsh Gautam and I am Computer Science Engineering student. I am extremely interested in working for GMOD as my GSOC project. I would love to work for an organization which is less about software and more about science!

I'd like to work to add the chat plugin for the JBrowse. To understand the code base, I solved some of the issues. (#601, #680, #688). Got used to dojo and require.js.

Please, introduce me to the working environment of here, guide me on the next steps so that we can maximize the amount of work I can do.

Any feedback would be highly appreciated. :)

Thanking You
Harsh Gautam
Thapar Univerity

------------------------------------------------------------------------------

_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax




------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

Eric Rasche-3
Just 2 cents from a sys admin who deploys JBrowse/apollo...

2016-03-07 11:51 GMT-06:00 Harsh Gautam <[hidden email]>:
Hi Ian,

Thank you so much for introducing the community to me!

Coincidently the last project I worked on was a chat based game on node.js and socket.io. I used passport.js for authentication which extremely eased the process.

I have few questions regarding the project.
  1. Where will be the actual central Faye servers? Will there be a single server for the entire community? Or the objective is to let people host their own servers? We could use Heroku for development.
People will want to host their own servers.

  1. I don't think we want to store chat messages on the server-side. We could do it on the client side. But the server-side has to store the user information. What kind of database do you think would be appropriate. I don't think we have any special requirement for using any NoSQL, but MongoDB goes well with node.js. We will not need to make a DB handler with MongoDB like we will for MySQL. I guess we also not need to care about extreme scalability or volume.

Some of us absolutely want to store a complete chat log server side
  • it would be nice for the users if they could scroll back through their chat history / catch up on things they've missed while they were away
  • It's necessary for (some) admins to know what was said (logging/auditing purposes).

  1. Will someone be able to use JBrowse without signing in as avatars? As for using the chat and other virtual presence features one must sign in. I guess we would want all these features to be optional as it will be a plug-in.

I also wanted to discuss the client UI for the chat. We could get people to sign in with a pop-up or side-window. Traditional bottom right chat box or a complete column on the right side? I have some ideas for other social presence features that would increase the productivity.

  1. Like you said, we could view who else is currently viewing the sequence. As Google Docs implements it. On clicking on their avatars (or names) the chat box would pop for direct communication. Attach comments on specific sections. A button to chat with all the people currently viewing a sequence?

  2. Group chats, channels like general or related to specific topics and personal one to one chat like Slack does it.

  3. One could zoom in on a sequence by clicking and dragging, one could also select it like that and share that part with other people.

  4. We could have place for collaborative checklists like Trello.

Many of our users and visitors from the internet are ... not extremely technically competent, so keeping things simple is necessary.
  • who else is viewing is very important
  • IMO google docs style bottom right chat box would be ideal, the focus is still on the content inside of JBrowse and usually users are trying to comprehend massive volumes of information contained within, covering up a larger portion of the screen might be undesirable.
  • commenting "on sections" is not as important as commenting on specific features to us (though region based commenting is probably easier to implement).
  • I'd argue that subgroups/channels aren't important, most people have a single organism per JBrowse, it seems like overkill to have subgroups below that. We max out at 5 people viewing a single genome in JBrowse at once (similar for apollo).
  • seeing the regions that others are viewing would be nice. I'm personally fond of how bookmarked regions are displayed on the top genome-position-indicator. Seeing where everyone else was on that bar would be really neat!
  • I'd argue that "select sequence by clicking and dragging and then sharing" would break the current/expected behaviour of "select a sequence to zoom".

I think we should also ask the entire community who uses the jbrowse, what social and collaborative tools they would want with a quick survey.

+1

I wanted to know would be the next step for a successful Google Summer of Code project. Should I start with code right away, get involved with Faye branch? Should I solve more issues? Should I start working on my proposal, detailing the plan of action?

Thanking You :)
Harsh Gautam

On Sun, Mar 6, 2016 at 12:40 AM, Ian Holmes <[hidden email]> wrote:
Hi there Harsh, glad you are interested!
Thank you for getting into those github issues - that is a great start.

As you may have gathered, JBrowse is mostly a static-site kind of application, but we are adding more server code. The 'faye' branch for example contains a preliminary node-based message server for push notifications of new tracks from the server: https://github.com/gmod/jbrowse/tree/faye
We are also working on basic authentication.

The general idea of this project is to add chat and (ideally) other "virtual presence" features, such as being able to see who else is viewing the genome (e.g. avatars), being able to see which sequences they are viewing (or what coordinates/tracks they are viewing on those sequences), being able to share coordinates and other information about their browsing session (such as what tracks are visible, or what region they have highlighted), and so on. The general idea is to make genome browsing a more social experience - so that distributed collaborative conversations can take place in the context of the browser.

Perhaps the easiest way to achieve the most basic of these goals with a very simple chat server would be to hook into the existing faye message server.

One could, alternatively, embed a more fully-featured chat server, such as https://rocket.chat/ which might allow users to share files, videos, etc.

As far as the working culture goes on here - we are pretty open - we love code, so addressing open issues is great! Just go ahead and ask if you have any questions.

Cheers,
Ian


On Fri, Mar 4, 2016 at 8:13 PM, Harsh Gautam <[hidden email]> wrote:
Hello everyone,

My name is Harsh Gautam and I am Computer Science Engineering student. I am extremely interested in working for GMOD as my GSOC project. I would love to work for an organization which is less about software and more about science!

I'd like to work to add the chat plugin for the JBrowse. To understand the code base, I solved some of the issues. (#601, #680, #688). Got used to dojo and require.js.

Please, introduce me to the working environment of here, guide me on the next steps so that we can maximize the amount of work I can do.

Any feedback would be highly appreciated. :)

Thanking You
Harsh Gautam
Thapar Univerity

------------------------------------------------------------------------------

_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax




------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax


Cheers,
Eric

--
Eric Rasche
Programmer II

Center for Phage Technology
Rm 312A, BioBio
Texas A&M University
College Station, TX 77843
404-692-2048

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

Justin Clark-Casey-2
In reply to this post by Harsh Gautam
On 07/03/16 17:51, Harsh Gautam wrote:
> Will someone be able to use JBrowse without signing in as avatars? As for using the chat and other virtual presence features one must sign in. I guess we would
> want all these features to be optional as it will be a plug-in.

Speaking as a user who embeds JBrowse in another system, I would really need to be able to disable all social media/chat functionality (or preferably not have
it enabled by default in the first place).  Adding collaboration elements sounds like an interesting idea but I would beg you to be very careful not to
intertwine it with the core genome browsing code.

--
Justin Clark-Casey, Synbiomine/InterMine Developer
http://synbiomine.org
http://twitter.com/justincc

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

Raymond Wan-2
Hi all,


On Tue, Mar 8, 2016 at 7:16 PM, Justin Clark-Casey
<[hidden email]> wrote:
> On 07/03/16 17:51, Harsh Gautam wrote:
>> Will someone be able to use JBrowse without signing in as avatars? As for using the chat and other virtual presence features one must sign in. I guess we would
>> want all these features to be optional as it will be a plug-in.
>
> Speaking as a user who embeds JBrowse in another system, I would really need to be able to disable all social media/chat functionality (or preferably not have
> it enabled by default in the first place).  Adding collaboration elements sounds like an interesting idea but I would beg you to be very careful not to
> intertwine it with the core genome browsing code.


I'd have to agree with Justin here, though I don't want to burst
anyone's bubble.

I know I speak just for myself here, but I'm a bit tired of social
media.  I'm not sure if I'd want to have yet another chat facility on
top of all the other e-mail accounts, etc. that I need to look after.
Of course, I think many others might find such a feature useful.  I'd
support it (but wouldn't use it) as long as the core genome browsing
code wasn't affected in terms of complexity or speed.

I don't have many users using our JBrowse instance, but the few that
do aren't look for chat facilities (for example).  Most of them are
very familiar with GBrowse thanks to UCSC and "just" want JBrowse to
"look more like" GBrowse -- not just visually, but also in terms of
features.  (I know it's easier said than done.)

Ray

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

nathandunn

So, to build on this (from the Apollo perspective) we had thought about doing something similar for the perspective of knowing who is working on what (for very large systems).     If we could leverage what you build that would be great, but we need to be able to use our own backend . . . so what I would propose:

- your chat backend should be open so that others can provide their own simple backend if need be without needing to run another server.  
- you allow for multiple message types to be transmitted . . chat is awesome, but it would be great to see if someone had clicked on a transcript near me, or see how many people are currently viewing a scaffold

Overall, really excited to see what you come up with.  We (as well as Eric Rasche) have proposed something like this, but we would be happy(ier) if we could leverage jbrowse directly:


Nahan

On Mar 8, 2016, at 8:40 AM, Raymond Wan <[hidden email]> wrote:

Hi all,


On Tue, Mar 8, 2016 at 7:16 PM, Justin Clark-Casey
<[hidden email]> wrote:
On 07/03/16 17:51, Harsh Gautam wrote:
Will someone be able to use JBrowse without signing in as avatars? As for using the chat and other virtual presence features one must sign in. I guess we would
want all these features to be optional as it will be a plug-in.

Speaking as a user who embeds JBrowse in another system, I would really need to be able to disable all social media/chat functionality (or preferably not have
it enabled by default in the first place).  Adding collaboration elements sounds like an interesting idea but I would beg you to be very careful not to
intertwine it with the core genome browsing code.


I'd have to agree with Justin here, though I don't want to burst
anyone's bubble.

I know I speak just for myself here, but I'm a bit tired of social
media.  I'm not sure if I'd want to have yet another chat facility on
top of all the other e-mail accounts, etc. that I need to look after.
Of course, I think many others might find such a feature useful.  I'd
support it (but wouldn't use it) as long as the core genome browsing
code wasn't affected in terms of complexity or speed.

I don't have many users using our JBrowse instance, but the few that
do aren't look for chat facilities (for example).  Most of them are
very familiar with GBrowse thanks to UCSC and "just" want JBrowse to
"look more like" GBrowse -- not just visually, but also in terms of
features.  (I know it's easier said than done.)

Ray

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

Monica Munoz-Torres
In reply to this post by Raymond Wan-2
Dear Justin and Ray, 

Thank you for sharing your concerns and considerations; important points to keep in mind during development. 

We will certainly guide or efforts to ensure the ability to open the floor for conversation and scholarly discussions regarding specific portions of the genome does not hinder the ability to browse - and in the case of Apollo to edit - these regions. 

I would like to kindly remind us that the proposed project is not simply yet another gateway to social media. We are striving to further enable collaboration for distributed communities of researchers who are working together on common projects.

There is a clear use case for empowering interaction, given the conditions in other research groups.  Although this may not be everyone's case, we do have research communities that look like ~30 researchers in 10 different countries who work together on the same project(s), -- or two clinicians inspecting one patient's data. In these cases, effective communication amongst participants is crucial to the success of the project. It is with these -and other- use cases in mind that the proposal is made. 

Naturally, it does not need to be the default feature; but we are hopeful you - and others - may enable it when you need to facilitate this type of communication.

In Ian's words:  
The general idea of this project is to: 
- add chat and (ideally) other "virtual presence" features, 
- being able to see who else is viewing the genome, 
- being able to see which sequences they are viewing (or what coordinates/tracks they are viewing on those sequences), 
- being able to share coordinates and other information about their browsing session (such as what tracks are visible, or what region they have highlighted), and so on. 

This is exciting and we look forward to see how it progresses!

cheers, 
~moni. 


On Tue, Mar 8, 2016 at 8:40 AM, Raymond Wan <[hidden email]> wrote:
Hi all,


On Tue, Mar 8, 2016 at 7:16 PM, Justin Clark-Casey
<[hidden email]> wrote:
> On 07/03/16 17:51, Harsh Gautam wrote:
>> Will someone be able to use JBrowse without signing in as avatars? As for using the chat and other virtual presence features one must sign in. I guess we would
>> want all these features to be optional as it will be a plug-in.
>
> Speaking as a user who embeds JBrowse in another system, I would really need to be able to disable all social media/chat functionality (or preferably not have
> it enabled by default in the first place).  Adding collaboration elements sounds like an interesting idea but I would beg you to be very careful not to
> intertwine it with the core genome browsing code.


I'd have to agree with Justin here, though I don't want to burst
anyone's bubble.

I know I speak just for myself here, but I'm a bit tired of social
media.  I'm not sure if I'd want to have yet another chat facility on
top of all the other e-mail accounts, etc. that I need to look after.
Of course, I think many others might find such a feature useful.  I'd
support it (but wouldn't use it) as long as the core genome browsing
code wasn't affected in terms of complexity or speed.

I don't have many users using our JBrowse instance, but the few that
do aren't look for chat facilities (for example).  Most of them are
very familiar with GBrowse thanks to UCSC and "just" want JBrowse to
"look more like" GBrowse -- not just visually, but also in terms of
features.  (I know it's easier said than done.)

Ray

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax



--
Mentorship Matters!
--
Monica Munoz-Torres, PhD.
Berkeley Bioinformatics Open-source Projects (BBOP)
Environmental Genomics and Systems Biology Division
Lawrence Berkeley National Laboratory

Mailing Address:
Lawrence Berkeley National Laboratory
1 Cyclotron Road Mailstop 977
Berkeley, CA 94720

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

vkrishna
In reply to this post by Raymond Wan-2
Hi All,

I would agree with Justin and Raymond’s comments as well. This is definitely an interesting and potentially useful functionality for communities with large user bases, facilitating the ability to provide live support.

A few things come to mind in the context of this chat plugin and the addition of a server side component. How does this play into WebApollo’s server side component which keeps all the annotators views in sync? Would it eventually leverage (hook into) the faye pub/sub system or work in a standalone manner?

Also, has anyone evaluated a more passive communication/support/ system like Mozilla’s together.js (https://togetherjs.com/)? This allows admins to maintain their own communications hub and facilitate chat among the users of the system, but it has be initialized by the user.

Look forward to hearing more about this!

Good luck on the GSoC project.

Vivek

> On Mar 8, 2016, at 11:40 AM, Raymond Wan <[hidden email]> wrote:
>
> Hi all,
>
>
> On Tue, Mar 8, 2016 at 7:16 PM, Justin Clark-Casey
> <[hidden email]> wrote:
>> On 07/03/16 17:51, Harsh Gautam wrote:
>>> Will someone be able to use JBrowse without signing in as avatars? As for using the chat and other virtual presence features one must sign in. I guess we would
>>> want all these features to be optional as it will be a plug-in.
>>
>> Speaking as a user who embeds JBrowse in another system, I would really need to be able to disable all social media/chat functionality (or preferably not have
>> it enabled by default in the first place).  Adding collaboration elements sounds like an interesting idea but I would beg you to be very careful not to
>> intertwine it with the core genome browsing code.
>
>
> I'd have to agree with Justin here, though I don't want to burst
> anyone's bubble.
>
> I know I speak just for myself here, but I'm a bit tired of social
> media.  I'm not sure if I'd want to have yet another chat facility on
> top of all the other e-mail accounts, etc. that I need to look after.
> Of course, I think many others might find such a feature useful.  I'd
> support it (but wouldn't use it) as long as the core genome browsing
> code wasn't affected in terms of complexity or speed.
>
> I don't have many users using our JBrowse instance, but the few that
> do aren't look for chat facilities (for example).  Most of them are
> very familiar with GBrowse thanks to UCSC and "just" want JBrowse to
> "look more like" GBrowse -- not just visually, but also in terms of
> features.  (I know it's easier said than done.)
>
> Ray
>
> ------------------------------------------------------------------------------
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://makebettercode.com/inteldaal-eval
> _______________________________________________
> Gmod-ajax mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gmod-ajax

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

Justin Clark-Casey-2
In reply to this post by Monica Munoz-Torres
Thanks a lot, Moni.  Just to be clear, I do think that the idea of online distributed genome work is really interesting and definitely worth exploring.  My
kneejerk caution comes from my software engineering gut of wanting to keep codebases simple and avoid intermixing funtionality.  If everything can be strictly
enforced to remain in plugins then that is cool :).

I very much look forward to seeing further discussion on this list.  Hopefully one day I will get off my own behind and contribute something to jbrowse :)

--
Justin Clark-Casey, Synbiomine/InterMine Developer
http://synbiomine.org
http://twitter.com/justincc

On 08/03/16 17:00, Monica Munoz-Torres wrote:

> Dear Justin and Ray,
>
> Thank you for sharing your concerns and considerations; important points to keep in mind during development.
>
> We will certainly guide or efforts to ensure the ability to open the floor for conversation and scholarly discussions regarding specific portions of the genome
> does not hinder the ability to browse - and in the case of Apollo to edit - these regions.
>
> I would like to kindly remind us that the proposed project is not simply yet another gateway to social media. We are striving to further enable collaboration
> for distributed communities of researchers who are working together on common projects.
>
> There is a clear use case for empowering interaction, given the conditions in other research groups.  Although this may not be everyone's case, we do have
> research communities that look like ~30 researchers in 10 different countries who work together on the same project(s), -- or two clinicians inspecting one
> patient's data. In these cases, effective communication amongst participants is crucial to the success of the project. It is with these -and other- use cases in
> mind that the proposal is made.
>
> Naturally, it does not need to be the default feature; but we are hopeful you - and others - may enable it when you need to facilitate this type of communication.
>
> In Ian's words:
> /The general idea of this project is to: /
> /- add chat and (ideally) other "virtual presence" features, /
> /- being able to see who else is viewing the genome, /
> /- being able to see which sequences they are viewing (or what coordinates/tracks they are viewing on those sequences), /
> /- being able to share coordinates and other information about their browsing session (such as what tracks are visible, or what region they have highlighted),
> and so on. /
>
> This is exciting and we look forward to see how it progresses!
>
> cheers,
> ~moni.
>
>
> On Tue, Mar 8, 2016 at 8:40 AM, Raymond Wan <[hidden email] <mailto:[hidden email]>> wrote:
>
>     Hi all,
>
>
>     On Tue, Mar 8, 2016 at 7:16 PM, Justin Clark-Casey
>     <[hidden email] <mailto:[hidden email]>> wrote:
>     > On 07/03/16 17:51, Harsh Gautam wrote:
>     >> Will someone be able to use JBrowse without signing in as avatars? As for using the chat and other virtual presence features one must sign in. I guess we would
>     >> want all these features to be optional as it will be a plug-in.
>     >
>     > Speaking as a user who embeds JBrowse in another system, I would really need to be able to disable all social media/chat functionality (or preferably not have
>     > it enabled by default in the first place).  Adding collaboration elements sounds like an interesting idea but I would beg you to be very careful not to
>     > intertwine it with the core genome browsing code.
>
>
>     I'd have to agree with Justin here, though I don't want to burst
>     anyone's bubble.
>
>     I know I speak just for myself here, but I'm a bit tired of social
>     media.  I'm not sure if I'd want to have yet another chat facility on
>     top of all the other e-mail accounts, etc. that I need to look after.
>     Of course, I think many others might find such a feature useful.  I'd
>     support it (but wouldn't use it) as long as the core genome browsing
>     code wasn't affected in terms of complexity or speed.
>
>     I don't have many users using our JBrowse instance, but the few that
>     do aren't look for chat facilities (for example).  Most of them are
>     very familiar with GBrowse thanks to UCSC and "just" want JBrowse to
>     "look more like" GBrowse -- not just visually, but also in terms of
>     features.  (I know it's easier said than done.)
>
>     Ray
>
>     ------------------------------------------------------------------------------
>     Transform Data into Opportunity.
>     Accelerate data analysis in your applications with
>     Intel Data Analytics Acceleration Library.
>     Click to learn more.
>     http://makebettercode.com/inteldaal-eval
>     _______________________________________________
>     Gmod-ajax mailing list
>     [hidden email] <mailto:[hidden email]>
>     https://lists.sourceforge.net/lists/listinfo/gmod-ajax
>
>
>
>
> --
> Mentorship Matters!
> --
> Monica Munoz-Torres, PhD.
> Berkeley Bioinformatics Open-source Projects (BBOP)
> Environmental Genomics and Systems Biology Division
> Lawrence Berkeley National Laboratory
>
> Mailing Address:
> Lawrence Berkeley National Laboratory
> 1 Cyclotron Road Mailstop 977
> Berkeley, CA 94720

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

nathandunn
In reply to this post by vkrishna

> A few things come to mind in the context of this chat plugin and the addition of a server side component. How does this play into WebApollo’s server side component which keeps all the annotators views in sync? Would it eventually leverage (hook into) the faye pub/sub system or work in a standalone manner?

Good question.  We STOMP protocol with websockets, but we publish and subscribe off of Apollo-specific organism / user channels.  

But this raises some good points . . if you are tracking user-specific changes somehow you need to expose to the JBrowse user id’s via an API of some sort so that they can be appropriately coupled with any plugin.  

A lot of interesting (but tractable) challenges.

Nathan

> On Mar 8, 2016, at 9:00 AM, Krishnakumar, Vivek <[hidden email]> wrote:
>
> Hi All,
>
> I would agree with Justin and Raymond’s comments as well. This is definitely an interesting and potentially useful functionality for communities with large user bases, facilitating the ability to provide live support.
>
> A few things come to mind in the context of this chat plugin and the addition of a server side component. How does this play into WebApollo’s server side component which keeps all the annotators views in sync? Would it eventually leverage (hook into) the faye pub/sub system or work in a standalone manner?
>
> Also, has anyone evaluated a more passive communication/support/ system like Mozilla’s together.js (https://togetherjs.com/)? This allows admins to maintain their own communications hub and facilitate chat among the users of the system, but it has be initialized by the user.
>
> Look forward to hearing more about this!
>
> Good luck on the GSoC project.
>
> Vivek
>
>> On Mar 8, 2016, at 11:40 AM, Raymond Wan <[hidden email]> wrote:
>>
>> Hi all,
>>
>>
>> On Tue, Mar 8, 2016 at 7:16 PM, Justin Clark-Casey
>> <[hidden email]> wrote:
>>> On 07/03/16 17:51, Harsh Gautam wrote:
>>>> Will someone be able to use JBrowse without signing in as avatars? As for using the chat and other virtual presence features one must sign in. I guess we would
>>>> want all these features to be optional as it will be a plug-in.
>>>
>>> Speaking as a user who embeds JBrowse in another system, I would really need to be able to disable all social media/chat functionality (or preferably not have
>>> it enabled by default in the first place).  Adding collaboration elements sounds like an interesting idea but I would beg you to be very careful not to
>>> intertwine it with the core genome browsing code.
>>
>>
>> I'd have to agree with Justin here, though I don't want to burst
>> anyone's bubble.
>>
>> I know I speak just for myself here, but I'm a bit tired of social
>> media.  I'm not sure if I'd want to have yet another chat facility on
>> top of all the other e-mail accounts, etc. that I need to look after.
>> Of course, I think many others might find such a feature useful.  I'd
>> support it (but wouldn't use it) as long as the core genome browsing
>> code wasn't affected in terms of complexity or speed.
>>
>> I don't have many users using our JBrowse instance, but the few that
>> do aren't look for chat facilities (for example).  Most of them are
>> very familiar with GBrowse thanks to UCSC and "just" want JBrowse to
>> "look more like" GBrowse -- not just visually, but also in terms of
>> features.  (I know it's easier said than done.)
>>
>> Ray
>>
>> ------------------------------------------------------------------------------
>> Transform Data into Opportunity.
>> Accelerate data analysis in your applications with
>> Intel Data Analytics Acceleration Library.
>> Click to learn more.
>> http://makebettercode.com/inteldaal-eval
>> _______________________________________________
>> Gmod-ajax mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/gmod-ajax
>
> ------------------------------------------------------------------------------
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://makebettercode.com/inteldaal-eval
> _______________________________________________
> Gmod-ajax mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gmod-ajax


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

Eric Yao
It will probably require several integration hooks in the base code, but the overall functionality will definite not be a permanent fixture. It will be an optional plugin module.


On Tue, Mar 8, 2016 at 9:47 AM, Nathan Dunn <[hidden email]> wrote:

> A few things come to mind in the context of this chat plugin and the addition of a server side component. How does this play into WebApollo’s server side component which keeps all the annotators views in sync? Would it eventually leverage (hook into) the faye pub/sub system or work in a standalone manner?

Good question.  We STOMP protocol with websockets, but we publish and subscribe off of Apollo-specific organism / user channels.

But this raises some good points . . if you are tracking user-specific changes somehow you need to expose to the JBrowse user id’s via an API of some sort so that they can be appropriately coupled with any plugin.

A lot of interesting (but tractable) challenges.

Nathan

> On Mar 8, 2016, at 9:00 AM, Krishnakumar, Vivek <[hidden email]> wrote:
>
> Hi All,
>
> I would agree with Justin and Raymond’s comments as well. This is definitely an interesting and potentially useful functionality for communities with large user bases, facilitating the ability to provide live support.
>
> A few things come to mind in the context of this chat plugin and the addition of a server side component. How does this play into WebApollo’s server side component which keeps all the annotators views in sync? Would it eventually leverage (hook into) the faye pub/sub system or work in a standalone manner?
>
> Also, has anyone evaluated a more passive communication/support/ system like Mozilla’s together.js (https://togetherjs.com/)? This allows admins to maintain their own communications hub and facilitate chat among the users of the system, but it has be initialized by the user.
>
> Look forward to hearing more about this!
>
> Good luck on the GSoC project.
>
> Vivek
>
>> On Mar 8, 2016, at 11:40 AM, Raymond Wan <[hidden email]> wrote:
>>
>> Hi all,
>>
>>
>> On Tue, Mar 8, 2016 at 7:16 PM, Justin Clark-Casey
>> <[hidden email]> wrote:
>>> On 07/03/16 17:51, Harsh Gautam wrote:
>>>> Will someone be able to use JBrowse without signing in as avatars? As for using the chat and other virtual presence features one must sign in. I guess we would
>>>> want all these features to be optional as it will be a plug-in.
>>>
>>> Speaking as a user who embeds JBrowse in another system, I would really need to be able to disable all social media/chat functionality (or preferably not have
>>> it enabled by default in the first place).  Adding collaboration elements sounds like an interesting idea but I would beg you to be very careful not to
>>> intertwine it with the core genome browsing code.
>>
>>
>> I'd have to agree with Justin here, though I don't want to burst
>> anyone's bubble.
>>
>> I know I speak just for myself here, but I'm a bit tired of social
>> media.  I'm not sure if I'd want to have yet another chat facility on
>> top of all the other e-mail accounts, etc. that I need to look after.
>> Of course, I think many others might find such a feature useful.  I'd
>> support it (but wouldn't use it) as long as the core genome browsing
>> code wasn't affected in terms of complexity or speed.
>>
>> I don't have many users using our JBrowse instance, but the few that
>> do aren't look for chat facilities (for example).  Most of them are
>> very familiar with GBrowse thanks to UCSC and "just" want JBrowse to
>> "look more like" GBrowse -- not just visually, but also in terms of
>> features.  (I know it's easier said than done.)
>>
>> Ray
>>
>> ------------------------------------------------------------------------------
>> Transform Data into Opportunity.
>> Accelerate data analysis in your applications with
>> Intel Data Analytics Acceleration Library.
>> Click to learn more.
>> http://makebettercode.com/inteldaal-eval
>> _______________________________________________
>> Gmod-ajax mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/gmod-ajax
>
> ------------------------------------------------------------------------------
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://makebettercode.com/inteldaal-eval
> _______________________________________________
> Gmod-ajax mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gmod-ajax


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

Raymond Wan-2
In reply to this post by Monica Munoz-Torres
Dear Monica and everyone,


On Wed, Mar 9, 2016 at 1:00 AM, Monica Munoz-Torres <[hidden email]> wrote:
> I would like to kindly remind us that the proposed project is not simply yet
> another gateway to social media. We are striving to further enable
> collaboration for distributed communities of researchers who are working
> together on common projects.


Perhaps my previous posting made it sound like I'm old and out-dated!
:-)  I've been placed on various web sites, social media sites, etc.
for the purpose of collaboration, and most are very good.  But somehow
they became yet another password to remember or account to check (for
me, at least).

Of course, it is great to see JBrowse participate in GSoC and to see
development on the code.  For all the good that JBrowse brings to
myself and users of our instance, I would like to contribute some day.

Our users (who I tried to show JBrowse to be an alternative to IGV and
GBrowse) tell me that JBrowse is fast.  And that is what keeps them
interested in it, despite being more familiar with the other two.  I
think that is what I'm worried about.


> Naturally, it does not need to be the default feature; but we are hopeful
> you - and others - may enable it when you need to facilitate this type of
> communication.
>
> In Ian's words:
> The general idea of this project is to:
> - add chat and (ideally) other "virtual presence" features,
> - being able to see who else is viewing the genome,
> - being able to see which sequences they are viewing (or what
> coordinates/tracks they are viewing on those sequences),
> - being able to share coordinates and other information about their browsing
> session (such as what tracks are visible, or what region they have
> highlighted), and so on.


Oh!  I wouldn't disable such a feature -- I am happy to [try to] do
what users ask to make JBrowse useful for them.

But, if all of you would allow me to play devil's advocate for the
moment, how would the above differ from having (say) JBrowse and Skype
open and copy and pasting co-ordinates or links from the browser to
Skype?

Or would it work off-line as well?  For example, if Researcher A is in
the USA and Researcher B is in Europe then A might be doing work
during the day and then goes to bed.  Then B wakes up and can see what
A was doing while B was sleeping?  I guess this is something that
Skype does not offer, but there should probably be some kind of "Track
[Changes] On/Off" similar to Microsoft Word so that not everything A
did was recorded -- that would be a lot of noise if every click or
scroll event was somehow recorded.

Sorry, talking to myself here...  From a user's perspective (one who
generally turns off chat programs while working  :-) ), I guess it
might be a bit annoying to get JBrowse notifications while I'm doing
something else.  But I do think it is worthwhile and it may be the
code base for the first step of something bigger -- such as sharing
___<something we haven't thought of yet>___.

So yes, I do look forward to seeing its development!  Thanks for the discussion!

Ray

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

Harsh Gautam
Hello everyone,

I am overwhelmed with the responses. I took a lot of notes. :)
I understand the collaborative and social features must never hinder the core functionalities.

It would be awesome if we could Apollo took could leverage from this project. I wanted to know more about the STOMP protocol and what is it used for in Apollo? Assuming we use the Faye for this project, can Apollo's server-side components work in parallel with Faye? Could Faye communicate directly to the JS like it does in jbrowse?

Harsh

On Wed, Mar 9, 2016 at 9:13 AM, Raymond Wan <[hidden email]> wrote:
Dear Monica and everyone,


On Wed, Mar 9, 2016 at 1:00 AM, Monica Munoz-Torres <[hidden email]> wrote:
> I would like to kindly remind us that the proposed project is not simply yet
> another gateway to social media. We are striving to further enable
> collaboration for distributed communities of researchers who are working
> together on common projects.


Perhaps my previous posting made it sound like I'm old and out-dated!
:-)  I've been placed on various web sites, social media sites, etc.
for the purpose of collaboration, and most are very good.  But somehow
they became yet another password to remember or account to check (for
me, at least).

Of course, it is great to see JBrowse participate in GSoC and to see
development on the code.  For all the good that JBrowse brings to
myself and users of our instance, I would like to contribute some day.

Our users (who I tried to show JBrowse to be an alternative to IGV and
GBrowse) tell me that JBrowse is fast.  And that is what keeps them
interested in it, despite being more familiar with the other two.  I
think that is what I'm worried about.


> Naturally, it does not need to be the default feature; but we are hopeful
> you - and others - may enable it when you need to facilitate this type of
> communication.
>
> In Ian's words:
> The general idea of this project is to:
> - add chat and (ideally) other "virtual presence" features,
> - being able to see who else is viewing the genome,
> - being able to see which sequences they are viewing (or what
> coordinates/tracks they are viewing on those sequences),
> - being able to share coordinates and other information about their browsing
> session (such as what tracks are visible, or what region they have
> highlighted), and so on.


Oh!  I wouldn't disable such a feature -- I am happy to [try to] do
what users ask to make JBrowse useful for them.

But, if all of you would allow me to play devil's advocate for the
moment, how would the above differ from having (say) JBrowse and Skype
open and copy and pasting co-ordinates or links from the browser to
Skype?

Or would it work off-line as well?  For example, if Researcher A is in
the USA and Researcher B is in Europe then A might be doing work
during the day and then goes to bed.  Then B wakes up and can see what
A was doing while B was sleeping?  I guess this is something that
Skype does not offer, but there should probably be some kind of "Track
[Changes] On/Off" similar to Microsoft Word so that not everything A
did was recorded -- that would be a lot of noise if every click or
scroll event was somehow recorded.

Sorry, talking to myself here...  From a user's perspective (one who
generally turns off chat programs while working  :-) ), I guess it
might be a bit annoying to get JBrowse notifications while I'm doing
something else.  But I do think it is worthwhile and it may be the
code base for the first step of something bigger -- such as sharing
___<something we haven't thought of yet>___.

So yes, I do look forward to seeing its development!  Thanks for the discussion!

Ray

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

Harsh Gautam
In reply to this post by Eric Rasche-3
Hi Eric,

Thank for the detailed response. :)

For my use case (which is not everyone's, I think you'll find it hard to build a complete consensus, so configurability would be welcome wherever possible)... it's only interesting to see people looking at the same reference sequence, maybe the same genome as you. People looking at other organisms may not be working on things that overlap with you and you'd be less interested in talking to them.

Perfect. We could create channels on the basis of organisms and reference sequences.

I'd say if it's a real-time notification like "someone added a track", just include it in the chat log. Nathan mentioned something similar in his post, and referenced my github issue for Apollo, if we can inject things like "Bob just annotated a gene" in the chat log as well, that would be very interesting.

Including it in the chat log would minimize the UI which is great! I don't think implementing this would be difficult. :)


commenting "on sections" is not as important as commenting on specific features to us (though region based commenting is probably easier to implement).
 
 I'm going to need your expertise here. What exactly are features? How can we handle them? Do they vary? Are they point sized, 1D or 2D from our perspective? 
 
Ah, sure, happy to help!
The green box is considered a feature. Features are just genomic regions which can contain metadata like "name" and "product"

We could attach a channel or a comment thread to each feature to implement this.

Not to increase scope, but a neat feature would be to have synchronized views among users. Maybe this would be a reason for teams/channels, you could provide a checkbox to synchronize your view-port (position/zoom level) for multiple users.

Synchronizing views would also not be a difficult talk. But I am not sure how it works out. Can someone with synchronizing mode 'on', change their view? If they can, will everyone's view will change in real-time? Or will they just be notified about it?


Thank you, Eric, this definitely helped me a lot.

Harsh


On Tue, Mar 8, 2016 at 10:41 PM, Eric Rasche <[hidden email]> wrote:
Hi Harsh,

On 03/08/2016 01:54 AM, Harsh Gautam wrote:
Hi, Eric.

Your feedback was extremely helpful! The picture is getting clearer and clearer of what is to be built.

I was wondering how do teams use jbrowse. One way to make things would be, to create 'teams' and then invite people to the team. Do we want to see everyone's 'presence' who is using the same servers are ours? Or do we only need to see, talk and collaborate only with our 'team'?
For my use case (which is not everyone's, I think you'll find it hard to build a complete consensus, so configurability would be welcome wherever possible)... it's only interesting to see people looking at the same reference sequence, maybe the same genome as you. People looking at other organisms may not be working on things that overlap with you and you'd be less interested in talking to them.

I'll try and describe what our infrastructure looks like, and maybe that will be useful to you. Whatever you develop, I'll look at implementing in the Apollo project, which is where I'm really interested in having collaborative features. Apollo is the "read-write" to jbrowse's read-only.


A single JBrowse deployment usually equals a single organism, and is hosted at some particular URL like https://fqdn/jbrowse/yeast/.

Below that we have multiple reference sequences, seen as chr* in the below selector.



  • People on the same organism might be interested in chatting with one another
  • people on the same reference sequence would likely be even more interested.

This is partially a scale problem.

For increasingly large organisms, the work gets divided over more and more people.  As people specialise on certain regions of certain chromosomes, they may be less interested in talking to people who aren't working on what they are.

Do we want a Facebook like ticker, that will contain updates and feeds from your team. Do you think it is required? It can contain updates like, 'Someone added a new track'.
I'd say if it's a real-time notification like "someone added a track", just include it in the chat log. Nathan mentioned something similar in his post, and referenced my github issue for Apollo, if we can inject things like "Bob just annotated a gene" in the chat log as well, that would be very interesting.


commenting "on sections" is not as important as commenting on specific features to us (though region based commenting is probably easier to implement).

I'm going to need your expertise here. What exactly are features? How can we handle them? Do they vary? Are they point sized, 1D or 2D from our perspective?
Ah, sure, happy to help!

The green box is considered a feature. Features are just genomic regions which can contain metadata like "name" and "product"



seeing the regions that others are viewing would be nice. I'm personally fond of how bookmarked regions are displayed on the top genome-position-indicator. Seeing where everyone else was on that bar would be really neat!

Right! That will be very intuitive. I think we can put their little avatars on that bar marking their real-time presence! Do you think we can show where they are with a single point on that bar or do we need it to span across showing the exact width of their view?
It'd probably make it simpler to just show an icon with their location, and have some way to view that exact region.

Not to increase scope, but a neat feature would be to have synchronized views among users. Maybe this would be a reason for teams/channels, you could provide a checkbox to synchronize your viewport (position/zoom level) for multiple users.

I'd argue that "select sequence by clicking and dragging and then sharing" would break the current/expected behaviour of "select a sequence to zoom".

We can add a shift key. Shift + drag would make a region available to share. If this seems too complicated, we can simply take the entire view as the selection and share that. (People then can zoom in or ouf to change their views and then share whatever they are seeing.) Also, again, how do you think we can share features?
Sure, that's fine! Just wanted to suggest



I'd appreciate everyone's feedback as only then we can solidify the blurred ideas into beautiful features. :)

Thanking You,
Harsh Gautam


On Mon, Mar 7, 2016 at 11:55 PM, Eric Rasche <[hidden email]> wrote:
Just 2 cents from a sys admin who deploys JBrowse/apollo...

2016-03-07 11:51 GMT-06:00 Harsh Gautam <[hidden email][hidden email]>:
Hi Ian,

Thank you so much for introducing the community to me!

Coincidently the last project I worked on was a chat based game on node.js and socket.io. I used passport.js for authentication which extremely eased the process.

I have few questions regarding the project.
  1. Where will be the actual central Faye servers? Will there be a single server for the entire community? Or the objective is to let people host their own servers? We could use Heroku for development.
People will want to host their own servers.

  1. I don't think we want to store chat messages on the server-side. We could do it on the client side. But the server-side has to store the user information. What kind of database do you think would be appropriate. I don't think we have any special requirement for using any NoSQL, but MongoDB goes well with node.js. We will not need to make a DB handler with MongoDB like we will for MySQL. I guess we also not need to care about extreme scalability or volume.

Some of us absolutely want to store a complete chat log server side
  • it would be nice for the users if they could scroll back through their chat history / catch up on things they've missed while they were away
  • It's necessary for (some) admins to know what was said (logging/auditing purposes).

  1. Will someone be able to use JBrowse without signing in as avatars? As for using the chat and other virtual presence features one must sign in. I guess we would want all these features to be optional as it will be a plug-in.

I also wanted to discuss the client UI for the chat. We could get people to sign in with a pop-up or side-window. Traditional bottom right chat box or a complete column on the right side? I have some ideas for other social presence features that would increase the productivity.

  1. Like you said, we could view who else is currently viewing the sequence. As Google Docs implements it. On clicking on their avatars (or names) the chat box would pop for direct communication. Attach comments on specific sections. A button to chat with all the people currently viewing a sequence?

  2. Group chats, channels like general or related to specific topics and personal one to one chat like Slack does it.

  3. One could zoom in on a sequence by clicking and dragging, one could also select it like that and share that part with other people.

  4. We could have place for collaborative checklists like Trello.

Many of our users and visitors from the internet are ... not extremely technically competent, so keeping things simple is necessary.
  • who else is viewing is very important
  • IMO google docs style bottom right chat box would be ideal, the focus is still on the content inside of JBrowse and usually users are trying to comprehend massive volumes of information contained within, covering up a larger portion of the screen might be undesirable.
  • commenting "on sections" is not as important as commenting on specific features to us (though region based commenting is probably easier to implement).
  • I'd argue that subgroups/channels aren't important, most people have a single organism per JBrowse, it seems like overkill to have subgroups below that. We max out at 5 people viewing a single genome in JBrowse at once (similar for apollo).
  • seeing the regions that others are viewing would be nice. I'm personally fond of how bookmarked regions are displayed on the top genome-position-indicator. Seeing where everyone else was on that bar would be really neat!
  • I'd argue that "select sequence by clicking and dragging and then sharing" would break the current/expected behaviour of "select a sequence to zoom".

I think we should also ask the entire community who uses the jbrowse, what social and collaborative tools they would want with a quick survey.

+1
I wanted to know would be the next step for a successful Google Summer of Code project. Should I start with code right away, get involved with Faye branch? Should I solve more issues? Should I start working on my proposal, detailing the plan of action?

Thanking You :)
Harsh Gautam

On Sun, Mar 6, 2016 at 12:40 AM, Ian Holmes <[hidden email][hidden email]> wrote:
Hi there Harsh, glad you are interested!
Thank you for getting into those github issues - that is a great start.

As you may have gathered, JBrowse is mostly a static-site kind of application, but we are adding more server code. The 'faye' branch for example contains a preliminary node-based message server for push notifications of new tracks from the server: https://github.com/gmod/jbrowse/tree/faye
We are also working on basic authentication.

The general idea of this project is to add chat and (ideally) other "virtual presence" features, such as being able to see who else is viewing the genome (e.g. avatars), being able to see which sequences they are viewing (or what coordinates/tracks they are viewing on those sequences), being able to share coordinates and other information about their browsing session (such as what tracks are visible, or what region they have highlighted), and so on. The general idea is to make genome browsing a more social experience - so that distributed collaborative conversations can take place in the context of the browser.

Perhaps the easiest way to achieve the most basic of these goals with a very simple chat server would be to hook into the existing faye message server.

One could, alternatively, embed a more fully-featured chat server, such as https://rocket.chat/ which might allow users to share files, videos, etc.

As far as the working culture goes on here - we are pretty open - we love code, so addressing open issues is great! Just go ahead and ask if you have any questions.

Cheers,
Ian


On Fri, Mar 4, 2016 at 8:13 PM, Harsh Gautam <[hidden email][hidden email]> wrote:
Hello everyone,

My name is Harsh Gautam and I am Computer Science Engineering student. I am extremely interested in working for GMOD as my GSOC project. I would love to work for an organization which is less about software and more about science!

I'd like to work to add the chat plugin for the JBrowse. To understand the code base, I solved some of the issues. (#601, #680, #688). Got used to dojo and require.js.

Please, introduce me to the working environment of here, guide me on the next steps so that we can maximize the amount of work I can do.

Any feedback would be highly appreciated. :)

Thanking You
Harsh Gautam
Thapar Univerity

------------------------------------------------------------------------------

_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax




------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax


Cheers,
Eric

--
Eric Rasche
Programmer II

Center for Phage Technology
Rm 312A, BioBio
Texas A&M University
College Station, TX 77843
404-692-2048


--
Eric Rasche
Programmer II

Center for Phage Technology
Rm 312A, BioBio
Texas A&M University
College Station, TX 77843
<a href="tel:404-692-2048" target="_blank">404-692-2048
[hidden email]


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

Harsh Gautam
Hello Ian,

I wanted to talk to you about the GSOC project, particularly about Faye.

Faye doesn't allow any communication other than through channels. Clients listening and publishing to a particular can talk to each other. But what if two people want to talk to each other?
I think there are two ways to this.
  1. Every user subscribe to their own channel after authenticating. If someone wants to send a message, they can publish to the channel of the receiver's name. Attaching the message with their own name, to know where the message came from.

  2. When someone wants to chat with someone else, the server generates a random and unique ID which will be the channel to which they both communicate through. We will have to some sort of API to get both people the same Unique ID.

I think, for over use-case we should consider the first approach. Because it makes more sense with the different types of things we have to get across. We can use the channel to publish all sorts of thing that are only meant for one user. What do you think?

I also wanted how are we going to handle messages which are sent for people who are not currently online with Faye?

Are open for using other services other than Faye?


On Thu, Mar 10, 2016 at 1:56 PM, Harsh Gautam <[hidden email]> wrote:
Hi Eric,

Thank for the detailed response. :)

For my use case (which is not everyone's, I think you'll find it hard to build a complete consensus, so configurability would be welcome wherever possible)... it's only interesting to see people looking at the same reference sequence, maybe the same genome as you. People looking at other organisms may not be working on things that overlap with you and you'd be less interested in talking to them.

Perfect. We could create channels on the basis of organisms and reference sequences.

I'd say if it's a real-time notification like "someone added a track", just include it in the chat log. Nathan mentioned something similar in his post, and referenced my github issue for Apollo, if we can inject things like "Bob just annotated a gene" in the chat log as well, that would be very interesting.

Including it in the chat log would minimize the UI which is great! I don't think implementing this would be difficult. :)


commenting "on sections" is not as important as commenting on specific features to us (though region based commenting is probably easier to implement).
 
 I'm going to need your expertise here. What exactly are features? How can we handle them? Do they vary? Are they point sized, 1D or 2D from our perspective? 
 
Ah, sure, happy to help!
The green box is considered a feature. Features are just genomic regions which can contain metadata like "name" and "product"

We could attach a channel or a comment thread to each feature to implement this.

Not to increase scope, but a neat feature would be to have synchronized views among users. Maybe this would be a reason for teams/channels, you could provide a checkbox to synchronize your view-port (position/zoom level) for multiple users.

Synchronizing views would also not be a difficult talk. But I am not sure how it works out. Can someone with synchronizing mode 'on', change their view? If they can, will everyone's view will change in real-time? Or will they just be notified about it?


Thank you, Eric, this definitely helped me a lot.

Harsh


On Tue, Mar 8, 2016 at 10:41 PM, Eric Rasche <[hidden email]> wrote:
Hi Harsh,

On 03/08/2016 01:54 AM, Harsh Gautam wrote:
Hi, Eric.

Your feedback was extremely helpful! The picture is getting clearer and clearer of what is to be built.

I was wondering how do teams use jbrowse. One way to make things would be, to create 'teams' and then invite people to the team. Do we want to see everyone's 'presence' who is using the same servers are ours? Or do we only need to see, talk and collaborate only with our 'team'?
For my use case (which is not everyone's, I think you'll find it hard to build a complete consensus, so configurability would be welcome wherever possible)... it's only interesting to see people looking at the same reference sequence, maybe the same genome as you. People looking at other organisms may not be working on things that overlap with you and you'd be less interested in talking to them.

I'll try and describe what our infrastructure looks like, and maybe that will be useful to you. Whatever you develop, I'll look at implementing in the Apollo project, which is where I'm really interested in having collaborative features. Apollo is the "read-write" to jbrowse's read-only.


A single JBrowse deployment usually equals a single organism, and is hosted at some particular URL like https://fqdn/jbrowse/yeast/.

Below that we have multiple reference sequences, seen as chr* in the below selector.



  • People on the same organism might be interested in chatting with one another
  • people on the same reference sequence would likely be even more interested.

This is partially a scale problem.

For increasingly large organisms, the work gets divided over more and more people.  As people specialise on certain regions of certain chromosomes, they may be less interested in talking to people who aren't working on what they are.

Do we want a Facebook like ticker, that will contain updates and feeds from your team. Do you think it is required? It can contain updates like, 'Someone added a new track'.
I'd say if it's a real-time notification like "someone added a track", just include it in the chat log. Nathan mentioned something similar in his post, and referenced my github issue for Apollo, if we can inject things like "Bob just annotated a gene" in the chat log as well, that would be very interesting.


commenting "on sections" is not as important as commenting on specific features to us (though region based commenting is probably easier to implement).

I'm going to need your expertise here. What exactly are features? How can we handle them? Do they vary? Are they point sized, 1D or 2D from our perspective?
Ah, sure, happy to help!

The green box is considered a feature. Features are just genomic regions which can contain metadata like "name" and "product"



seeing the regions that others are viewing would be nice. I'm personally fond of how bookmarked regions are displayed on the top genome-position-indicator. Seeing where everyone else was on that bar would be really neat!

Right! That will be very intuitive. I think we can put their little avatars on that bar marking their real-time presence! Do you think we can show where they are with a single point on that bar or do we need it to span across showing the exact width of their view?
It'd probably make it simpler to just show an icon with their location, and have some way to view that exact region.

Not to increase scope, but a neat feature would be to have synchronized views among users. Maybe this would be a reason for teams/channels, you could provide a checkbox to synchronize your viewport (position/zoom level) for multiple users.

I'd argue that "select sequence by clicking and dragging and then sharing" would break the current/expected behaviour of "select a sequence to zoom".

We can add a shift key. Shift + drag would make a region available to share. If this seems too complicated, we can simply take the entire view as the selection and share that. (People then can zoom in or ouf to change their views and then share whatever they are seeing.) Also, again, how do you think we can share features?
Sure, that's fine! Just wanted to suggest



I'd appreciate everyone's feedback as only then we can solidify the blurred ideas into beautiful features. :)

Thanking You,
Harsh Gautam


On Mon, Mar 7, 2016 at 11:55 PM, Eric Rasche <[hidden email]> wrote:
Just 2 cents from a sys admin who deploys JBrowse/apollo...

2016-03-07 11:51 GMT-06:00 Harsh Gautam <[hidden email][hidden email]>:
Hi Ian,

Thank you so much for introducing the community to me!

Coincidently the last project I worked on was a chat based game on node.js and socket.io. I used passport.js for authentication which extremely eased the process.

I have few questions regarding the project.
  1. Where will be the actual central Faye servers? Will there be a single server for the entire community? Or the objective is to let people host their own servers? We could use Heroku for development.
People will want to host their own servers.

  1. I don't think we want to store chat messages on the server-side. We could do it on the client side. But the server-side has to store the user information. What kind of database do you think would be appropriate. I don't think we have any special requirement for using any NoSQL, but MongoDB goes well with node.js. We will not need to make a DB handler with MongoDB like we will for MySQL. I guess we also not need to care about extreme scalability or volume.

Some of us absolutely want to store a complete chat log server side
  • it would be nice for the users if they could scroll back through their chat history / catch up on things they've missed while they were away
  • It's necessary for (some) admins to know what was said (logging/auditing purposes).

  1. Will someone be able to use JBrowse without signing in as avatars? As for using the chat and other virtual presence features one must sign in. I guess we would want all these features to be optional as it will be a plug-in.

I also wanted to discuss the client UI for the chat. We could get people to sign in with a pop-up or side-window. Traditional bottom right chat box or a complete column on the right side? I have some ideas for other social presence features that would increase the productivity.

  1. Like you said, we could view who else is currently viewing the sequence. As Google Docs implements it. On clicking on their avatars (or names) the chat box would pop for direct communication. Attach comments on specific sections. A button to chat with all the people currently viewing a sequence?

  2. Group chats, channels like general or related to specific topics and personal one to one chat like Slack does it.

  3. One could zoom in on a sequence by clicking and dragging, one could also select it like that and share that part with other people.

  4. We could have place for collaborative checklists like Trello.

Many of our users and visitors from the internet are ... not extremely technically competent, so keeping things simple is necessary.
  • who else is viewing is very important
  • IMO google docs style bottom right chat box would be ideal, the focus is still on the content inside of JBrowse and usually users are trying to comprehend massive volumes of information contained within, covering up a larger portion of the screen might be undesirable.
  • commenting "on sections" is not as important as commenting on specific features to us (though region based commenting is probably easier to implement).
  • I'd argue that subgroups/channels aren't important, most people have a single organism per JBrowse, it seems like overkill to have subgroups below that. We max out at 5 people viewing a single genome in JBrowse at once (similar for apollo).
  • seeing the regions that others are viewing would be nice. I'm personally fond of how bookmarked regions are displayed on the top genome-position-indicator. Seeing where everyone else was on that bar would be really neat!
  • I'd argue that "select sequence by clicking and dragging and then sharing" would break the current/expected behaviour of "select a sequence to zoom".

I think we should also ask the entire community who uses the jbrowse, what social and collaborative tools they would want with a quick survey.

+1
I wanted to know would be the next step for a successful Google Summer of Code project. Should I start with code right away, get involved with Faye branch? Should I solve more issues? Should I start working on my proposal, detailing the plan of action?

Thanking You :)
Harsh Gautam

On Sun, Mar 6, 2016 at 12:40 AM, Ian Holmes <[hidden email][hidden email]> wrote:
Hi there Harsh, glad you are interested!
Thank you for getting into those github issues - that is a great start.

As you may have gathered, JBrowse is mostly a static-site kind of application, but we are adding more server code. The 'faye' branch for example contains a preliminary node-based message server for push notifications of new tracks from the server: https://github.com/gmod/jbrowse/tree/faye
We are also working on basic authentication.

The general idea of this project is to add chat and (ideally) other "virtual presence" features, such as being able to see who else is viewing the genome (e.g. avatars), being able to see which sequences they are viewing (or what coordinates/tracks they are viewing on those sequences), being able to share coordinates and other information about their browsing session (such as what tracks are visible, or what region they have highlighted), and so on. The general idea is to make genome browsing a more social experience - so that distributed collaborative conversations can take place in the context of the browser.

Perhaps the easiest way to achieve the most basic of these goals with a very simple chat server would be to hook into the existing faye message server.

One could, alternatively, embed a more fully-featured chat server, such as https://rocket.chat/ which might allow users to share files, videos, etc.

As far as the working culture goes on here - we are pretty open - we love code, so addressing open issues is great! Just go ahead and ask if you have any questions.

Cheers,
Ian


On Fri, Mar 4, 2016 at 8:13 PM, Harsh Gautam <[hidden email][hidden email]> wrote:
Hello everyone,

My name is Harsh Gautam and I am Computer Science Engineering student. I am extremely interested in working for GMOD as my GSOC project. I would love to work for an organization which is less about software and more about science!

I'd like to work to add the chat plugin for the JBrowse. To understand the code base, I solved some of the issues. (#601, #680, #688). Got used to dojo and require.js.

Please, introduce me to the working environment of here, guide me on the next steps so that we can maximize the amount of work I can do.

Any feedback would be highly appreciated. :)

Thanking You
Harsh Gautam
Thapar Univerity

------------------------------------------------------------------------------

_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax




------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax


Cheers,
Eric

--
Eric Rasche
Programmer II

Center for Phage Technology
Rm 312A, BioBio
Texas A&M University
College Station, TX 77843
404-692-2048


--
Eric Rasche
Programmer II

Center for Phage Technology
Rm 312A, BioBio
Texas A&M University
College Station, TX 77843
<a href="tel:404-692-2048" target="_blank">404-692-2048
[hidden email]



------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

nathandunn
In reply to this post by Harsh Gautam

On Mar 9, 2016, at 11:50 PM, Harsh Gautam <[hidden email]> wrote:

Hello everyone,

I am overwhelmed with the responses. I took a lot of notes. :)
I understand the collaborative and social features must never hinder the core functionalities.

It would be awesome if we could Apollo took could leverage from this project. I wanted to know more about the STOMP protocol and what is it used for in Apollo?

Apollo (on the server-side) is built on top of Grails, which is built on top of Spring, which uses SockJs (https://github.com/sockjs) and Stomp.js: https://github.com/zyro23/grails-spring-websocket (though you could really use anything on the client-side) by default.  There are multiple advantages to SockJS, but among them is that it handles fall-back gracefully (it drops to use different protocols like long-polling, etc.) and is well-supported, including node. STOMP is nice just because its dead-simple (https://stomp.github.io/).  However, there are many other reasonable client-side choices that could be made, and you don’t necessarily have to use what Apollo uses.

We us it for notification of annotation.  i.e., if a user creates a genomic feature, modifies a genomic feature (e.g., setting an exon boundary, merging a transcript), or deletes a feature it automatically gets propagated to every other client working on the same screen (specifically organism and scaffold) including the originator.  

Assuming we use the Faye for this project, can Apollo's server-side components work in parallel with Faye?

I’m not sure what the gameplay for Faye is, but I think its unlikely there will be problems.   We meet pretty regularly with that group so it shouldn’t be a problem.  

The biggest difference between JBrowse in the context of a chat server is that our channels have to support multiple organisms.   So, we have two channels (it is all publish / subscribe as well) identified by (1) organism and scaffold (used to communicate feature events as communicated above) and (2) user (used to communicate logout / login in multiple browsers).   

Could Faye communicate directly to the JS like it does in jbrowse?

Not sure what you mean. 

Nathan

Harsh

On Wed, Mar 9, 2016 at 9:13 AM, Raymond Wan <[hidden email]> wrote:
Dear Monica and everyone,


On Wed, Mar 9, 2016 at 1:00 AM, Monica Munoz-Torres <[hidden email]> wrote:
> I would like to kindly remind us that the proposed project is not simply yet
> another gateway to social media. We are striving to further enable
> collaboration for distributed communities of researchers who are working
> together on common projects.


Perhaps my previous posting made it sound like I'm old and out-dated!
:-)  I've been placed on various web sites, social media sites, etc.
for the purpose of collaboration, and most are very good.  But somehow
they became yet another password to remember or account to check (for
me, at least).

Of course, it is great to see JBrowse participate in GSoC and to see
development on the code.  For all the good that JBrowse brings to
myself and users of our instance, I would like to contribute some day.

Our users (who I tried to show JBrowse to be an alternative to IGV and
GBrowse) tell me that JBrowse is fast.  And that is what keeps them
interested in it, despite being more familiar with the other two.  I
think that is what I'm worried about.


> Naturally, it does not need to be the default feature; but we are hopeful
> you - and others - may enable it when you need to facilitate this type of
> communication.
>
> In Ian's words:
> The general idea of this project is to:
> - add chat and (ideally) other "virtual presence" features,
> - being able to see who else is viewing the genome,
> - being able to see which sequences they are viewing (or what
> coordinates/tracks they are viewing on those sequences),
> - being able to share coordinates and other information about their browsing
> session (such as what tracks are visible, or what region they have
> highlighted), and so on.


Oh!  I wouldn't disable such a feature -- I am happy to [try to] do
what users ask to make JBrowse useful for them.

But, if all of you would allow me to play devil's advocate for the
moment, how would the above differ from having (say) JBrowse and Skype
open and copy and pasting co-ordinates or links from the browser to
Skype?

Or would it work off-line as well?  For example, if Researcher A is in
the USA and Researcher B is in Europe then A might be doing work
during the day and then goes to bed.  Then B wakes up and can see what
A was doing while B was sleeping?  I guess this is something that
Skype does not offer, but there should probably be some kind of "Track
[Changes] On/Off" similar to Microsoft Word so that not everything A
did was recorded -- that would be a lot of noise if every click or
scroll event was somehow recorded.

Sorry, talking to myself here...  From a user's perspective (one who
generally turns off chat programs while working  :-) ), I guess it
might be a bit annoying to get JBrowse notifications while I'm doing
something else.  But I do think it is worthwhile and it may be the
code base for the first step of something bigger -- such as sharing
___<something we haven't thought of yet>___.

So yes, I do look forward to seeing its development!  Thanks for the discussion!

Ray

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

Ian Holmes-2
In reply to this post by Raymond Wan-2
As a note of explanation, this discussion of chat plugins arises from a proposal on the GMOD Google Summer of Code wiki to develop a chat plugin for JBrowse.
That proposal is a given -- so it is probably not too productive for people to debate whether it's even a good idea in the first place. All that will be accomplished by doing so is expressing negativity towards a student summer project.
However, to assuage some concerns expressed here: it will definitely be a plugin, optional to install (like JBrowse's other plugins), and certainly not mandatory for every JBrowse installation.
This will, in general, be true of all the additional server-based functionality that we are planning to add to JBrowse in the near future. Authentication will be optional, running the server at all will be optional, and using JBrowse in its "core genome browsing" mode (as a static site generator/browser) will totally be possible.



On Tue, Mar 8, 2016 at 8:40 AM, Raymond Wan <[hidden email]> wrote:
Hi all,


On Tue, Mar 8, 2016 at 7:16 PM, Justin Clark-Casey
<[hidden email]> wrote:
> On 07/03/16 17:51, Harsh Gautam wrote:
>> Will someone be able to use JBrowse without signing in as avatars? As for using the chat and other virtual presence features one must sign in. I guess we would
>> want all these features to be optional as it will be a plug-in.
>
> Speaking as a user who embeds JBrowse in another system, I would really need to be able to disable all social media/chat functionality (or preferably not have
> it enabled by default in the first place).  Adding collaboration elements sounds like an interesting idea but I would beg you to be very careful not to
> intertwine it with the core genome browsing code.


I'd have to agree with Justin here, though I don't want to burst
anyone's bubble.

I know I speak just for myself here, but I'm a bit tired of social
media.  I'm not sure if I'd want to have yet another chat facility on
top of all the other e-mail accounts, etc. that I need to look after.
Of course, I think many others might find such a feature useful.  I'd
support it (but wouldn't use it) as long as the core genome browsing
code wasn't affected in terms of complexity or speed.

I don't have many users using our JBrowse instance, but the few that
do aren't look for chat facilities (for example).  Most of them are
very familiar with GBrowse thanks to UCSC and "just" want JBrowse to
"look more like" GBrowse -- not just visually, but also in terms of
features.  (I know it's easier said than done.)

Ray

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

Ian Holmes-2
Also, if for some reason you do want to authenticate, you'll be able to use OAuth2 third-party authentication. So as long as you're logged into Facebook, Twitter, Github, Google, or another such site, there should be no need to remember another password.

That's in the long term anyway. For this chat plugin, we may use a different authentication mechanism but it will be on a separate branch away from the main code.

On Fri, Mar 11, 2016 at 2:11 PM, Ian Holmes <[hidden email]> wrote:
As a note of explanation, this discussion of chat plugins arises from a proposal on the GMOD Google Summer of Code wiki to develop a chat plugin for JBrowse.
That proposal is a given -- so it is probably not too productive for people to debate whether it's even a good idea in the first place. All that will be accomplished by doing so is expressing negativity towards a student summer project.
However, to assuage some concerns expressed here: it will definitely be a plugin, optional to install (like JBrowse's other plugins), and certainly not mandatory for every JBrowse installation.
This will, in general, be true of all the additional server-based functionality that we are planning to add to JBrowse in the near future. Authentication will be optional, running the server at all will be optional, and using JBrowse in its "core genome browsing" mode (as a static site generator/browser) will totally be possible.



On Tue, Mar 8, 2016 at 8:40 AM, Raymond Wan <[hidden email]> wrote:
Hi all,


On Tue, Mar 8, 2016 at 7:16 PM, Justin Clark-Casey
<[hidden email]> wrote:
> On 07/03/16 17:51, Harsh Gautam wrote:
>> Will someone be able to use JBrowse without signing in as avatars? As for using the chat and other virtual presence features one must sign in. I guess we would
>> want all these features to be optional as it will be a plug-in.
>
> Speaking as a user who embeds JBrowse in another system, I would really need to be able to disable all social media/chat functionality (or preferably not have
> it enabled by default in the first place).  Adding collaboration elements sounds like an interesting idea but I would beg you to be very careful not to
> intertwine it with the core genome browsing code.


I'd have to agree with Justin here, though I don't want to burst
anyone's bubble.

I know I speak just for myself here, but I'm a bit tired of social
media.  I'm not sure if I'd want to have yet another chat facility on
top of all the other e-mail accounts, etc. that I need to look after.
Of course, I think many others might find such a feature useful.  I'd
support it (but wouldn't use it) as long as the core genome browsing
code wasn't affected in terms of complexity or speed.

I don't have many users using our JBrowse instance, but the few that
do aren't look for chat facilities (for example).  Most of them are
very familiar with GBrowse thanks to UCSC and "just" want JBrowse to
"look more like" GBrowse -- not just visually, but also in terms of
features.  (I know it's easier said than done.)

Ray

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax



------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Lightweight chat plugin for the JBrowse

Ian Holmes-2
In reply to this post by Raymond Wan-2
Hi Ray,
One could argue that Google Docs is just the same as running Microsoft Word and Skype at the same time. (Actually, Steve Ballmer probably would argue that.)
My view is that online collaboration is the future (or, really, the present - but bioinformatics is currently in the past).
Our goal is certainly not to alienate all the genome projects and portals out there using JBrowse, but rather, to foster the development of an ecosystem of modular add-on plugins that allows sharing, collaboration, in-browser analysis, hybrid dashboard-style apps combining genome browsers with other tools, and so on.
Cheers
Ian

On Tue, Mar 8, 2016 at 7:43 PM, Raymond Wan <[hidden email]> wrote:
Dear Monica and everyone,


On Wed, Mar 9, 2016 at 1:00 AM, Monica Munoz-Torres <[hidden email]> wrote:
> I would like to kindly remind us that the proposed project is not simply yet
> another gateway to social media. We are striving to further enable
> collaboration for distributed communities of researchers who are working
> together on common projects.


Perhaps my previous posting made it sound like I'm old and out-dated!
:-)  I've been placed on various web sites, social media sites, etc.
for the purpose of collaboration, and most are very good.  But somehow
they became yet another password to remember or account to check (for
me, at least).

Of course, it is great to see JBrowse participate in GSoC and to see
development on the code.  For all the good that JBrowse brings to
myself and users of our instance, I would like to contribute some day.

Our users (who I tried to show JBrowse to be an alternative to IGV and
GBrowse) tell me that JBrowse is fast.  And that is what keeps them
interested in it, despite being more familiar with the other two.  I
think that is what I'm worried about.


> Naturally, it does not need to be the default feature; but we are hopeful
> you - and others - may enable it when you need to facilitate this type of
> communication.
>
> In Ian's words:
> The general idea of this project is to:
> - add chat and (ideally) other "virtual presence" features,
> - being able to see who else is viewing the genome,
> - being able to see which sequences they are viewing (or what
> coordinates/tracks they are viewing on those sequences),
> - being able to share coordinates and other information about their browsing
> session (such as what tracks are visible, or what region they have
> highlighted), and so on.


Oh!  I wouldn't disable such a feature -- I am happy to [try to] do
what users ask to make JBrowse useful for them.

But, if all of you would allow me to play devil's advocate for the
moment, how would the above differ from having (say) JBrowse and Skype
open and copy and pasting co-ordinates or links from the browser to
Skype?

Or would it work off-line as well?  For example, if Researcher A is in
the USA and Researcher B is in Europe then A might be doing work
during the day and then goes to bed.  Then B wakes up and can see what
A was doing while B was sleeping?  I guess this is something that
Skype does not offer, but there should probably be some kind of "Track
[Changes] On/Off" similar to Microsoft Word so that not everything A
did was recorded -- that would be a lot of noise if every click or
scroll event was somehow recorded.

Sorry, talking to myself here...  From a user's perspective (one who
generally turns off chat programs while working  :-) ), I guess it
might be a bit annoying to get JBrowse notifications while I'm doing
something else.  But I do think it is worthwhile and it may be the
code base for the first step of something bigger -- such as sharing
___<something we haven't thought of yet>___.

So yes, I do look forward to seeing its development!  Thanks for the discussion!

Ray

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
12