Thoughts, stories and ideas.

产品更新 | 搜索优化和批量操作

在今天,我们迎来了新年春暖花开中的第一次更新,接下来和大家同步一下这次更新的具体内容。

搜索交互
为什么优化搜索功能?

我们总结了原有搜索的痛点、痒点:

  • 搜索入口不够显眼

    「我从哪儿开始搜索啊?」

  • 没有明确搜索范围(全局、组内)、搜索类型(消息、文件)

    「总是觉得它是全局搜索,但是又只能搜索聊天记录,不能搜索联系人」

  • 高级搜索条件不够明显,导致结果过多,影响效率

    「还有高级搜索条件?」

  • 搜索结果较多的情况下,分组较混乱

    「为了找到我搜的那个密码,在电脑前面滑了 5 分钟....」

优化了什么?
  • 搜索入口从第一栏移至会话列表顶部

  • 增加组内搜入口

  • 新增「通讯录」内容搜索,可查询「成员」、「讨论组」、「机器人」和组织架构中的「部门」

  • 「消息」、「文件」搜索 Tab 下,展示高级搜索条件,帮助用户缩小搜索范围

  • 将搜索结果分类、分组,帮助用户提高查看结果的效率

  • 新增搜索历史,再次查询更便捷

还有些期待?

作为一个可爱又细致用户的你,肯定对现有的搜索功能还有很多建议,不如来看看我们会在之后做哪些事情:

  • 优化搜索结果排序,搜索结果完全匹配优先展示,模糊匹配后展示或不展示
  • 进一步缩小搜索范围,可设置是否搜索未加入的讨论组
  • 增加文件类型的筛选
  • 引用消息、机器人消息搜索优化

批量操作

批量操作指多选消息后进行批量转发、收藏、Pin、删除 4 种操作。之前我们已经在移动端上线多选功能,此次我们将在桌面端、移动端完善批量操作。

为什么完善批量操作功能?

日常工作情景中,我们会围绕某一话题发出多条消息。当我们想将这一话题的内容进行处理时,批量操作功能会帮我们更快速完整的将整个话题进行收藏、置顶、转发。相对于一条一条消息进行处理,批量操作可减少操作,提高效率。

批量操作可以做什么?
  • 逐条或合并 收藏

  • 逐条或合并 置顶

  • 逐条或合并 转发

  • 对多条自己发出的消息进行删除。自己发出 5 分钟以上的消息不可以被批量删除哦。
如何批量操作?

  • 消息菜单中选择「多选」
  • 勾选需处理的多条消息
  • 选择需进行的「转发」、「收藏」、「Pin」、「删除」操作
  • 进行「逐条」或「合并」操作

特别注意
  • 批量操作最多支持 25 条消息
  • 经合并转发操作生成的消息,可与其他消息二次合并,需注意的是,二次合并后转发的消息不再支持与其他消息合并
  • 合并收藏、置顶的消息,会在原有消息的编辑后,同步更新消息内容
  • 合并转发的消息,不会因原有消息的编辑而更新消息内容

以上功能大家升级至最新的客户端(已在最新版可尝试刷新)即可享用了呦!

我们会一直为顺畅沟通、智能协作不断努力。大家在使用过程中,如果有更好的建议,也欢迎大家反馈给我们,我们非常愿意听到你们的声音~

新手指南,在倍洽团队中添加机器人或自定义机器人

「机器人」一直是倍洽主打的特色功能之一,在倍洽中,机器人承担着信息自动化的任务,帮助使用者实现各种外部工具消息的打入或打出,实现人与人,人与工具,工具与工具之间信息的打通。

如果用更直接一些的表述,则可以将倍洽中所说的机器人理解为一段段封装好的程序代码,这些程序在后台默默运作,将指定的动作实现为一条条内容消息,并在倍洽聊天窗口中按照规定的样式表述出来。

标准化机器人

在倍洽团队管理面板中,进入「添加机器人」界面,我们可以看到多个分类下各式各样的及机器人插件,如 GitHub 机器人、百科机器人、Trello 机器人等等,除三个自定义机器人外,所有机器人插件都可以理解为标准化机器人插件——即由倍洽团队完成了后台程序逻辑的实现,使用者只需要在前台配置时,按照各自的需求,直接选用(有部分机器人支持多种功能选择)即可。

例如,Email 机器人就属于可以快速选用的机器人。添加 Email 机器人后,将自动生成的机器人邮箱地址添加到对应邮箱的转发地址中,即可使用这个 Email 机器人,在倍洽中查收发给相应邮箱的邮件了。

Trello 等机器人,则属于支持多种功能选择的情况。添加 Trello 机器人后,可以自行勾选该 Trello 中的哪些事件需要推送到相应讨论组。未被勾选的事件,则不会作为消息在倍洽讨论组中进行提醒。

上述两种机器人的差别,仅在于是否支持进一步筛选提醒事件,本质上都是由倍洽团队提供的标准化插件,能够大致覆盖常见的使用需求。如果在使用倍洽机器人的过程中,发现仍有未被满足的个性化需求,则可以考虑尝试自定义机器人的使用。

自定义机器人

目前,倍洽提供以下三种自定义机器人:

1.Incoming

可以将 Incoming 机器人简单的理解为一个单向的机器人,它最主要的工作,是按照程序设定的条件,将外部工具中产生的新消息,同步到倍洽指定讨论组中。

如:定时将当前 AQI 空气指数同步到倍洽等。

2.Outgoing

Outgoing 则可以有来有往。通过设置触发关键词,Outgoing 机器人可以帮助使用者将消息发送到指定外部服务,还可以将外部服务的响应结果返回到触发当前动作的讨论组。

例如,可以通过 Outgoing 机器人调用百科服务,在倍洽讨论组中发起对某个词语的查询,由 Outgoing 机器人将百科返回的结果发布到讨论组中等。

值得一提的是,Outgoing 机器人无需指定讨论组,只要使用正确的触发词,就可以在倍洽团队的任意聊天窗口中调用相应的 Outgoing 机器人。

3.Hubot

Hubot 机器人的功能则更为丰富一些。Hubot 是 GitHub 开源的一款机器人框架,提供很多聊天机器人所需的基础设施,并且,Hubot 已经发展出了较好的生态圈,有很多开源插件可以借用。选用 Hubot 机器人,也可以实现 Incoming 或 Outgoing 机器人的功能。

以上三种自定义机器人并无实际上的功能高下之分,在具体的需求场景下,建议大家根据实际情况,灵活的进行选择。

配置自定义机器人

通常来说,配置一个自定义机器人可以笼统的归纳为以下两步:

1.选择一个合适的自定义机器人框架并完成添加

在前文中,我们已经简单介绍了目前倍洽所提供的三种机器人框架。在实际的需求场景下,大家可以根据需求的复杂程度,开发量的大小等,评估选择最为适合的机器人。

仅仅就「添加」而言,这个操作十分简单,在「添加机器人」界面中选中,并点击「添加」即可。但此时,向团队中添加一个自定义机器人的「万里长征」其实只完成了第一步。

无论添加的是 Incoming、Outgoing 还是 Hubot 机器人,「添加」之后,「保存配置」之前(如配置教程太长,可点击「收起」),我们都能在「配置信息」一栏中看到两个重要内容(对单向机器人 Incoming 而言,则只有一个):

1.1 Hubot Token/Token/Webhook

这串内容是这个机器人的唯一身份标识,用以判定打入或打出的内容是否应由该机器人承载。可以先把这串内容复制下来,在下一步程序的撰写和部署中将会使用到它。

1.2 Hubot URL/Post 地址

此处应填写由该机器人执行的程序部署生效后指定的接口地址,机器人会与这个地址通信,执行对应的任务。

不过如选用的是 Hubot 机器人,则可能会遇到一个特殊情况:Hubot 分为 rtm 模式和 http 模式,如果 hubot 运⾏在 http 模式下,给 hubot 发送的消息会以 POST 的形式发送到该 URL 下,而如果运⾏在 rtm 模式下的话,就不需要填写这个信息了。

例如,在选用 http 模式 Huobt 机器人的前提下,倍洽的运营团队撰写了一段根据关键词自动爬取某网站相关内容的程序,并将这段程序代码部署到了自有的云服务器上,与此同时,在这段程序中已规定接口的地址为 xx.xx.xxx.xx,将这个访问地址填入某个 Hubot 机器人的 Hubot URL 处后,这个 Hubot 机器人将自动执行按关键词爬取某网站内容的任务。

2.撰写符合需求的程序并完成部署

程序代码的撰写通常也可分为两种情形:

2.1 该程序已由他人实现,并开源在 GitHub 等网站上

这种情况实际上省去了自行撰写程序代码的工作。只需将相应代码复制下来,并将其中的 Hubot Token/Token/Webhook 信息修改为实际的信息即可(如还有其他需要修改的自定义参数,也可以按照需求一并进行修改)。

2.2 自行撰写程序代码

如需完全自行实现某些功能,则需要一定的编程技能。并且,希望通过这个机器人连接的工具提供开发接口,是该机器人实现的必要条件。

在机器人配置页面的「配置教程」一栏中,已提供了对应机器人程序的撰写案例,并对格式和字段等都进行了详细的说明,按照教程进行撰写即可。

实现什么功能、如何实现功能,则是「自定义」最好的注脚 :)

无论选用哪一种程序撰写方式,在程序代码完成后,都需要进行部署才能投入实际使用。如已有常用的部署方式,则一切照旧即可。也可以考虑尝试 webscriptheroku 等轻量部署工具,将编写好的程序放置到云服务中。

这一步完成后,将会得到一个实际可用的访问地址,将其填入上文所说的「Hubot URL/Post 地址」框中,并保存该机器人配置,就可以回到倍洽团队交流页面,测试该机器人的使用了。

新动向:Asana 机器人重新上架,并为 Trello 与 GitLab 机器人增加消息过滤

在抓紧进度,力求新版倍洽更快与大家见面的同时,近期我们也对三个机器人进行了迭代:在支持最新的授权模式后 Asana 机器人重新上架;为 Trello 机器人增加事件过滤功能;为 GitLab 机器人增加分支过滤功能。

Asana:任务管理工具的另一个选择

与 Trello、Tower 等卡片式项目管理工具略有不同,Asana 以其更为关注个人待办事务列表的特点,长久以来一直获得许多用户的青睐。

在修改并支持最新授权模式后,Asana 机器人已在本周重新上架,现在在倍洽机器人管理列表当中可以看到 Asana 机器人,为其选择发送目标,完成授权确认并选择工作区、项目等信息后,即可在倍洽中实时查收来自 Asana 的任务消息。

目前,Asana 机器人支持对 project 与 task 中相关项目和任务的更新信息进行同步。

消息过滤:Trello、GitLab 机器人新特性

近期,我们也对使用频率非常高的 Trello 与 GitLab 机器人进行了优化,期望能够进一步在「消息无遗漏」与「消息免打扰」的不同期望当中实现平衡,帮助使用者更好的管理与自己相关的任务信息。

更新后,在启用 Trello 或 GitLab 机器人时,配置流程中将增加有关消息过滤的选择提醒,选择后,相应机器人将仅推送已选中的类型内容,一定程度上减少了不关心或低关注度内容对消息流的干扰。例如,可对 Trello 中有关 Card、Label、Checklist 的不同提醒事件按照实际需求进行选择推送,让消息的获取更为精准。

同样的,在 GitLab 机器人中,为降低无关推送的干扰,更新后的 GitLab 机器人支持选择需提醒分支,选定后,相应机器人仅提醒已选中分支中的更新内容。

新特性对过去已配置启用的 Trello 或 GitLab 机器人同样适用,只需要在团队机器人管理列表中找到并点进相应的已启用机器人,即可对提醒选择进行补充设置。

添加机器人流程优化,新的配置体验

配合相关页面布局的调整,近期我们对添加机器人的流程进行了一次较大规模的优化。现在,大家已经可以在网页倍洽或倍洽桌面客户端上体验新的机器人配置流程了。

了解 机器人配置入口

在本次更新中,我们着重对以下两个问题进行了优化:

  • 机器人信息及配置说明过于简略;
  • 机器人配置提示不明或出现歧义。
多维度的机器人说明介绍

按照新版配置流程,在机器人管理页面中选中具体的某个机器人后,将进入一个全新的机器人介绍页面,在该页面中可以看到机器人简介、机器人消息样式展示、团队中已启用的该机器人列表(如此前团队中没有启用过这款机器人,则不展示该栏)及该机器人配置教程入口。

更新前:

更新后:

更新后的机器人介绍页面或许能够帮助大家更为全面的了解与该机器人相关的各种属性,方便使用者评估该机器人当前是否能够满足自己的需求。

在当前页面点击「添加」按钮,即可开始机器人的配置流程。

前后承接式的配置体验

过去的机器人配置流程中部分存在引导文案风格不一致及交互方式不统一的问题,在本次更新中,我们重新梳理了文案并取消了并列选择式的交互方式,默认优先展示大众化的配置方案,并更多选用「下一步」式的文案引导实现线性的机器人配置流程,期望能够帮助更多使用者更快速且无负担的完成机器人的添加操作。

以 GitHub 机器人为例:

选择添加 GitHub 机器人后,正式进入 GitHub 机器人的配置流程。第一步,需要为正在添加的机器人选择发送目标,即,由它同步而来的消息希望被发送到哪个讨论组中。在「发送目标」一栏,可以通过下拉菜单选择目标讨论组,也可以直接在选择框中搜索希望发送的目标。如希望相应消息只发送给自己而不打扰其他团队成员,可以新建一个只包含自己的讨论组,或选择将消息发送给倍洽小助手(@bearybot)。

点击「下一步」,进入下一配置环节。

更新后,在当前页面取消了机器人资料/授权模式/手动模式的并列选项,默认优先展示最常用的配置方式,当然,你也可以在说明所附带的链接当中将配置方式切换为手动模式(某些只提供授权模式或只提供手动模式的机器人则不展示切换入口)。

滚动阅读配置教程即可看到 GitHub 机器人的授权配置栏,根据提示获取授权并填写相应内容即可完成配置。

值得说明的是,在新版配置流程中,我们为配置各步骤的相应页面都提供了配置教程的展示区域,你可以随时选择展开或将其收起。

运行在倍洽中的各种机器人是外部消息向倍洽团队输入或团队内消息向外输出的一个中介,现在你可以使用新版配置流程,在倍洽已集成机器人列表中选择并快速为自己的团队添加相应机器人,借助机器人的自动汇总服务,为团队打造一站式的工作消息流。也可以使用我们特别提供的三个自定义机器人框架,自行开发更多更具个性化的机器人功能,实现更为自动化与智能化的工作模式。

当然,如你在配置或使用机器人的过程当中遇到了任何问题,或有任何想法,十分欢迎你随时与我们联系。希望在大家的帮助下,我们可以不断向前,把倍洽打造得更好 :)

场景案例 | 倍洽移动开发团队如何使用倍洽?

我们准备了一些使用场景案例,希望可以抛砖引玉,与更多人一起交流便捷流畅的工作方式。譬如,从介绍倍洽移动开发团队的日常工具选型和工作流搭建开始 :)

倍洽移动开发组通常会根据实际的使用场景在自己的倍洽团队上创建不同的讨论组,实现信息的按主题分流和收集。例如,创建相关「Bug 收集」组用来收集各移动端日常产生的报错信息、「问题跟踪」组用来追踪管理各种问题的处理进展、「资讯收集」组用来订阅最新的技术动态、「代码开发」和「交互设计」用组来跟进产品开发动态、「测试上线」组用来发布产品测试信息和收集测试反馈、「评论收集」组用来监控自己产品和竞品在各个应用商店中的舆情、「产品优化」组则用来汇总查看一些用户的反馈建议等等。

具体的工作流程:

1. 通常,一个版本上线后,我们会用 Crashlytics 来收集移动端的崩溃日志,也使用 Bugly、BugHD、听云等服务来收集崩溃和 Bug 信息。在倍洽中直接启用这些工具和服务对应的机器人,不仅能够在无需来回切换工具界面的情况下实时查收消息,客观上还在倍洽中汇总备份了信息,使其更具有可回溯性,便于我们以后根据日期来回顾当时所出现的问题,更好地进行版本质量管理。

如上图所示,在实际工作中,我们将上述机器人同步而来的消息按照客户端分类,分别推送到「Bug收集-安卓」、「Bug收集-iOS」、「Bug收集-WP」三个讨论组中。利用讨论组的拆分做到信息的分类收集,让数据更加整齐,便于梳理。不同客户端的开发工程师只需要关注相应的讨论组,即可及时掌握与自己密切相关的客户端动态,而不会被其它弱相关信息干扰。

2. 在版本上线以后,如果遇到了比较严重的质量问题,如闪退等,倍洽移动端团队会利用 Crashlytics + Trello + 倍洽(BearyChat) 的组合完成对这个问题的质量追踪。具体的工作流程是:利用 Crashlytics 内置的与项目管理工具 Trello 相关联的特性,Crashlytics 在监控到质量问题时,自动为这个问题在 Trello 上创建一个任务卡,并通过 Trello 机器人实时向倍洽相应讨论组中同步该任务的进度。

我们会根据严重性对问题进行区分,并将相应信息归类入不同的讨论组中。例如,上述 Trello 机器人同步的消息会被归入到「严重问题跟踪解决」讨论组中,同时,相关工程师跟进问题后对该任务卡进行的操作信息也会通过 Trello 机器人实时推送到这个组中,方便其它同事了解该问题的进展,保证了整个团队信息同步的及时性,便于日常协作。

3. 我们创建了「代码开发」这个讨论组来保证移动团队内部开发进度的实时同步。当然,这个讨论组在 Bug 修复工作中也十分有用,例如,大家可以在这个讨论组中实时查看谁正在处理什么 Bug 、修复到了什么阶段,很好地避免了重复劳动和有问题没人管的尴尬情况。另外,我们十分推荐使用 Hubot 机器人连接 GitHub,完成配置后,就可以直接在倍洽上通过对 Hubot 发送指令来完成查看和创建任务,十分方便。

4. 我们使用 fir.im 来管理内部测试版本的发布。在倍洽上建立相应的讨论组并完成 fir.im 机器人的配置后,就能够方便地看到每个版本的上传信息,便于进行版本管理和质量控制。

5. 移动客户端正式上线以后,我们会利用 APPreview 机器人来收集自己产品和竞品的舆情,方便「评论收集」讨论组内的成员在第一时间作出回应或进行优化。

6. 另外,为了建设一个学习型的团队,我们非常重视日常的资讯获取。我们配置了一些 RSS 机器人用于收集行业信息,如 Android Studio 的版本更新,ARKit 官方论坛的最新内容等,保证团队成员能够实时获取行业最新动态。