任务驱动的用户界面

最近思考了很多关于如何设计一个简洁的、移动的 OA 系统,或者说是 BPM 系统,在尝试了各种不同风格的软件之后,我产生了对于任务驱动的好感。这里先翻译一篇国外关于用户界面上采用任务驱动来设计的文章,先从用户界面这个小的尺度来推敲任务驱动的核心是什么。

原文载于 http://www.uxmatters.com ,作者是 Oleksandr Sukholeyster,原文链接 http://www.uxmatters.com/mt/archives/2014/12/task-driven-user-interfaces.php


 

拥有 IT 部门的组织比没有的组织更有效率,实际上,如果你的组织没有有效地维护软件并且使软件更高效地提供服务,钱就打了水漂。

在与用户进行会话的过程中,用户体验在消费类应用程序的影响是显而易见的,但是对于企业类软件却并非如此。对于不是软件公司的那些组织来说,使用软件自动化业务的进程往往是非常缓慢的。然而,企业应用在用户体验上的效果直接作用于企业和组织的表现上。如果一个企业雇员使用的软件在用户体验上更加友好、使用起来更方便,那么雇员的生产力和效率会更高,在一个企业中,人力(注:人员就是生产力)的成本越高,这一点就越明显。

那么企业雇员通常在做什么呢?他们通常完成自己的独立工作,完成他们的经理分配给他们的任务。企业越大,工作细分的程度越高。在细分好的环境中,良好的细分帮助雇员把自己能力最强的部分发挥在对应的工作上,取得最优的效果,而不是每个人都做很多事,最终绩效只能取得一个平均数。但是在日程生产活动中的细分,带来了沟通上的问题,如下图所示:

一个典型的任务工作流程和沟通

在这个流程里,一个普通的雇员(可能做任何工作),或许不需要经常和他人交流分配子任务的内容;


任务驱动的 CRUD 界面

为了更好的分配任务并提供恰到好处的反馈,很多工具被聚合起来,包括但不限于:语音、电话、电子邮件和及时通讯工具。随着企业的发展,能够自动完成任务分发的需求也在增长。自动化的任务管理可以帮助经理人跟踪并掌握正在发生的事情、减少风险并且保障在合适的时间完成合适的任务。

尽管自动化非常有用,但那时很多端对端的企业流程还是需要人工参与交互。比如为了推进一个业务流程,人们会需要处理请求或者管理异常或者其他必要的操作。

相较于聚合了“创建-读取-更新-删除”,首字母缩写为 CRUD 的很多低效率自动化程度不高的传统应用程序的用户界面,随着任务流概念推出的“任务驱动的用户界面”是更好的。但是步行的是,每天的工作和生活中还是有很多的 CRUD 界面的程序在运行着。CRUD 界面的用户是这样跟着文档信息流来完成操作的:打开展示数据的界面——改变数据对象的属性。在另一个界面里,改变一个值,例如把值 xyz 变成 ABC。

举例:在一个医疗应用中,需要改变对于病患的描述

  • 在 CRUD 系统里:医生找到病患的档案——描述;然后点击编辑,编辑内容;保存
  • 在任务驱动的系统里:医生找到病患的档案——描述然后点击编辑描述,编辑内容;保存

在那些对于业务而言没有太高贡献价值的系统,CRUD 的工作流还是很有效的,但是更重要的、更复杂的任务要求下,CRUD 就变得没那么高效了,此外,在这些情况下,出错的概率也在增加;在一个流程中,用户可能漏掉了一步,又或者有很多人完成的任务,每个人的完成方式不同,使得制作任务完成报告变得困难。在针对目标 A 的变动情况很方便地可以生产报告的时候,回答如下问题是很困难得,甚至不可能;例如:“用户通常在哪一步出现疑惑?”“在工作流结束之后,用户的普遍表现如何?”以及其他类似要求根据用户行为提出的问题。

工作清单应用

在一个任务驱动的用户界面背后,或者就此归纳一下最重要的两件事:

  • 用户希望怎样使用软件?
  • 在流程中,软件可以如何引导用户?

任务驱动的用户界面,是 命令——查询——责任——分离(CQRS),这一创造高性能可扩展企业架构核心元素的基石。越来越多的企业开始转型成为流程驱动的企业,使用工作流引擎,BPM 软件来自动化他们的流程,工作清单应用,正如下图所示的进行了聚合。一个典型的工作清单应用让用户可以检视一个任务清单,查看任务详情并完成任务。

在市场上已有的软件和用户实际需求之前任然存在差距。例如一些软件商没有做好国际化;一些软件的任务过滤和分级功能需要强化。如果一个任务不能被完整的支持,那么流程应当被设计成允许可替代的情况。

现在,让我们忘掉业务流程管理 ( BPM)等等软件和模型,我们先专注于人们工作的方式,我们必须考虑:

  • 任务池的基本任务:雇员需要完成的
  • 分配给雇员的任务:通常情况下,任务根据重要性被分配给不同的雇员

能够直接分发任务给指定的人或者小组是必须的,并且也应该创建一个他们可以选择任务的任务池。例如公司里面有一个小组调查贷款的核验情况,可以直接分配到人身上,也可以让整个小组自由选取,在这两种分配方式上,实际可以决定分配方式的是每个人负责的区域,基于这一点这两种方式都行得通。

一个人完成任务的三个关键要素如下:

  1. 上下环境:一个人完成一项任务需要收集哪些数据?决策的时候哪些额外信息是有益的?
  2. 引导:一个人该如何完成任务?正确完成一个活动需要那些指导方式?
  3. 数据:哪些数据需要被提取并用于整个的大任务?一个人该如何报告任务结果?

下图展示了一个任务流:

每个任务的定义应当可以回答下列问题:

  • 谁能完成任务?——包括群组角色和动作类型
  • 哪些需要完成?——定义了任务
  • 这些任务怎样完成?——列示了任务的输入和输出
  • 关联参与者?——列示关联的需要参与的人
  • 什么时候必须完成任务?——定义了任务的时间

在实际操作中,有时任务会变成了员工需要完成的工作对象,以下是操作中一些典型的要素:

  • 升级——如果员工基于任何理由无法完成任务、无法按时完成任务、或者结果不符合预期;升级通常需要指导者重新分配任务、重启任务或者取消任务
  • 取消——如果任务取消了,那么需要做必要的操作来修正影响。例如会议取消了,日程应用应通知参与方会议的取消,并释放对应的如会议室等资源
  • 顺序——一个任务的输出是另一个任务的输入
  • 并行——在一个任务开始之前,所必需的任务必须都完成
  • 任务池——任务不会直接分配给某个人,而是某个群组。每个人可以从中选择自己的任务
  • 任务分配——分配的实际方法
    • 固定的——每个人领取自己的指定任务
    • 动态的——任务的完成人没有确定
    • 有分配规则——按照不同的要求进行分配
  • 提醒——一个任务的提醒应当多次发出,例如基于任务的时间和需要提醒的系欸但进行提醒

结论

现在的应用程序基本上都有自己的任务界面。一个良好设计的、任务驱动的界面会导致更好的结果。此外,关键词引导或者互动式的用户引导可以帮助用户做出正确的操作。因此,应用的用户体验应该集成到流程之中,用于集中用户的注意力和行为,而不是盯着数据不放。在此基础上,我们可以创造出更有效率的软件。

WordPress隐藏链接功能的恢复

WordPress从3.5开始就把Link的功能给默认隐藏了,到现在才发现真是惭愧,但是之前我一直都看到自己博客的侧边有的,而且现在也实在想不起来是不是真的存在,我相信是真的。

猜疑结束,放招:

在主题的fuction.php里面添加:

add_filter(‘pre_option_link_manager_enabled’,’__return_true’);

即可激活原来的Link功能。不过有的主题支持不好,还得麻烦通过Widget把Link拖到侧边去然后就正常了。

博客迁至DigitalOcean

截止到昨天下午4点完成了在DigitalOcean的所有配置工作,今天下午2点DNS记录也全部变更完成,迁移工作结束。

原来的华域Vosent的空间还不错,关键是便宜,150一年的香港空间,速度快还稳定,唯一的不足就是后台太那个什么,简陋了。现在迁移到DigitalOcean的CloudVPS,一个是因为VPS,再者我也要给自己搭一个稳定的VPN,最后还有适合自己,以至于我选择全部截图来快速展示。

使用DigitalOcean之后除了速度不理想之外,其他都可以接受,按时计费(需要绑定信用卡的支付方式)也很灵活而且相当有价值,他们家的性价比优势对比其他如Linode之流还是很不错的,劣势就在于目前只有纽约、阿姆斯特丹、旧金山三个机房可选,对于国内线路来说不算是上乘选择,不过Linode盛名之下东京机房如今也不是那么让人满意,所以如果真的没有SEO上的需求我觉得DigitalOcean还是可以的。

55秒速开账户(他们叫Droplet),后台相对Linode不是很豪华,也够用了。

DigitalOceanControlPanel

功能选项也够用,发Ticket响应也很及时,对于开发者来说尤其不错,社区很丰富,DigitalOcean也很重视开发者社区,写和DigitalOcean相关的技术文章有扎实的美刀奖励,高达50$,足够10个月的低配套餐了。

需要注意的是,DigitalOcean的IP是随着机房转移而转移的,同机房是不会变的,所以需要认真对待SEO的问题,当然想花钱买不反对;另一点是有些诸如CPanel之类的后台控制面板是收费的,不是说官方社区给的操作指南都能拿来用的。

好吧,不废话了,放直达链接

另外友情提示,DigitalOcean是有优惠码的,不过不是那种按年打折的,而是现金充值,需要你翻墙关注DigitalOcean的Twitter,上面每个月都会给出充值的优惠码,需要注册帐号之后发Ticket给客服要求应用优惠码,例如“Hello,can I apply this promo code XXX to my account”,不出十分钟就会有人来回应你给你充值,然后你就可以开始在折腾了。最后提示不用费心去找什么10$的充值码了,因为DigitalOcean虽然是刚起步的创业公司但是很给力,现在已经没有那么大的促销了,看看首页的Host站点数刷新就知道了。

STDyun

额。。。今天下午发现的 STDyun 这个国内的目前看来超棒的Iaas的云主机托管。

从博客来看是一个很有理想的团队,而且速度摆在那边呢,最吸引的一点就是100M免费的Octopress的托管,知道Octopress的人应该还是可以理解100M免费托管的价值吧。

而且配置很不错,相当重要的是支持按小时计费,这一点我很喜欢,虽然很普遍了但是我还是觉得赞。

目前来说而且估计是重要硬伤的就是:备案!

包括免费的Octopress托管在内,没有备案的话问题就比较大了。所以这也让我有点high的心情顿时低落了下去。。。

不管怎样会继续保持关注,如果备案这个事情有解决或者我愿意接受备案这个东西了就会切换回来。

STDyun

写在wordpress10周年

10年之前,我还是小学生。

那个时候还没有对自由与写作产生什么概念,但是那个时候应试的大纲已经开始在我这一代人的思想里烙下丑陋的印记,今天依然如此。

感谢wordpress.

这是我首先要说的一句话,即便答辩在即我的计算书还是混乱不堪,但是我还是需要抽出时间来写下这篇感想。虽然我的博客写的很烂,而且也很烂,经常看了不写,写了不发,最后在草稿里烂了很多废稿,但是也得到了很多东西,尤其是思考的方法。

自始至终,思考与沉淀一直都是成长的必要过程,这一过程有的是显性的,有的是隐性的,不论是怎样的形式,它都是存在的。创始人穆伦维戈在自己博客上如此总结这段历程:我对你的成长一直充满惊讶和欣喜。那些并不顺利的岁月都已走过。但是回顾过往,你一直坚守着你最初的原则。你一直在变,但是又从来没变。”

这句话也是我认同的,很多时候人在变,却往往发现其实什么也没改变。10年之中,wordpress的伙伴和对手也涌现了不少,但是wordpress一路成长为现今最火的写作平台,抑或是CMS平台。

最早的时候,wordpress还没有写富媒体功能,很像是octopress,也没有社交的API 用来维系广泛的关系,只是一个白板,记录的白板,写总结,写思考,写心情,在一段时间后再回来看看,总结一下,也会有他人从外部途径来访,留下一些交流,形成一个内温的小圈子。比较有意思的是,wordpress带着的大工厂流水感实际上是反过来的,绝大多数时候,得先预热一下,然后开始press内容。因此我不得不说,这是有成就感和满足感的。

我接触wordpress的时间也就三年,不长,而且还是近三年,也就是说我无法窥得它原始的样子,但是这是我唯一弄过的wordpress类的东西,初次之外只是配置弄过joomla和Drupal的CMS,但是没有弄,直接就回到了wordpress,我承认wordpress更易配置和修改是主要原因,但是它确实更具吸引力,就像现在我弄PKPM 和CAD 的时候,随时不爽就全部干掉重做,熟练的都可以去淘宝开店接单了。除此之外,还让人喜欢wordpress的原因有很多,喜欢到被喷就是一个理由。

回来说说wordpress的意义上面,很多时候,写wordpress仅仅就是写,我们在Google上Google出的结果和出奇的点子,想法,观点,创意出自wordpress这样的独立博客,博主有时间会弄很不错的主题,没时间就用一些大众主题,但是无论怎么弄,内容都是第一呈现的,基本上访问进来就是直接和博主开始对话,这种感觉纯粹而直接,也是最有效的方式,而我们都认为,在创造、跨越思考、领域统一等方面,大脑神经元的直接电信息交换是很牛逼的,这可以参考一下GN System的动画^_^`

所以我们会很喜欢这样的交流,看看各个博客里的超链,因彼此的兴趣和话题,隐隐布置的思路网,这才是wordpress 之后的意义,也是真正应该被发扬和继承的东西。

10年之后,wordpress在茁壮成长,我也在,祝愿wordpress一路顺风!

WAMP的安装备注

WAMP环境相对而言不难,只是比较烦,记录几个小细节:

1.尽量选择MSI安装版的PHP,因为后面需要对Apache进行设置以生成Apache扩展文件,所以记得下载TreadSafe模式下的PHP,然后在WebServer步骤选择Apache 2.2.x Module,写到conf目录为止

2.全部安装完,开始编辑Apache的httpd.conf文件

DocumentRoot这一行,括号里是htdocs路径

<Directory 这一行,也是htdocs 的路径

LoadModule,Module具体指向phpApache_2.dll ,就是PHP的根目录里

PHPIniDir 指向PHP安装文件夹

AddType,添加 “AddType application/x-httpd-php(空格).php”

“AddType application/x-httpd-php(空格).html”

<IfModule dir这一行,添加 index.php,default.php

3.可以手动net start/stop apache 这样来启动服务,或者写一个BAT也行

4.检查安装,

输入http://127.0.0.1,或者加上:8080,看是否出现It Works  直接用localhost

在根目录放置test.php,里面可以写一个<?php  echo “HelloWorld”    ?>,然后访问127.0.0.1/test.php看是否解析出来了

5.为了以后方便,可以把根目录设成库来方便访问

6.11补充:

今天多次尝试发现有的mySQL 安装之后无法正常启动了,首先这个问题需要删除现有的mySQL服务,在CMD(管理员权限执行)”sc delete mysql”,之后重新安装,有人说要关闭防火墙,我是没有遇到防火墙的问题,端口一般3306么,记得留好就行了。

现在说说无法配置的问题,执行配置的时候,有一个常见的问题是,无法执行,NOT RESPOND是比较常见的一个问题,我也试过很多的方法,现在发现其实问题在于上一次的安装残留项,最难删除的不是注册表,而是ProgramData的那个文件夹,这是是很致命的,因为在C盘下经常被忘掉,我是了很多次才想起来还有这么一个文件夹,最后再安装的时候果然没有再陷入NOT RESPND 的循环中了。

ICDSoft有变动

之前在写的关于建站的两篇文章介绍里说过ICDSoft这家ISP,而且我也是着力推荐了这家公司,其位于香港的数据中心提供了几乎等同于内地的接入速度,没有超卖。但是提供的内容也比较单调,只有经济和商业两个计划,今天晚上收到邮件,告之位于香港的数据中心将不再提供经济计划,即原有的1G空间,20G月流量的计划被取消,仅剩下商务计划。美国的机房还是开放经济计划的。

As of today, we will no longer offer Economy plan accounts on our Hong
Kong-based servers. Existing customer accounts are automatically upgraded to
the Business plan. Your account for XXX.com is upgraded too, at
no additional cost, and now it includes 50000MB space and 500GB monthly
traffic.

可能是因为被发现之后有很多人推荐,然后国内也应该有不少个人站长通过50%的折扣购买了计划导致资源的不均匀分配,现在负载不了了,这也古人说的大家各让一步就海阔天空的原因吧。然后经过比较呢,觉得他们家还是比较适合中小企业的商务计划比较好,适合托管静态内容较多的站点。而且服务很好,超稳定。我用了监控宝的监控几乎没有故障,大半年了仅有一次响应时间较长。

以后到期后我会自动迁移到VPS去,一是为了更好的搭配多服务,二是自己给自己弄一个VPN用用。

希望大家在有条件的情况下还是应该支持一下ICDSoft,这样的ISP是可以给国内的奸商们做榜样的。

关于建立一个站点(二)

这一篇,来讨论一下空间的问题。

1)地势

我不想一上来就讨论哪家供应商好坏的问题,这个与个人需求有关,我在后面会说明。

正如你们会进行的一系列步骤一样,相信在昨天的第一篇之后,有人就百度过空间了,我谷歌了空间,在这里我要说的是不要纠结于百度谷歌谁好的问题,而是谁更适合。如果你的读者是国内用户,你第一选择是使用百度建立检索和搜索优化,所以你就要把自己的搜索引擎使用习惯转换到百度。同样的,如果是偏向于全球范围,比如美国、欧洲,谷歌是第一位的;亚洲市场中,日本的主流搜索是雅虎,不是那个雅虎,而是雅虎日本。中国台湾,谷歌和雅虎都差不多,但是在台湾,类似于中国百度知道的推广站点叫“奇摩問答”,奇摩,是雅虎在台湾的别名。

所以,上面看似无关紧要乃至于有点类似废话的内容,是告诉你另一个方面,空间的位置对站点的影响。

继续阅读“关于建立一个站点(二)”

关于建立一个站点(一)

总的序章:

以前说过要整理一下心得体会,现在才有时间来做,这也和最近在整理反思手头关于电商或者说是整个互联网行业的发展分析有关。

首先,也是我一直喜欢问的一个问题,或许这也可以算是被问的最多的一个问题:为什么要建立一个站点呢?用英语来表达会简单一点:Why?

继续阅读“关于建立一个站点(一)”