Veritula – Meta
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.When all I change during a revision is the criticism flag, the activity log just says ‘no changes’.
As of 9702c05, a revision activity now says that the idea was either marked or unmarked as a criticism.
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.
Should probably show the explanation in a revision, when given. In the activity feed, that is.
Should I give the icons in the activity feed colors?
The activity feed just shows top-level criticisms as regular ideas. They should be shown as criticisms just like when they are child ideas.
Highlight current nav item.
When a comment is a criticism on another criticism, the activity should say ‘So and so addressed criticism #…’
In activity feed, behind timestamp (‘… hours ago’), link to corresponding discussion.
There should be user profiles.
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.
Done as of 8d3eed0, see eg the version history of #414.
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.
Would be neat linking to a specific activity.
Done as of a02e6c4, see eg this activity.
Each activity should have a distinct HTML title. The browser history and search results in search engines all look the same…
There’s a bug where right-clicking in a form to paste text doesn’t result in the preview updating.
Dirk Meulenbelt says the concept of revising someone else’s idea is not intuitive.
The following commits should address this:
3af3966Clarify in title that someone revised an idea (rather than originated idea)The HTML title now says ‘Idea x revised by…’
6c70ceaUnderneath 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
d20d386Explain that users can revise each others’ ideasAs part of the alert on the revision page, when the user is about to revise someone else’s idea.
c5748e3Turn ‘revise’ link into ‘revise their idea’ when it’s someone else’s ideaUnderneath each idea.
e0fbd41List user under each revision in version historySo that each version is clearly attributed to the corresponding user.
06d3241List contributors at top of version historyComma-separated list to see all contributors at a glance. Eg see here
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.
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.
The way IG solves this is by rendering the form in a fixed position. It’s still on the bottom but always remains visible.
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”.
Any progress on this? Scrolling to the bottom to submit new ideas is annoying.
Yes, see here: https://veritula.com/discussions/veritula-meta
Give it a shot.
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.
There could be a floating button on the side that takes you to the bottom of the page.
There could be a side pane that stays visible while scrolling content.
Done as of 4922b8c. The form now sticks to the bottom of the discussion page.
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.
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
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.
You marked this as a criticism but it sounds like you’re agreeing with me.
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.
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.
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).
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.
Good idea. I’ve added this to my list of features to implement.
Done as of 6251b6a, see veritula.com/members.
[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.
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.
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.
Password reset is broken
Need email notifications.
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.
Newly added comments keep animating when hidden and then unhidden.
All emails have unsubscribe links, but people shouldn’t be able to unsubscribe from system emails like password resets.
Friendly IDs for discussions would be nice. With automatic redirects for numeric ID from legacy links.
Include (preview of) content in idea URLs: '/ideas/123-first-30-or-so-chars-of-idea-here'.
That would make idea URLs more meaningful, but there’s something simple and beautiful about the shorter URLs that only have the numeric ID.
Could have backwards compatibility for the short version and continue using the hashtag in the UI. Best of both worlds?
That would mean fetching an idea to compute the path for each hashtag. Overhead?
Seems like minor overhead. It’s not like there are tons of user-generated hashtags everywhere.
This actually helps to prevent rendering links with IDs that don’t point to any existing idea.
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?
Cycling through the revisions of a leaf reveals its gutter, which should be hidden since it’s a leaf.
Make sure cycling between a leaf revision with children and a leaf revision without children properly toggles the gutter.
Feature to collapse all criticized ideas of a discussion? Useful for todo lists.
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.
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.
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.
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.
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.
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.
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.
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.
Done as of b423e18.
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.
Add hover effects to schemed buttons so there’s consistency with the existing hover effects for links.
https://veritula.com/activities/1808
Since the discussions starts with an idea, there should be a reply button.
Bug: when clicking the link to the activity in #1953, the idea is replaced with “Content missing”.
By the time someone receives an email notification, they will probably have forgotten whatever they wrote originally that prompted someone to reply to them.
Fixed as of recently. Emails now quote the parent idea.
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.
Bug: tooltips sometimes don’t disappear. They should disappear when the user stops hovering over the element that triggered the tooltip.
I can still reproduce the issue by clicking on the button to collapse/expand an idea.
Discussions are getting slower to render as they grow. It’s a rendering issue (not a db issue).
I could cache ideas so deeply nested trees can be rendered at once.
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.
Complex, requires non-trivial scroll listeners correlated to deeply nested ideas.
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.
I could use ActionController::Live to stream top-level ideas to the page one by one. Instant page load.
Including that module significantly slows down hot reloads on all pages. I need a tight feedback loop in dev.
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.
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.
Replacing a raw SQL query in Idea.tree with a standard ActiveRecord query solves this issue.
This page used to take ~3.5 seconds to load. Now it renders within 600ms :)
Incompatible with Devise authentication: https://github.com/heartcombo/devise/issues/2332
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.)
Then again, I’d want to redirect users to the sign-in page (and then ideally back to where they were trying to go).
I could extract discussions#show into a new, separate StreamController or something like it. That controller would not use Devise.
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.
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.
cmd + f won’t work reliably.
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.
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.
For large discussions, wouldn’t that flood the server with requests?
The top level ideas could be rendered as turbo frames of ideas#show.
I just tried this. Seemed promising at first but sometimes ideas load out of order. Looks horrible.
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.
Too many requests when there are enough top-level ideas.
Automatically generated ideas are polluting the search page.
As of 2d3d38f, system-generated ideas are excluded from search results. They can be included again by checking a new checkmark in the form.
Would be nice highlighting strings matching the query in search results.
On the search page, there should be a button to clear the query input.
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.
Old ideas can pollute discussions. Like in this meta thread.
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.
This requires manual action. Could mean a lot of work depending on the discussion.
Proposed solution: ideas with pending criticisms could be archived automatically if they haven’t had any activity in the past 30 days, say.
Proposed solution: allow people to archive ideas. Maybe only their own.
Autofocus should put the cursor at the end of an input, not the beginning.
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.
Search page is getting slower the more ideas there are in the db.
https://veritula.com/ideas?q=&nature=uncontroversial is down from 2988ms to 476. Growing db should now have marginal effect, if any.