Veritula – Meta

Dennis Hackethal started this discussion over 1 year ago.

Active ideas·Activity

Discuss Veritula itself. For feedback and suggestions.

  Log in or sign up to participate in this discussion.
With an account, you can revise, criticize, and comment on ideas, and submit new ideas.

  Top-level ideas are archived automatically if they have pending criticisms after about 1 month of inactivity. New comments and revisions ‘revive’ them.
Discussions can branch out indefinitely. Zoom out for the bird’s-eye view.
Dennis Hackethal’s avatar
Dennis HackethalOP, over 1 year ago·#337

When all I change during a revision is the criticism flag, the activity log just says ‘no changes’.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, over 1 year ago·#353

As of 9702c05, a revision activity now says that the idea was either marked or unmarked as a criticism.

Criticism of #337
Tom Nassis’s avatar
Tom Nassis revised about 1 year ago·#448

Hi all! This platform looks like such an awesome idea!
This discussion says, "Discuss Veritula itself. For feedback and suggestions."
I wanted to ask about how many members are here. And whether it's encouraged to invite more people, in order to add more and more conversations.

Criticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP revised about 1 year ago·#595

See #449. Since this is a separate concern, not directly related to #337, you’d want to submit a top-level idea rather than comment on #337. The form for top-level ideas is currently at the bottom of this page. I obviously need to make this clearer.

Criticism of #448
Tom Nassis’s avatar
Tom Nassis, about 1 year ago·#549

Dennis Hackethal’s avatar
Dennis HackethalOP revised over 1 year ago·#344

Should probably show the explanation in a revision, when given. In the activity feed, that is.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, over 1 year ago·#346

Done as of 7e7c6cd.

Criticism of #344
Dennis Hackethal’s avatar
Dennis HackethalOP, over 1 year ago·#339

Should I give the icons in the activity feed colors?

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, over 1 year ago·#347

Done as of 8269806.

Criticism of #339
Dennis Hackethal’s avatar
Dennis HackethalOP revised over 1 year ago·#349

The activity feed just shows top-level criticisms as regular ideas. They should be shown as criticisms just like when they are child ideas.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, over 1 year ago·#354

Done as of c11a13c.

Criticism of #349
Dennis Hackethal’s avatar
Dennis HackethalOP, over 1 year ago·#342

Highlight current nav item.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, over 1 year ago·#343

Done as of 146e967.

Criticism of #342
Dennis Hackethal’s avatar
Dennis HackethalOP, over 1 year ago·#351

When a comment is a criticism on another criticism, the activity should say ‘So and so addressed criticism #…’

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, over 1 year ago·#352

Done as of 735c3cc.

Criticism of #351
Dennis Hackethal’s avatar
Dennis HackethalOP, over 1 year ago·#355

In activity feed, behind timestamp (‘… hours ago’), link to corresponding discussion.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, over 1 year ago·#356

Done as of e3f2c5b.

Criticism of #355
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#408

There should be user profiles.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#410

Done as of b3c06c4, see eg my profile.

Criticism of #408
Dennis Hackethal’s avatar
Dennis HackethalOP revised about 1 year ago·#414

Since the diff processes the text as a single line, the hunk header is always going to say either @@ -0,0 +1 @@ (for the first version) or @@ -1 +1 @@ (for every subsequent version). Meaning the header provides no real information. So I might as well remove it.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#416

Done as of 8d3eed0, see eg the version history of #414.

Criticism of #414
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#417

There’s a bug where hovering over a link in the markdown preview removes the form and all typed text. Hovering over a link should have no effect on the form.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1747

Fixed as of b555677.

Criticism of #417
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#424

Would be neat linking to a specific activity.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#425

Done as of a02e6c4, see eg this activity.

Criticism of #424
Dennis Hackethal’s avatar
Dennis HackethalOP revised 2 months ago·#1749

Each activity should have a distinct HTML title. The browser history and search results in search engines all look the same…

Criticism of #425Criticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1751

Done as of 7ef69da.

Criticism of #1749
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#434

There’s a bug where right-clicking in a form to paste text doesn’t result in the preview updating.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#435

Fixed as of b5d435e.

Criticism of #434
Dennis Hackethal’s avatar
Dennis HackethalOP revised about 1 year ago·#437

Dirk Meulenbelt says the concept of revising someone else’s idea is not intuitive.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP revised 7 days ago·#2663

The following commits should address this:

  • 3af3966 Clarify in title that someone revised an idea (rather than originated idea)

    The HTML title now says ‘Idea x revised by…’

  • 6c70cea Underneath idea, indicate that someone revised an idea (rather than submitted it)

    It says ‘Dennis Hackethal, 1 day ago’ for new ideas, ‘Dennis Hackethal revised 1 day ago’ for revisions

  • d20d386 Explain that users can revise each others’ ideas

    As part of the alert on the revision page, when the user is about to revise someone else’s idea.

  • c5748e3 Turn ‘revise’ link into ‘revise their idea’ when it’s someone else’s idea

    Underneath each idea.

  • e0fbd41 List user under each revision in version history

    So that each version is clearly attributed to the corresponding user.

  • 06d3241 List contributors at top of version history

    Comma-separated list to see all contributors at a glance. Eg see here

Criticism of #437
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#449

Tom Nassis asks (#448):

I wanted to ask about how many members are here.

Currently 7.

And whether it's encouraged to invite more people, in order to add more and more conversations.

Yes.

Dennis Hackethal’s avatar
Dennis HackethalOP revised about 1 year ago·#453

The more ideas there are in a discussion, the further the form for top-level ideas is pushed down. Then people don’t know how to submit a new idea and comment on an existing one instead, even if it’s unrelated, as happened with #448. So I need to make this clearer.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1764

The way IG solves this is by rendering the form in a fixed position. It’s still on the bottom but always remains visible.

Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1768

Facebook does it this way, too.

Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1767

Reddit is a bit different because they have multiple subreddits/communities, but each community has top-level posts which people can then comment on. They have a completely separate page/UI for top-level posts. And then directly underneath a top-level post, there’s a textarea saying “Join the conversation”.

Benjamin Davies’s avatar
Benjamin Davies, 3 days ago·#2748

Any progress on this? Scrolling to the bottom to submit new ideas is annoying.

Dennis Hackethal’s avatar
Benjamin Davies’s avatar

Works well 👍

Benjamin Davies’s avatar
Benjamin Davies, 3 days ago·#2749

It might make sense to have the new top-level idea form at the top, in the meantime. Compared to the current design, this would invite the creation of more top-level ideas.

Dennis Hackethal’s avatar

There could be a floating button on the side that takes you to the bottom of the page.

Dennis Hackethal’s avatar

There could be a side pane that stays visible while scrolling content.

Criticized1oustanding criticism
Dennis Hackethal’s avatar

No room for that, at least not on mobile.

Criticism of #2763
Dennis Hackethal’s avatar

Done as of 4922b8c. The form now sticks to the bottom of the discussion page.

Criticism of #453
Tom Nassis’s avatar
Tom Nassis revised about 1 year ago·#500

I'm still getting a feel for this platform. I'm wondering whether it would help promote wider and deeper engagement if Veritula was organized in terms of problems and their solutions. So instead of discussions, discussion trees, and broad topics such as 'Abortion', users would articulate problems and their solutions. Of course, the problem itself could be criticized as well as its proposed solutions. This approach might also make Veritula even more Popperian. All life is problem solving as Popper says.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#502

As I recall, previous iterations of Veritula had explicit designations such as ‘problem’ and ‘solution’ but I decided against continuing those designations. It’s been years but I think it was too rigid and felt too much like ‘red tape’. It’s easier when the only check box in this regard is a boolean for ‘criticism’.

Can’t discussions already map onto the structure you suggest?

Discussion title: problem
Top-level ideas in the discussion: proposed solutions
Nested ideas: criticisms, counter-criticisms, and further solutions

Note also that revisions act as solutions to problems. So do counter-criticisms, in a way.

So I think people can already use Veritula in the way you suggest.

They can also use it like this:

Discussion title: some topic (such as ‘abortion’)
Top-level ideas: problems
Nested ideas: solutions, criticisms and so on

Criticism of #500
Tom Nassis’s avatar
Tom Nassis revised about 1 year ago·#506

Makes sense to me.
'Discussions' is a much broader term than 'problems and their solutions.'
So I can see how that would allow for greater freedom.
I can also imagine some of the challenges presented in prior iterations of Veritula, if it had more of a 'problems and their solutions' structure.
Perhaps some of this theory of problem-solving just shared can make it into 'How Does Veritula Work?'
Yes, I do think discussions can map onto the structure I suggest.
So, no worries. I was wondering whether the 'Discussion Titles' can draw in current and future users in a more frictionless manner with problem statements.

But if it was tried before, why try it again? Thanks.

Criticism of #502Criticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#509

You marked this as a criticism but it sounds like you’re agreeing with me.

Criticism of #506
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#511

Perhaps some of this theory of problem-solving just shared can make it into 'How Does Veritula Work?'

Done, see #510.

I was wondering whether the 'Discussion Titles' can draw in current and future users in a more frictionless manner with problem statements.

I think you’re right, that would be best.

Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#503

You suggest replacing discussion trees:

[I]nstead of […] discussion trees […] users would articulate problems and their solutions.

But then you also write:

Of course, the problem itself could be criticized as well as its proposed solutions.

Which means you’d still have trees regardless. So that sounds like a contradiction.

Criticism of #500Criticized1oustanding criticism
Tom Nassis’s avatar
Tom Nassis, about 1 year ago·#508

To be clear, I'm not opposed to 'trees' in general.

I was wondering whether 'discussion trees' can be replaced with 'problems-and-their-solutions trees' (for lack of a better phrasing).

Criticism of #503
Tom Nassis’s avatar
Tom Nassis, about 1 year ago·#501

Veritula should have a section with a list of all its current members.

For now, people just have profiles.

But having a list of members would build a sense of rapport between the participants.

And would promote a greater flow of communication.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#504

Good idea. I’ve added this to my list of features to implement.

Tom Nassis’s avatar
Tom Nassis, about 1 year ago·#550

Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#514

Done as of 6251b6a, see veritula.com/members.

Criticism of #501
Tom Nassis’s avatar
Tom Nassis, about 1 year ago·#551

Thank you, Dennis.👍

Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#515

[H]aving a list of members would build a sense of rapport between the participants.

Just so you know, although I’ve implemented the list of members, I do want to be clear that Veritula is not meant for socializing.

Tom Nassis’s avatar
Tom Nassis revised about 1 year ago·#553

I know what you mean, but Veritula unavoidably facilitates public (i.e. social) interactions, no? Of a certain kind, to be clear. Ideas, ideas, ideas.

Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#562

Well, discussions are necessarily a ‘social’ activity in that they involve at least two people, yes. I just don’t want Veritula to be yet another social network.

In a mixed society, people can prioritize truth seeking or fitting in but not both.

Dennis Hackethal’s avatar
Dennis HackethalOP, 10 months ago·#1125

Password reset is broken

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, 10 months ago·#1136

Workaround: have users email me for password reset for now. Re-evaluate when I have enough users to merit additional infrastructure for sending emails.

Criticism of #1125
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1753

I should revisit this now that I have email infrastructure in place.

Criticism of #1136Criticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1759

Done as of 9c14b22.

Criticism of #1753
Dennis Hackethal’s avatar
Dennis HackethalOP revised 4 days ago·#2714

Need email notifications.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, 4 months ago·#1590

They are now implemented.

Criticism of #2714
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1752

See #595. The form for new ideas is pushed to the very bottom of the discussion page. For long discussion, that means users won’t know where to submit new ideas.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1754

Duplicate of #453.

Criticism of #1752
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1755

Newly added comments keep animating when hidden and then unhidden.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1758

Fixed as of 985430e.

Criticism of #1755
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1760

All emails have unsubscribe links, but people shouldn’t be able to unsubscribe from system emails like password resets.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar

This is not applicable anymore.

Criticism of #1760
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1761

Friendly IDs for discussions would be nice. With automatic redirects for numeric ID from legacy links.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1762

Done as of e6a90e5.

Criticism of #1761
Dennis Hackethal’s avatar
Dennis HackethalOP revised 2 months ago·#1775

Include (preview of) content in idea URLs: '/ideas/123-first-30-or-so-chars-of-idea-here'.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1765

That would make idea URLs more meaningful, but there’s something simple and beautiful about the shorter URLs that only have the numeric ID.

Criticism of #1775Criticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1766

Could have backwards compatibility for the short version and continue using the hashtag in the UI. Best of both worlds?

Criticism of #1765
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1769

That would mean fetching an idea to compute the path for each hashtag. Overhead?

Criticism of #1775Criticized2oustanding criticisms
Dennis Hackethal’s avatar
Dennis HackethalOP revised 2 months ago·#1771

Fetching the idea is not necessary if the feature is backwards compatible. Can still just use /ideas/123.

Criticism of #1769Criticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1778

As noted in #1777, fetching the idea actually helps. Well worth the overhead.

Criticism of #1771
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1773

Seems like minor overhead. It’s not like there are tons of user-generated hashtags everywhere.

Criticism of #1769
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1777

This actually helps to prevent rendering links with IDs that don’t point to any existing idea.

Criticism of #1769
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1779

Done as of fcf578c.

Criticism of #1775
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1780

Having features to both collapse an idea and hide all its comments seems like an opportunity for unification. Why not just go with collapsing and remove the ability to hide all comments?

CriticismCriticized2oustanding criticisms
Dennis Hackethal’s avatar
Dennis HackethalOP revised 2 months ago·#1783

Because that would mean hiding each comment individually if you ever do want to hide all comments of an idea.

Criticism of #1780
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1785

Sometimes you just want to hide the comments without collapsing the parent idea.

Criticism of #1780
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1786

Cycling through the revisions of a leaf reveals its gutter, which should be hidden since it’s a leaf.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1787

Make sure cycling between a leaf revision with children and a leaf revision without children properly toggles the gutter.

Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1788

Fixed as of 76b7ab4.

Criticism of #1786
Dennis Hackethal’s avatar
Dennis HackethalOP revised 4 days ago·#2717

Feature to collapse all criticized ideas of a discussion? Useful for todo lists.

Criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1792

Or each discussion could have a search/filter form to filter ideas not just by criticized or not but also content and potentially other attributes.

Dennis Hackethal’s avatar
Dennis HackethalOP, 2 months ago·#1793

Or the existing search page could be filtered by discussion. For example, I could link to that page with an additional query param discussion_id=1 or something like that.

Dennis Hackethal’s avatar
Dennis HackethalOP revised about 2 months ago·#1845

There should be a feature similar to the ‘single comment thread’ feature Reddit has, where you start with some deeply nested child idea and render all of its deeply nested parents above it:

    G
   /|\
 P1 P2 P3
   \|/
    I

This feature would be great for seeing an idea in its proper context without having to scroll past a bunch of potentially unrelated ideas.

For parent ideas, cycle only through revisions that lead to the target idea. Communicate accordingly in the UI. For the target idea, its children, and any of its siblings’ children, cycle through all revisions.

Every idea should have a link to a separate page with the single comment thread. This could just be ideas#show. That page should also scroll the target idea into view in case its preceded by too much context that would otherwise push it below the viewport.

This feature would also allow me to remove the buggy ‘context’ feature.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, about 2 months ago·#1847

Implemented as of 632c0d7.

Criticism of #1845
Dennis Hackethal’s avatar
Dennis HackethalOP revised about 2 months ago·#1889

Should I be showing the comment form by default on ideas#show?

To avoid scrolling past content, I could remove the autofocus on the textarea unless a certain query parameter is given.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, about 2 months ago·#1888

The ‘Revise…’ button is hidden when the comment form is open. It makes sense to hide it because it doesn’t belong in that context. But once hidden, the user has no quick way to revise an idea. Maybe the first thing they want to do after opening ideas#show is not comment but revise.

Criticism of #1889Criticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP revised about 2 months ago·#1905

As of acb14e3, the revision button is an icon button that lives next to the collapse icon button.

Therefore, the button doesn’t need to be hidden anymore.

Criticism of #1888
Dennis Hackethal’s avatar
Dennis HackethalOP, about 2 months ago·#1892

That would mean the revise button would be at the top of the idea. But presumably, people would typically want to revise an idea after they finish reading it. Meaning after they reach the bottom.

Criticism of #1905Criticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, about 2 months ago·#1893

It could go both ways. Someone may have already read an idea and just wants to revise it, in which case having to scroll to the bottom is cumbersome.

Criticism of #1892
Dennis Hackethal’s avatar
Dennis HackethalOP, about 2 months ago·#1907

Done as of b423e18.

Criticism of #1889Criticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 month ago·#1928

Reverted as of f8ed700.

Criticism of #1907
Dennis Hackethal’s avatar
Dennis HackethalOP, about 2 months ago·#1919

Having implemented this, a problem has surfaced: when linking to an old version of an idea, the alert “You’re about to comment on an old version of this idea. Are you sure …” shows. That’s jarring if you didn’t want to comment but merely look at the idea.

Criticism of #1889
Dennis Hackethal’s avatar
Dennis HackethalOP revised about 1 month ago·#1930

Add hover effects to schemed buttons so there’s consistency with the existing hover effects for links.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 month ago·#1932

Done as of ea37007.

Criticism of #1930
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 month ago·#1953

https://veritula.com/activities/1808

Since the discussions starts with an idea, there should be a reply button.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 month ago·#1955

Done as of bfe04e2.

Criticism of #1953
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 month ago·#1956

Bug: when clicking the link to the activity in #1953, the idea is replaced with “Content missing”.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 month ago·#1957

Fixed as of 985d05a.

Criticism of #1956
Dennis Hackethal’s avatar

By the time someone receives an email notification, they will probably have forgotten whatever they wrote originally that prompted someone to reply to them.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar

Fixed as of recently. Emails now quote the parent idea.

Criticism of #2155
Dennis Hackethal’s avatar

Feature idea: selecting some text, then hitting ‘Comment’, automatically pastes a quote of the selected text into the textarea, Telegram style, with the proper Markdown formatting.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar

Done as of 7061786.

Criticism of #2547
Dennis Hackethal’s avatar

Bug: tooltips sometimes don’t disappear. They should disappear when the user stops hovering over the element that triggered the tooltip.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar

Fixed as of f7833c6.

Criticism of #2572
Dennis Hackethal’s avatar

I can still reproduce the issue by clicking on the button to collapse/expand an idea.

Criticism of #2573Criticized1oustanding criticism
Dennis Hackethal’s avatar

Fixed as of 0178828.

Criticism of #2700
Dennis Hackethal’s avatar
Dennis HackethalOP revised 9 days ago·#2630

Discussions are getting slower to render as they grow. It’s a rendering issue (not a db issue).

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP revised 9 days ago·#2633

I could cache ideas so deeply nested trees can be rendered at once.

Criticized3oustanding criticisms
Dennis Hackethal’s avatar

Cache invalidation for user-based caching sounds like a nightmare.

Criticism of #2633
Dennis Hackethal’s avatar

Initial page loads would still be slow for users.

Criticism of #2633
Dennis Hackethal’s avatar

A single new idea somewhere down the tree could invalidate the cache and slow things down again.

Criticism of #2633
Dennis Hackethal’s avatar

I could lazy load ideas: only load the parts of the page that would be visible on the current viewport. Then load more parts as the user scrolls.

Criticized2oustanding criticisms
Dennis Hackethal’s avatar

Complex, requires non-trivial scroll listeners correlated to deeply nested ideas.

Criticism of #2635
Dennis Hackethal’s avatar

That means cmd + f won’t always work.

Criticism of #2635
Dennis Hackethal’s avatar
Dennis HackethalOP, 9 days ago·#2636

On initial page load, I could just load the first ten or so top-level ideas and their immediate children, just to reduce wait times and populate the page. Then load the rest asynchronously.

Criticized1oustanding criticism
Dennis Hackethal’s avatar

Duplicate of #2677/#2683.

Criticism of #2636
Dennis Hackethal’s avatar
Dennis HackethalOP revised 7 days ago·#2659

I could use ActionController::Live to stream top-level ideas to the page one by one. Instant page load.

Battle tested
Dennis Hackethal’s avatar

Including that module significantly slows down hot reloads on all pages. I need a tight feedback loop in dev.

Criticism of #2659Criticized1oustanding criticism
Dennis Hackethal’s avatar

Fast UX is more important than fast developer experience.

Criticism of #2647Criticized1oustanding criticism
Dennis Hackethal’s avatar

A slow developer experience will slow down all further development, including bug fixes and feature rollouts, which hurts UX as well.

Criticism of #2648
Dennis Hackethal’s avatar

After resetting my working directory and beginning to implement streams a second time, I can no longer reproduce this issue, despite reasonable attempts to reproduce it.

Criticism of #2647Criticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, 7 days ago·#2651

I’ve since been able to reproduce the issue after all. Running a raw SQL query in Idea.tree in combination with the inclusion of the Live module seems to mess with Rails’s reloader.

Criticism of #2650
Dennis Hackethal’s avatar

Replacing a raw SQL query in Idea.tree with a standard ActiveRecord query solves this issue.

Criticism of #2647
Dennis Hackethal’s avatar

This page used to take ~3.5 seconds to load. Now it renders within 600ms :)

Dennis Hackethal’s avatar

Incompatible with Devise authentication: https://github.com/heartcombo/devise/issues/2332

Criticism of #2659Criticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP revised 6 days ago·#2688

The thread suggests a workaround: use authenticated do … blocks in routes.rb instead of before_action :authenticate_user! in controllers.

It’s probably a good idea to do this anyway to avoid divulging the existence of routes that unauthenticated users don’t need to know exist. (They will get a 404 instead of a 401.)

Criticism of #2670Criticized1oustanding criticism
Dennis Hackethal’s avatar

Then again, I’d want to redirect users to the sign-in page (and then ideally back to where they were trying to go).

Criticism of #2688
Dennis Hackethal’s avatar

I could extract discussions#show into a new, separate StreamController or something like it. That controller would not use Devise.

Criticism of #2670
Dennis Hackethal’s avatar

I could override authenticate_user! in the DiscussionsController.

Criticism of #2670Criticized1oustanding criticism
Dennis Hackethal’s avatar

That means duplicate functionality; anytime I customize Devise in the future, I’ll have to remember to adjust this one method as well.

Criticism of #2692
Dennis Hackethal’s avatar

JS modules are always deferred and unusable until the page is fully loaded. As a result, comment buttons and gutters won’t work while ideas are still streaming onto the page.

Criticism of #2659Criticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, 6 days ago·#2694

I now purposely prevent interactions with buttons and gutters, and gray them out, until the page is fully loaded. So instead of broken hover effects and interactions, the user gets intentionally disabled elements, and this intentionality is communicated to them.

Once the page is fully loaded, buttons and gutters are enabled and visually restored.

Since the browser’s loading indicator remains visible until then, this behavior shouldn’t violate user expectation.

Criticism of #2671
Dennis Hackethal’s avatar

cmd + f won’t work reliably.

Criticism of #2659Criticized2oustanding criticisms
Dennis Hackethal’s avatar

Now that parts of the page are purposely and visually disabled (see #2694), users may not expect everything to be working 100% during a loading state.

Criticism of #2679
Dennis Hackethal’s avatar
Dennis HackethalOP, 6 days ago·#2696

This problem will surface rarely – users would have to hit cmd + f immediately upon opening the page. For most users, by the time they start typing, the page is already fully loaded. So this seems like a small price to pay in exchange for discussion pages that always render faster.

Criticism of #2679
Dennis Hackethal’s avatar
Dennis HackethalOP, 6 days ago·#2675

I could have a separate route at /ideas/:id/isolated which renders only the idea without any parents or children. And then a discussion could render a bunch of deeply nested turbo frames loading that route.

Criticized1oustanding criticism
Dennis Hackethal’s avatar

For large discussions, wouldn’t that flood the server with requests?

Criticism of #2675
Dennis Hackethal’s avatar

Yes, it would be even worse than #2677 (see criticism #2681), where only top-level ideas were turbo frames.

Dennis Hackethal’s avatar

The top level ideas could be rendered as turbo frames of ideas#show.

Criticized2oustanding criticisms
Dennis Hackethal’s avatar

I just tried this. Seemed promising at first but sometimes ideas load out of order. Looks horrible.

Criticism of #2677Criticized1oustanding criticism
Dennis Hackethal’s avatar

I could render the first ~10 top-level ideas immediately and only render the rest as turbo frames off screen. By the time the user scrolls down, they should all be loaded.

Criticism of #2680
Dennis Hackethal’s avatar

Too many requests when there are enough top-level ideas.

Criticism of #2677
Dennis Hackethal’s avatar

While ideas load, cmd +f won’t work.

Criticism of #2677
Dennis Hackethal’s avatar
Dennis HackethalOP, 4 days ago·#2723

I implemented #2659 and it’s much better now. In addition, there is now automated archiving (#2704) and manual archiving (#2711). Archived ideas live on a separate page, so the main page is faster.

Criticism of #2630
Dennis Hackethal’s avatar

Automatically generated ideas are polluting the search page.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar

As of 2d3d38f, system-generated ideas are excluded from search results. They can be included again by checking a new checkmark in the form.

Criticism of #2597
Dennis Hackethal’s avatar

Would be nice highlighting strings matching the query in search results.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar

Done as of f2531a2.

Criticism of #2601
Dennis Hackethal’s avatar

On the search page, there should be a button to clear the query input.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar

Done as of 7a31a68.

Criticism of #2625
Dennis Hackethal’s avatar

Changing the query on the search page moves the cursor to the start of the query input. It should move to the end or, ideally, keep its position.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar

Done as of 765ba05.

Criticism of #2626
Dennis Hackethal’s avatar
Dennis HackethalOP revised 5 days ago·#2701

Old ideas can pollute discussions. Like in this meta thread.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, 5 days ago·#2703

Proposed solution: edit a discussion to hide top-level ideas. That way, discussion owners can hide ideas they no longer deem relevant.

For example, completed tasks in discussions used as issue trackers, like this Meta thread, could be hidden so they don’t pollute the thread.

There could be a button for users to reveal hidden ideas so nothing is lost or hidden dishonestly. And direct links to hidden ideas would continue to work.

Criticized2oustanding criticisms
Dennis Hackethal’s avatar

This requires manual action. Could mean a lot of work depending on the discussion.

Criticism of #2703
Dennis Hackethal’s avatar

People might just forget to do this.

Criticism of #2703
Dennis Hackethal’s avatar

There could be periodic reminders and a review board to make it easier.

Criticism of #2707Criticized1oustanding criticism
Dennis Hackethal’s avatar

That could just annoy people and cause them to unsubscribe from emails.

Criticism of #2708
Dennis Hackethal’s avatar
Dennis HackethalOP revised 4 days ago·#2725

Proposed solution: ideas with pending criticisms could be archived automatically if they haven’t had any activity in the past 30 days, say.

Dennis Hackethal’s avatar

Proposed solution: allow people to archive ideas. Maybe only their own.

Dennis Hackethal’s avatar

#2725 and #2711 are implemented as of 34fc694.

Criticism of #2701
Dennis Hackethal’s avatar

Autofocus should put the cursor at the end of an input, not the beginning.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, 3 days ago·#2732

Done for the search input as of 765ba05. It makes sense for that input because the user expects to be able to keep typing after submitting the form. For other inputs, the user will expect whatever default their browser implements.

Criticism of #2730
Dennis Hackethal’s avatar

Search page is getting slower the more ideas there are in the db.

CriticismCriticized1oustanding criticism
Dennis Hackethal’s avatar

https://veritula.com/ideas?q=&nature=uncontroversial is down from 2988ms to 476. Growing db should now have marginal effect, if any.

Criticism of #2733