Bubble v3.0: Thanks and Reactions, Private Mode, Improved Issue Trackers
I have updated geminispace.org to Bubble v3.0. There has been lots of progress in many different areas.
Feedback Mechanisms
A key function of Bubble is to enable rich interactions that go beyond basic commenting. While feedback mechanisms such as Likes can be a nice way to show support and encouragement, they also have negative aspects: they encourage gamification and may turn posting into a popularity contest. Therefore, it is important to let a Bubble instance be customized to the needs and preferences of its users. In v3.0, there are now three different feedback mechanisms:
- Thanks: a private way to show appreciation. When giving thanks to someone they will receive a notification about it, but the thanks are not stored persistently anywhere.
- Reactions: the admin can configure a set of Emoji that users can choose from to react to posts. Reactions are anonymous but the total count of each type of reaction is visible on the post page to everyone.
- Likes: as before, likes are a public endorsement of a post. By not being anonymous, they help people discover others with similar interests.
Each of these mechanisms serves a different purpose and it probably is too much to have them all enabled at the same time, which is why they are all optional. There is a new Feedback Settings page where these can be disabled on a per-user basis. The Bubble admin can choose which feedback mechanisms are available site-wide. Customization is also important, so by defining the reaction Emojis, the admin can choose what they represent/measure. For example, the admin might set the available reactions to `๐ ๐` and have them be a sort of an anonymous like/dislike polling system.
All types of feedback are enabled on geminispace.org and you are encouraged to disable the ones that are not to your liking.
Private Mode
An important use case for Bubble is providing individuals and small groups of people a personal publishing platform or a private space. In v3.0, I've added features and options to support this:
- Added admin actions to create new users, generate random passwords, and revoke certificates. These will enable an admin to manage users of a private Bubble when user registration is closed.
- The `frontpage` config option defines a static Gemtext page that is shown to unregistered visitors. This page is the only thing unregistered visitors are able to see.
- The `user.subspaces` config option controls whether users can create new subspaces, in case the admin wants the subspaces to remain a fixed set of categories, for example.
Composer
I've been writing a couple of longer posts using the draft composer and while it works pretty well already, some improvements were still called for:
- The segment "Move" action now supports inserting a new segment via shortcut commands (. : / P) after the current one, in addition to deletion (X). This makes it easier to insert content in the middle of a post.
- "Edit text" action is always available regardless of segment length now that long segments can be edited via special commands (: \).
- Added per-post "Omit from All Posts" toggle. This allows one to reserve individual posts for more private uses so they are visible only in the /u/ feed.
Issue Trackers
โ ๏ธ Issue tracker post URLs now use the issue ID number and not the post ID number. Sorry about breaking links, but it doesn't make any sense to use the post IDs in issue trackers.
- Moderators of an empty subspace can toggle issue tracking mode. The subspace must be empty because issue trackers cannot contain regular posts that lack issue IDs. This now enables anyone to create an issue tracker, but attaching a Git repository still requires admin rights.
- Added tag-based filtering to focus on `#bug`s only, for instance.
- Commonly needed actions were moved to the top in issue trackers: search, open/closed filtering.
- Mentioning a Git commit hash in an issue body or comment automatically shows a link to the commit in the Git repository, using the configured repository view URL.
- Issue search results have a nicer format.
Moderation
Posts can be moved between subspaces. Moderators can move any post in their subspace to another subspace, and post authors can always move their own posts elsewhere. Moving a post does not break URLs because post IDs are unique, and a URL that uses the old subspace name will be redirected to the new location. However, issue tracker posts cannot be moved due to per-subspace issue ID numbering.
Other Changes
- Sorting by ๐ฅ Hotness has been revised to mostly depend on how much time has passed since the latest comment in the discussion thread and how many different people have commented. The actual number of comments no longer has an influence. The idea here is to keep active discussion threads near the top of the feed.
- Email notifications are more compact (removed unnecessary greeting in the beginning), making the information easier to glance on small screens.
- You can see number of total votes in a poll before casting a vote.
- X days/weeks/months ago is rounded to nearest full number.
- Config option for showing a longer site description for non-signed-in users.
- Config option for an introductory text to show in Help.
Next Steps
I still have a bunch of things to work on before I am confident that I can upgrade skyjake.fi to be Bubble-based and make /s/Lagrange-Issues the primary issue tracker for Lagrange. I'll definitely also need to start documenting the available site configuration settings in the README. And since we're about to switch over to June, it could be a good time to experiment with site-wide monthly archiving.
#release
2023-05-30 ยท 2 years ago ยท ๐ cquenelle, sirwilburthefirst, Addison, innerteapot, makaru, klemperer, winduptoy ยท โค 2 ๐ค 1 ๐ฅ 3 ๐ 2
2 Comments โ
๐ฆ teal ยท 2023-05-30 at 11:07:
I love the new changes. Now I just have to figure out how to set up cnames in gmcapsule so I can stand up my own.
๐๏ธ skyjake [OP/mod...] ยท 2023-05-30 at 16:59:
@teal You can define multiple hostnames in the [server] section:
[server] host = skyjake.fi git.skyjake.fi gmi.skyjake.fi geminispace.org
The server certificate will need to have matching alternative subject names for each hostname.
Source