Proposal: Mirror.xyz editing experience improvement project

Title: Mirror Improvements
Proposal Champion: bruce
Date: August 21th,2022

TLDR

Improve Mirror.xyz editing experience in a web3 way. Also, we can make the improvement process faster.

Description

I used to see many complaints from the Chinese community regarding Mirror’s bad editing experience.xyz.

There are three reasons from my observation:

  1. The underlying opensource editor does not handle Chinese (or non-English cases) well. And the developers are unaware of it (because they don’t know Chinese). For example, the following case:
  2. There is no easy way to report the issue to the Mirror Dev Team, especially for the Chinese (not familiar with English).
  3. The dev teams might be busy working on new or more essential features, with not many resources on minor improvements at the moment.

So, many Chinese users can do nothing but complain about the experience of Mirror on social media.

LXDAO, an R&D-focused DAO with many Chinese buidlers, has the ability or responsibility to work on this, as it aligns with our mission and vision. Luckily, Web3 has a culture of open source and collaboration. It provides the possibility for us to contribute.

Thus, I proposed to start a Recurring Project in LXDAO for collecting Mirror experience issues (especially from Chinese communities). LXDAO will give LXPoints (LXDAO PoW, later converted to tokens) to LXDAO buidlers to work on the issue and figure out a way to fix or improve and then work with the Mirror official team to finish the improvements.

TLDR Project Highlights

  1. It is a recurring project, which means people can give feedback in the LXDAO forum at any time, and the Project Manager will look and make a budget to find an LXDAO buidler to handle. One case by one case.
  2. We accept any feedback regarding Mirror.xyz, mainly regarding the Editing experience. And our buidlers will try to: 1. Fix the issue directly if it’s a bug in the underlying opensource projects. And notify Mirror Dev Team to upgrade the version. 2. Debug and point it out to the Mirror Dev Team if we have no access to the codebase.
  3. We will respond faster, especially to Chinese users.

Project Details

I have posited a feedback collection thread in the LXDAO forum (Improve Mirror Editing experience - #2 by Bruce_LXDAO) and sent it to many Chinese Mirror users. Over 100 users have visited, but at the moment, only collected one issue. So in this season, we will fix this one issue.

It is an issue regarding parsing Chinese punctuation. More details: Improve Mirror Editing experience - #2 by Bruce_LXDAO

Budget and Time frame

At the moment, we need two buidlers:

  • Project Manager: @Bruce_LXDAO to do communication works, like collect issues, analysis, make the proposal, find appropriate buidlers to follow up
  • FrontEnd Developer. Fix the markdown parser logic issue.

The budgets are:

  • 100 LXPoints for the Project Manager
  • 100 LXPoints for the FrontEnd Developer
  • Other external grants, tokens, if any

Time frame:

  • Fix the issue before 30th Aug, and after fixing, will try to push the open source project owner to merge and release and contact Mirror Dev Team to upgrade the version to fix ASAP.

=== Chinese Version ===

TLDR

以 Web3 方式改善 Mirror.xyz 编辑体验。我们可以快速响应问题并且试图解决。

描述

我曾经看到很多华人社区抱怨Mirror的糟糕的编辑体验。

根据我的观察,有以下三个原因:

  1. 底层开源编辑器对中文(或非英文的情况)处理不好。而开发者对此一无所知(因为他们不懂中文)。例如以下情况:
  2. 向 Mirror Dev Team 报告问题没有简单的方法,尤其是对于不熟悉英文的中国人。
  3. 开发团队可能正忙于开发新的或更重要的功能,目前没有多少资源用于小改进。

因此,许多中国用户只能在社交媒体上抱怨 Mirror 的体验。

LXDAO 是一个以研发为重点的 DAO,拥有许多中国开发者,有能力或有责任在这方面开展工作,因为它符合我们的使命和愿景。幸运的是,Web3 具有开源和协作的文化。它为我们提供了贡献的可能性。

因此,我提议在 LXDAO 启动一个 周期性的项目 来收集 Mirror 体验问题(尤其是来自中国社区的)。 LXDAO 将向 LXDAO Buidler 提供 LXPoints(LXDAO PoW,未来转换为代币)以解决该问题并找出修复或改进的方法,然后与 Mirror 官方团队合作完成改进。

TLDR 项目重点

  1. 是一个周期性项目,也就是说人们可以随时在 LXDAO 论坛中反馈,项目经理会看并做预算,找一个 LXDAO Buidler 来处理。一件件处理。
  2. 我们接受任何关于 Mirror.xyz 的反馈,主要是关于编辑体验。我们的构建者将尝试: 1. 如果它是底层开源项目中的错误,则直接修复该问题。并通知 Mirror Dev Team 升级版本。 2. 如果我们无法访问代码库,请调试并将其指出给 Mirror 开发团队。
  3. 我们会更快响应,尤其是对中国用户。

项目详情

我在 LXDAO 论坛(Improve Mirror Editing experience - #2 by Bruce_LXDAO )中发布了一个反馈收集帖子,并发送给了许多中国 Mirror 用户。超过 100 位用户访问过,但目前只收集了一期。所以在这个赛季,我们会解决这个问题。

这是关于解析中文标点符号的问题。更多详情:Improve Mirror Editing experience - #2 by Bruce_LXDAO

预算和时间框架

目前,我们需要两个 Buidlers:

  • 项目经理:@Bruce_LXDAO 负责沟通工作,如收集问题、分析、提出建议、寻找合适的构建者进行跟进
  • 前端开发人员。修复 markdown 解析器逻辑问题。

预算如下:

  • 100 LXPoints 给项目经理
  • 100 LXPoints 给前端开发者
  • 其他外部赠款、代币(如果有)

大体时间:

  • 8月30日前修复问题,修复后会尽量推动开源项目所有者合并发布,并联系Mirror Dev Team升级版本尽快修复。
  • I support this Proposal
  • I do not support this Proposal
  • I think something need to be changed on the Proposal

0 voters

2 Likes

Upon request, here is additional information for the proposal:

Project Target

Fixe and improve Mirror.xyz issues. Share this project in the Chinese community, collect as much as possible, and try to fix those issues.

For now, as we just received one, so our specific target is to fix this one.

What LXDAO benefits from this project?

  • We won’t get grants or tokens from it.
  • We can buidl reputation from it, and it meets our mission and value.
  • We can buidl connections with the Mirror dev team, hopefully.

===Chinese version===

项目目标

修复和改进 Mirror.xyz 问题。 在中文社区分享这个项目,尽可能多地收集问题,并尝试解决这些问题。

由于我们目前只收到一个,所以我们的具体目标是修复这个。

LXDAO 从这个项目中得到什么好处?

  • 我们不会从中获得赠款或代币。
  • 我们可以从中建立声誉,它符合我们的使命和价值。
  • 希望我们可以与 Mirror 开发团队建立联系。

Count me in for F2E, I will fix this problem by the end of this month and make a PR

Got it, will tell you how to do it. Thanks.

Project forum category created.

We have found the issue is related to Markdown

Medium buidt their Editor, so the experience is OK.

The same as Notion, which is also fine.

In Chinese punctuation, No spaces are required between Chinese punctuation marks and subsequent sentences.

https://spec.commonmark.org/0.29/?utm_source=ld246.com#emphasis-and-strong-emphasis

Confluence uses ProseMirror, which works fine because they use JSON to store the content. They created https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/

The root cause in Mirror in here, store the content as Markdown and parse the content by using Markdown parser and give it to the ProseMirror Editor. According to the Markdown parser, the content is incorrect. This also answers the question of why everything looks fine when Editing, but after publishing, the writer will find some Weird Asterisks showing up. It’s very frustrating for an editing platform that uses Web3 technologies, and normally the content should not be changed after release. Still, the writer must edit and try to remove those Weird Asterisks!

Also, Mirror stores content on AR by using Markdown. This might be an issue for non-English content due to the design of Markdown.

https://itgyf4hcvo4s7vey4ryl6k7vinodi62gsbuzlbkhgff5lynaus4a.arweave.net/RM2C8OKruS_UmORwvyv1Q1w0e0aQaZWFRzFL1eGgpLg

ProseMirror uses JSON format to store the content by default, and it works like a charm!

Let me summarize the current conclusion LOL

This is a common problem that CJK users encounter when using the Mirror editor:

You can view this video:

The entry is here test — 0x147b…4b14.

The root cause in Mirror in here, store the content as Markdown and parse the content by using Markdown parser and give it to the ProseMirror Editor. According to the Markdown parser, the content is incorrect. This also answers the question of why everything looks fine when Editing, but after publishing, the writer will find some Weird Asterisks showing up. It’s very frustrating for an editing platform that uses Web3 technologies, and normally the content should not be changed after release. The writer must edit and try to remove those Weird Asterisks!

We have found the issue is related to Markdown standard:

The creator of Markdown has noticed this issue, but they can do nothing for it in a short period.


After research and discussion, we have three solutions:

1 RECOMMENDED Mirror continues to use ProseMirror, but uses JSON to store the content. Just like Confluence dose. Confluence uses ProseMirror and has no issue, because they use JSON format to store the content.

This scheme may need to consider the compatibility of previous markdown and JSON storage formats, but this is not a big problem, as Mirror stores static data on AR.

2 replace with other editors or buidl Mirror Editor. Like Medium/Notion, None of their editors have the above problems. Because they buidt their Editor for their needs. We would not recommend doing it, as Confluence works very well with ProseMirror as one of the most famous document products.

From long-term, customize Editor will have more room to improve or buidl features.

3 Tell CJK users not to include the punctuation marks when using bold fonts

DO NOT USE **中文。**
USE **中文**。

As we think this isn’t an easy fix, we will make a poster to explain why and how to avoid it. After we see this issue, will send it to the author to know. The poster will be finished within the week.


Is this issue important?

There is a very influential creator platform https://www.jianshu.com/ (MAU 16 Million in 2019) in China, which used markdown at first, then gradually abandoned the markdown editor because of Chinese compatibility and experience issues. More details and reasons:

Suppose Mirror wants to become one of the best Editors. In that case, we believe that Mirror is committed to improving the editing experience of all users, and care about CJK users (as other mainstream Editors won’t have this issue). We hope that the above research will be helpful.

Cases:

We are still trying to reach the Mirror Development Team. In the meantime, we will start working on solution 3.

The poster might look like this:

The content is:

LXDAO Tips LOGO

你是否偶尔发现 Mirror 上面的中文文章莫名其妙出现了一些 ** 号,而且有时候自己写的文章加粗样式会消失特别影响体验?就像下面这样

这是因为 Mirror 写作平台底层使用了 Markdown 格式进行存储导致的。Markdown 对一些语言在标点符号加粗的处理上有一些缺陷导致出现这种问题。

那么如何在写作过程中避免这种问题呢?

正确的加粗方式(不把标点符号一起加粗):

有问题的加粗方式(把标点符号一起加粗):

简而言之,就是在加粗文字时,请不要将末尾的标点符号一起加粗进来即可避免这个问题。


对于 Mirror 编辑体验的种种问题,LXDAO 发起了 005 号项目:Mirror Improvements 来进行改进。我们也正在积极联系 Mirror 官方开发团队来推动解决这个问题。如果你有更多关于 Mirror 的问题,欢迎反馈至 LXDAO,项目详情链接 https://lxdao.io/projects/005


The poster

Product: https://twitter.com/poolnoodle93
Developer: https://twitter.com/heidyhb89

Sent messages.