Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CDT3.0文档初稿+设计初探 #13

Open
4b5ent1 opened this issue Jul 17, 2018 · 11 comments
Open

CDT3.0文档初稿+设计初探 #13

4b5ent1 opened this issue Jul 17, 2018 · 11 comments
Assignees
Labels
RFC 意见功能建议稿

Comments

@4b5ent1
Copy link
Member

4b5ent1 commented Jul 17, 2018

主要是一个月过去了,整理下思路,看接下来半个月如何加紧赶工做更多实现工作。

@4b5ent1 4b5ent1 added the RFC 意见功能建议稿 label Jul 17, 2018
@4b5ent1 4b5ent1 added this to the 720周五晚八点结 milestone Jul 17, 2018
@lg6s
Copy link
Member

lg6s commented Jul 20, 2018

回顾 / 前世今生

长话短说。如我在S6BP里所写到的,CDT从2013年最初的一个参赛项目,之后从课程管理+SNS改成了LBS+活动管理,最后于2014年的爱立信比赛期间完成了设计定型(仅此)。现在差不多五年过去了,中间零零碎碎捡起来过,但是也没续上,15年应该是为cdt准备了服务器和域名,16年不记得了,17年吃过一次三人聚餐。按照最初的设想,现在是保质期的最后一年,该说的还是要说,该做的还是要做好。必须承认,今年6月至今CDT3.0的进展很微弱,这其中的拖沓主要是我个人的原因。即便如此,目前乐观估计,还是能在月底进行beta阶段测试的。

最后补充一点反思。上个月之所以没什么进展,是因为我把原型实现部分的内容卡在自己手里太久了,没放权。现在这部分内容完全可以让王月有空的时候来弄,我接着画原型就可以了。这也是当前主要的策略调整,其他后端的安排不变。

后端还是以Python3为主,建议直接上Pypy stackless;前端是JS/TypeScript,能用Taro的地方就用;数据库RMDB用PostgreSQL,非关系型先用redis/riak之类的,协议用MQTT,队列用RabbitMQ。适当的情况引入erlang和kdb+/q

补充

CDT项目于六科的关系:由于 CDT 已经划分在组织项目之外,所以两者之间存在的可能最多只是互相宣传的关系。因为目前六科的公众号和 CDT 的测试版小程序实际是关联在一起的。虽然 CDT 跟六科的运作已经关系不大,但实际上作为项目的起点,CDT 已经承载了很多有利六科发展的因素。

CDT与S6/ISE的细节对比:CDT 主要是活动管理,是面向开放社区的,可以理解为 to C 应用。而 CDT 又是以时间为第一参量的(地理位置为第二参量),相比之下,ISE 是以抽象空间结构为第一参量(数据关系为 第二参量),面向内部,提供高效的信息交换方案,也就可以理解为是 to B 的。 如果从盈利的角度考虑这两个项目,CDT 和 ISE 都是有各自盈利点的。不同之处在于 CDT 更利于推广和做大,ISE 适 合先做深度垂直化,之后再慢慢推广。

@lg6s
Copy link
Member

lg6s commented Jul 20, 2018

总纲

这个段落用来回答一些核心的问题。比如CDT3.0主要解决什么问题,有哪些功能。

设计思想

  1. 不走极简路线
    • 操作不怕多,只要设计合理,就不是问题
    • 就像汉字一样,字多词汇才多,语义才更丰富
    • 只有操作足够多样性,才符合提高生产力的要求
  2. UI偏扁平化,但必要的时候仍需保留层次感
    • 极端的扁平化不足以承载复杂的功能需求
  3. 每一个操作都尽量有对应的 同义 或 反义/互逆 操作
    • 至少一个,最多不超过三个;即同义型操作不>2/<=4;反义型>1/<=3

主要解决的问题

其实还是那几个:

  • 活动/日程 管理、活动的组织(分发/讨论/进程变更)
  • 活动的扩展(节点/信标 / 路人/友邻)
  • 事件流event flow 的整合 / 以事件为主,而非以时间为主的timeline
  • 会话session管理 / 本质上是进程管理

预定义 / predefine

  • 实体:任务/活动、地理信标、people/路人/同伴(伙伴)/友邻(/好友/邻居)
  • 实物:消息/节点属于实体但不是实物
  • 节点:实体的上层集合(抽象层),有 物理节点(场所/学校);保留: 兴趣节点/虚拟节点
  • 物理节点:主要属性=地理信标
  • 地理信标:相当于一个微信的定位/位置

@lg6s
Copy link
Member

lg6s commented Jul 20, 2018

tree: 模块/功能 / 结构/划分

下面的功能都是想到什么写什么,很多可以先保留,也可以视情况砍掉。

  • 活动管理

    • 日程/5:活动/Acti、任务/Task、空时间/Empty、占位符/placeHolder、/block待定/unsure
    • 日程:活动:
      • 发起/创建、关注/加入/退出、分享/转发(广播/私信/第三方)、
      • 修改/编辑、取消/存档backup/归档archive/删除、分类/标记(标签)/感兴趣/收藏
      • 备注/讨论/引出话题/总结、权限(role/ACL)分配/管理 /移交所有权
      • 关联link: 任务/笔记,ref:引用/被引用
    • 日程:任务:
      • 创建、围观/参与/加入/退出、邀请/派发、合并merge/fork/归档/删除、
      • 修改状态/优先级、设置提醒/after(callback)、分类/(从属)标记
      • 留言/讨论(评论)/总结/引出话题、关联子任务/任务分工、周期循环/重复任务
    • 日程:常规参数:
      • essential:创建时间、起止点/生命周期、分类属性/标签、节点从属/信标、关联讨论组的id
      • 任务:触发器/收尾after、
        • 类型type/内置:[全天,临时,紧急] x [个人,receive,集体]
        • 内置标签/label:工作,学校,家庭,重要,杂余
        • 涉及refer(link:people)多选: 参与/可见/只读/共享/提醒
  • 节点 /

@myisjon

This comment has been minimized.

@4b5ent1

This comment has been minimized.

@4b5ent1 4b5ent1 self-assigned this Jul 21, 2018
@lg6s
Copy link
Member

lg6s commented Jul 21, 2018

关于原型

@lg6s
Copy link
Member

lg6s commented Jul 21, 2018

UI区划

@lg6s
Copy link
Member

lg6s commented Jul 21, 2018

模拟流程

@lg6s
Copy link
Member

lg6s commented Jul 21, 2018

case

@lg6s
Copy link
Member

lg6s commented Jul 21, 2018

关于beta

@lg6s
Copy link
Member

lg6s commented Jul 21, 2018

Misc / 细节补充

  • 活动的发起创建,是两个概念,要区分。发起相当于是public,比较正式/formal。就像豆瓣读书里面, 一本书可以标记成 看过/想读/在读,更改标记的时候可选转发到广播。这个转发的步骤,就是起的发的含义。
  • 活动和任务在定义上有很多细微差别。比如任务允许重复,以保持上下文;但活动没有这个设置重复的必要,只需要链接就可以了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
RFC 意见功能建议稿
Projects
None yet
Development

No branches or pull requests

3 participants