librelist archives

« back to archive

Some ideas about making exercism more conversation oriented

Some ideas about making exercism more conversation oriented

From:
Peter Minten
Date:
2013-12-30 @ 10:00
Hi all,

Here are some ideas for improving exercism. Some of these are already in
the issues tracker but I wanted to present somewhat of an integrated
vision as it's easier to discuss longer term ideas that way.

## Time oriented "comment view"

Currently a submission page consists of two parts: the code of the
selected revision of the submission and a list of comments on that
revision. The problem with that is that often the most useful
conversation is on a previous revision and thus hidden.

An alternative would be to always show all comments (with the option to
switch to reverse chronological order and hide comments for an earlier
revision). Whenever there's a new revision submitted an entry for that
ends up between the commits, like how commits are shown between comments
in github issues. Clicking on the new revision pseudo-comment would
switch the revision view to that revision. It would also subtly
highlight the comments related to that revision.

Comments are strictly ordered chronologically. To make it easier to
follow the line of a conversation every comment is a reply to something,
either a revision or another comment.

Here's how this would look:

[Revision 1] (comment on this)

[Comment 1] by pminten (reply)
  Looks good. But can you avoid doing the sorting of `word` for every
  candidate?

[Comment 2] by j_random_coder (in reply to #1 by pminten) (reply)
  I'll try, but it makes the code look ugly.

[Revision 2] (comment on this)

[Comment 3] by pminten (in reply to #2 by j_random_coder) (reply)
  Much better now.

The revision pseudo-comments could have a body containing a diff, to
make it easier for nitpickers to see what has changed.

## Simplified linking

Currently it's not easy to refer to a conversation in another submission
by another user. We could do something similar to what Github does and
autolink some things. I'm thinking of a syntax like this:

pminten/elixir/bob#r1 (Link to a specific revision)
pminten/elixir/bob#1 (Link to a specific comment)

## Favorites

There is already an issue for this but I'd like to highlight how it
would fit in with the rest of these ideas. If linking becomes easier
keeping track of interesting discussions will become more useful. It
would be good to have a way to add a submission or revision to a
personal favorites list and to make it easy to get a link text from that
favorites list. I'm thinking a favorites list would contain a link (<a>
element), the "user/track/exercise#entry" text you need to create such a
link and an optional comment (to help remember why this is a favorite).

If the favorites lists are public they also help serve as a guide to
finding interesting conversations, just look at the favorites list of
major nitpickers.

That's about it for my ideas. These might not all be very good ideas,
but I hope they will at least be conversation starters. :)

Greetings,

Peter

Re: [exercism] Some ideas about making exercism more conversation oriented

From:
Katrina Owen
Date:
2013-12-30 @ 15:21
On 12/30, Peter Minten wrote:
> Here are some ideas for improving exercism.
<snip>
> ## Time oriented "comment view"

I spent the winter break working on integrating some new design/UX into
(a separate app) on the site, and the biggest change is a single page
for all the iterations+discussion:


http://exercism.io/v1.0/tadassce/17dc90089ea58df2977e7b26?current_user=YOUR_API_KEY

This is read-only, and there are a number of open questions still.

> To make it easier to
> follow the line of a conversation every comment is a reply to something,
> either a revision or another comment.

This would be excellent.

> The revision pseudo-comments could have a body containing a diff, to
> make it easier for nitpickers to see what has changed.

I'm not sure what this means, could you elaborate?

> ## Simplified linking
> Currently it's not easy to refer to a conversation in another submission
> by another user. We could do something similar to what Github does and
> autolink some things. I'm thinking of a syntax like this:
> 
> pminten/elixir/bob#r1 (Link to a specific revision)
> pminten/elixir/bob#1 (Link to a specific comment)

Agreed, this would be extremely helpful.

> ## Favorites
> 
> There is already an issue for this but I'd like to highlight how it
> would fit in with the rest of these ideas. If linking becomes easier
> keeping track of interesting discussions will become more useful.

Yes, this fits nicely with the other ideas.

Would you mind expanding on the favorites issue on GitHub with these
comments?

Katrina

Re: [exercism] Some ideas about making exercism more conversation oriented

From:
Peter Minten
Date:
2013-12-30 @ 15:44
On 30/12/13 16:21, Katrina Owen wrote:
> On 12/30, Peter Minten wrote:
>> Here are some ideas for improving exercism.
> <snip>
>> ## Time oriented "comment view"
> 
> I spent the winter break working on integrating some new design/UX into
> (a separate app) on the site, and the biggest change is a single page
> for all the iterations+discussion:
> 
> 
http://exercism.io/v1.0/tadassce/17dc90089ea58df2977e7b26?current_user=YOUR_API_KEY
> 
> This is read-only, and there are a number of open questions still.

I hope the sidebar containing the profile picture and such will be
collapsible. It currently eats up a lot of screen space while the
comment section (which contains the most important content) is rather
small on my screen (4:3 with a fairly large font). Zooming in further
will correctly place the comments beneath the revisions, though this
will require rather a lot of scrolling if there are several revisions,
which isn't fun on a tablet or phone.

Getting this right is of course rather tricky because there are so many
different ways to access the content (phone, tablet, LCD).

>> To make it easier to
>> follow the line of a conversation every comment is a reply to something,
>> either a revision or another comment.
> 
> This would be excellent.
> 
>> The revision pseudo-comments could have a body containing a diff, to
>> make it easier for nitpickers to see what has changed.
> 
> I'm not sure what this means, could you elaborate?

Something like that if you click on the "[Revision 2]" entry in the
comments list it expands and shows you a standard context diff between
the old revision and the new one, like this:

 defmodule Example do
-  def foo(bla) do
+  defp foo(bla) do
     return :bar
   end

>> ## Favorites
>>
>> There is already an issue for this but I'd like to highlight how it
>> would fit in with the rest of these ideas. If linking becomes easier
>> keeping track of interesting discussions will become more useful.
> 
> Yes, this fits nicely with the other ideas.
> 
> Would you mind expanding on the favorites issue on GitHub with these
> comments?

Do you mean my comments about favorites or all of these ideas?

Re: [exercism] Some ideas about making exercism more conversation oriented

From:
Katrina Owen
Date:
2013-12-30 @ 16:06
On 12/30, Peter Minten wrote:
> On 30/12/13 16:21, Katrina Owen wrote:
> > Would you mind expanding on the favorites issue on GitHub with these
> > comments?
> 
> Do you mean my comments about favorites or all of these ideas?

I was thinking favorites since there is an issue for it.

Katrina

Re: [exercism] Some ideas about making exercism more conversation oriented

From:
Mark IJbema
Date:
2013-12-30 @ 16:03
Cool stuff! I think having one discussion would work way better.

I do think it's important to make clear what submission every comment is
about (I do see the numbers, but I think visually linking submissions and
comments might be a bit clearer). One thing I found especially surprising
is that the comments and submissions are sorted in opposite directions.

I also agree on the avatar thingy with Peter. I prefer the current layout
where it's just a small block. I know round avatars are all the hype
nowadays, but in my opinion, exercism is about code and comments, not about
social, and name and avatar can be displayed more subtle.

Did you play around with making the submissions/comments seperately
scrollable? You could even make the submissions 'jump' as soon as the
comments are scrolled to comments on the next submission, or the other way
around.

Also really like some of the other improvements, especially eliminating the
dropdown menu, making it less effort to go to your exercises etc.

Mark


On Mon, Dec 30, 2013 at 4:44 PM, Peter Minten <peter@pminten.nl> wrote:

> On 30/12/13 16:21, Katrina Owen wrote:
> > On 12/30, Peter Minten wrote:
> >> Here are some ideas for improving exercism.
> > <snip>
> >> ## Time oriented "comment view"
> >
> > I spent the winter break working on integrating some new design/UX into
> > (a separate app) on the site, and the biggest change is a single page
> > for all the iterations+discussion:
> >
> >
> 
http://exercism.io/v1.0/tadassce/17dc90089ea58df2977e7b26?current_user=YOUR_API_KEY
> >
> > This is read-only, and there are a number of open questions still.
>
> I hope the sidebar containing the profile picture and such will be
> collapsible. It currently eats up a lot of screen space while the
> comment section (which contains the most important content) is rather
> small on my screen (4:3 with a fairly large font). Zooming in further
> will correctly place the comments beneath the revisions, though this
> will require rather a lot of scrolling if there are several revisions,
> which isn't fun on a tablet or phone.
>
> Getting this right is of course rather tricky because there are so many
> different ways to access the content (phone, tablet, LCD).
>
> >> To make it easier to
> >> follow the line of a conversation every comment is a reply to something,
> >> either a revision or another comment.
> >
> > This would be excellent.
> >
> >> The revision pseudo-comments could have a body containing a diff, to
> >> make it easier for nitpickers to see what has changed.
> >
> > I'm not sure what this means, could you elaborate?
>
> Something like that if you click on the "[Revision 2]" entry in the
> comments list it expands and shows you a standard context diff between
> the old revision and the new one, like this:
>
>  defmodule Example do
> -  def foo(bla) do
> +  defp foo(bla) do
>      return :bar
>    end
>
> >> ## Favorites
> >>
> >> There is already an issue for this but I'd like to highlight how it
> >> would fit in with the rest of these ideas. If linking becomes easier
> >> keeping track of interesting discussions will become more useful.
> >
> > Yes, this fits nicely with the other ideas.
> >
> > Would you mind expanding on the favorites issue on GitHub with these
> > comments?
>
> Do you mean my comments about favorites or all of these ideas?
>

Re: [exercism] Some ideas about making exercism more conversation oriented

From:
Katrina Owen
Date:
2013-12-30 @ 22:39
On 12/30, Mark IJbema wrote:
> Cool stuff! I think having one discussion would work way better.

> I do think it's important to make clear what submission every comment is
> about (I do see the numbers, but I think visually linking submissions and
> comments might be a bit clearer).

We've been thinking about how to do that, and so far there's no obvious
solution. We've been going back and forth on a few ideas.

> One thing I found especially surprising
> is that the comments and submissions are sorted in opposite directions.

Yeah, agreed. That was my first reaction when I saw it with real
discussions.

> I also agree on the avatar thingy with Peter. I prefer the current layout
> where it's just a small block.

I think Peter was talking about the sidebar, not the comment byline.

> I know round avatars are all the hype
> nowadays, but in my opinion, exercism is about code and comments, not about
> social, and name and avatar can be displayed more subtle.

I'm very confused. What does round have to do with social?

I think it's important to know who is speaking, and I think that putting
the avatar and name up front works better.

> Did you play around with making the submissions/comments seperately
> scrollable?

Yeah. Still thinking about it.

Thanks for the feedback. Like I mentioned earlier, this is still a very
early stage design for the code page, not something that I'm ready to
release yet.

Katrina

Re: [exercism] Some ideas about making exercism more conversation oriented

From:
Mark IJbema
Date:
2013-12-31 @ 07:54
On Mon, Dec 30, 2013 at 11:39 PM, Katrina Owen <_@kytrinyx.com> wrote:

> > I know round avatars are all the hype
> > nowadays, but in my opinion, exercism is about code and comments, not
> about
> > social, and name and avatar can be displayed more subtle.
>
> I'm very confused. What does round have to do with social?
>
> I think it's important to know who is speaking, and I think that putting
> the avatar and name up front works better.


(I see the confusion I created by mentioning social, I meant 'people' as
opposed to facebook)

I agree, but I think the current style (name, avatar around same size as
the text) is enough for recognition. I feel the new layout puts too much
attention on the people saying it, and too little on what they're saying. I
think it is good to recognize people who have discussed something with you
before, but is it needed to see up front who's talking when there is a new
comment? Isn't the comment itself way more valuable?

I agree with you that putting it above instead of below the comment is a
clear improvement though.

But of course, I only see the end result of a discussion, so maybe I'm
missing something? Wasn't it clear before?

But again, I think these things are polish, and easily experimented with. I
think the design is really a great step forward :)

Cheers,

Mark

Re: [exercism] Some ideas about making exercism more conversation oriented

From:
Russell Dunphy
Date:
2013-12-30 @ 12:42
Nothing to add except I like these ideas! Esp. the time-oriented 
comments/submission view.

Russell Dunphy | @rsslldnphy | rsslldnphy.com

> On 30 Dec 2013, at 10:00, Peter Minten <peter@pminten.nl> wrote:
> 
> Hi all,
> 
> Here are some ideas for improving exercism. Some of these are already in
> the issues tracker but I wanted to present somewhat of an integrated
> vision as it's easier to discuss longer term ideas that way.
> 
> ## Time oriented "comment view"
> 
> Currently a submission page consists of two parts: the code of the
> selected revision of the submission and a list of comments on that
> revision. The problem with that is that often the most useful
> conversation is on a previous revision and thus hidden.
> 
> An alternative would be to always show all comments (with the option to
> switch to reverse chronological order and hide comments for an earlier
> revision). Whenever there's a new revision submitted an entry for that
> ends up between the commits, like how commits are shown between comments
> in github issues. Clicking on the new revision pseudo-comment would
> switch the revision view to that revision. It would also subtly
> highlight the comments related to that revision.
> 
> Comments are strictly ordered chronologically. To make it easier to
> follow the line of a conversation every comment is a reply to something,
> either a revision or another comment.
> 
> Here's how this would look:
> 
> [Revision 1] (comment on this)
> 
> [Comment 1] by pminten (reply)
>  Looks good. But can you avoid doing the sorting of `word` for every
>  candidate?
> 
> [Comment 2] by j_random_coder (in reply to #1 by pminten) (reply)
>  I'll try, but it makes the code look ugly.
> 
> [Revision 2] (comment on this)
> 
> [Comment 3] by pminten (in reply to #2 by j_random_coder) (reply)
>  Much better now.
> 
> The revision pseudo-comments could have a body containing a diff, to
> make it easier for nitpickers to see what has changed.
> 
> ## Simplified linking
> 
> Currently it's not easy to refer to a conversation in another submission
> by another user. We could do something similar to what Github does and
> autolink some things. I'm thinking of a syntax like this:
> 
> pminten/elixir/bob#r1 (Link to a specific revision)
> pminten/elixir/bob#1 (Link to a specific comment)
> 
> ## Favorites
> 
> There is already an issue for this but I'd like to highlight how it
> would fit in with the rest of these ideas. If linking becomes easier
> keeping track of interesting discussions will become more useful. It
> would be good to have a way to add a submission or revision to a
> personal favorites list and to make it easy to get a link text from that
> favorites list. I'm thinking a favorites list would contain a link (<a>
> element), the "user/track/exercise#entry" text you need to create such a
> link and an optional comment (to help remember why this is a favorite).
> 
> If the favorites lists are public they also help serve as a guide to
> finding interesting conversations, just look at the favorites list of
> major nitpickers.
> 
> That's about it for my ideas. These might not all be very good ideas,
> but I hope they will at least be conversation starters. :)
> 
> Greetings,
> 
> Peter