2010年12月9日,年度收官技术盛宴SD2.0大会在上海光大会展中心国际大酒店隆重开幕。这是自2007年成功举办首届以来,由CSDN和《程序员》杂志主办的连续第四届SD2.0(软件开发2.0)大会。来自IBM、微软、盛大、FaceBook、阿里巴巴等众多企业的技术领袖全部汇聚,共同剖析当前IT技术发展大势,分享在各自领域的技术成就与成功秘诀。
2010年12月9日,年度收官技术盛宴SD2.0大会在上海光大会展中心国际大酒店隆重开幕。这是自2007年成功举办首届以来,由CSDN和《程序员》杂志主办的连续第四届SD2.0(软件开发2.0)大会。来自IBM、微软、盛大、FaceBook、阿里巴巴等众多企业的技术领袖全部汇聚,共同剖析当前IT技术发展大势,分享在各自领域的技术成就与成功秘诀。
全国海关信息中心架构师王翔,在大会现场做题为《用户为中心的物联网系统设计》的主题演讲。
全国海关信息中心架构师王翔做大会演讲
以下是演讲实录:
王翔:今天我给大家介绍的内容是用户为中心的物联网系统设计的这个PPT是我在单位的一些工作和在外面的一些项目。现在物联网是一个比较时髦的话题,很多的软件都出来了都挂在物联网这个名字低下。我个人的感觉呢,我觉得这里面我们忽略了一个东西,忽略了对物的使用。物联网这个设计并不是坐在这里使用网络的一个人,你可能是驾驶一辆货车,你要考虑人和货车两个信息的载体的使用方式。所以我们这里面的用户不是单纯指一个人,而是使用互联网的应沪。我们在物联网里面就是把E网变成了一个U网,在这个U网里面它对应用系统的数量其实增长的非常快。我们一个人平时主要使用的应用是20个左右,但是如果你到了物联网以外,你自己就不知道了可能就使用了600到1000的系统。大家如果在首都机场走一圈的话就有很多的物联网的系统了解你,包括你的爱好,只不过我们自己的身份、包括我们的包和手表没有被标识所以没有这种感觉。如果标识的话大家会有很多的机会来做这个应用。
下面是我今天介绍的议题。首先就是什么叫物联网应用,它的一个典型的特点是什么也介绍一下。第二个就是在针对物质来说,以用户为中心的的两个内容。第三个就是结合我的一些项目经验给大家介绍一下设计的要点,最后是一个总结。
物联网来说是通过一些传感技术实时采集各种需要的信息,通过各种可能网络的接入,将人和物,物和物联系在一起,这里面有一个纬度非常有意思。最早的时候我们的应用都是连接PC的,然后开始有一些SOS,人和人开始互动了,最后就是人和物的体验。物联网最终的一个发展很多是物质和物质的连接。这里面有一个趋势,现在来说可能我们大家都说社会上商业化开始关注RFID的东西,到2015年可能就会比较普遍了。我们关注的是什么呢,是系统的各种标准开始出现了,在2015年到2020年的时候是行为标准,我们现在都是说的物联网的一块一块的标准,到2015年我们会定一个使用的标准。大家现在还没有关注到用户了物联网使用的情况。典型的物联网应用是这样的,WSN是一个无线的传感网络,后面是一个接入网,这个可能是互联网,也可能是家庭的一些网管,也可能是卫星网手机网。接下来是运营管理,就是把下面的东西形成一个可靠的信道,就是在IP下面的一个结构。包括在这个物质网络里面我们有关的计费等等这些以后的商业模式商业标准的实施大部分在这层里面都可以实施出来。上面是应用,比如军事应用、电子政务和电子商务的应用,最后是人,这是一个典型的物联网的应用。
它执行过程是这样的,首先我们对物质进行标识,现在可能大家觉得标识的对象已经比较熟悉的就是条码,但是如果在物联网里面人只是一个物而已,怎么标识你的,你的指纹、虹膜、掌纹里面的血管等等。集装箱呢就是形状和照片是它的标识。完成对物质的标识之后只是说这个设备具备了进入物联网的可能,并不是说你已经进入了物联网的应用了。当一个物质进入到物联网应用之后我们开始进入物联网应用的一个过程,就是我先要识别是谁,是公的还是母的,是汽车还是人,这就是标识。标识完之后再将信息通过我们传统的标识完了用户在WSN之后传输到我们的网络里面。今天我们讲的用户为中心的物联网里面只是反馈,这个反馈不仅仅是人,可能是两个物体之间的反馈。所以我们今天的内容是说这个反馈怎么做的。
这是物联网周刊在第一期的杂志封面,是说什么呢,就是前端的物质通过卫星的接入联系在一起,再分反馈大我们物质前端,比如车载的系统或是PS系统的一个典型的应用。这个应用的话里面有一个问题是什么,如果把一个人置身在这个系统之内首先就是入口非常多,你现在是面临的20个系统,但是物联网的话就会面对更多的系统。如果你说我之前在哪个路口罚单了,你这个罚单哪里开的,你们家的菜哪里买的,你家里的矿泉水过期了,在哪个超市买的这个路口就非常多,这个就不是以用户为中心,而是以机器为中心。这个人去找的话就比较辛苦。第二个方式是什么,这个里面是非常繁琐的,我们在使用网站的时候已经有这样的感觉了,我们通过人的网络抄袭这个密码,你会有很多的认证,我们很多人开发物联网的时候还在使用互联网应用的特点,但是事实上物联网里面你们应该更多的采用更多的方式。由于物联网的系统分散了,所以我们里面的信息是隔阂起来,很久很久你都没有机会找到物联网上的有用的信息,而且反复的去做这个车轮和铆钉。
在用户为中心我们是不是要反过来,我们之前是以机器为中心,现在我们做物联网应用要变成以用户为中心,用户放在中间。这里面的标准就是大学里面的打分表,兼容性、一致性、灵活性等等,如果把它放在我们应用设计里面之后就变成这样前面不变,提供了一个可靠的可支持商业模式的一种方式之后,下面是应用,但是这些应用的话我不是直接提供给你,额是提供一个体验管理层。比如我发现做了一些物联网之后最后要有这么一层,通过这一层之后让我们用户不去找我车上东西怎么回事,我什么地方开的罚单,什么地方买的矿泉水有一个汇集层,这个就是我坐在这里信息向我汇聚而不是我去找。
下面我们结合我个人的体会针对之前用户为中心的设计原则,我们逐步来看一下。第一个就是兼容性,这是一些典型的输入设备,这个是遥控器,PC。你认为这个兼容性好还是不好呢?也好是吧,也不好。分时分地而已,同样一个东西,如果让我父亲使用的话就是只要用这个遥控器操作就可以了。但是对于其他的,比如说在 一个需要密集的交付的场所来说可能就是一个黑板。所以用户为中心的兼容性来说是通过环境来设计它的兼容性的。在物联网应用里面,绝大多数情况下鼠标是没用的,要么就是人直接接触,要不就是通过菜单导航去做的,这是一个东西。另外做物联网应用的话你每个操作要符合用户的期望,大家发现说我现在到了ETC的通道口的时候我的期望是什么呢,因为我技术不好,怕我的车刮到水泥上,就是希望在50公分之后让我刷卡过去。这个系统比较成熟,如果我们自己做的系统有没有考虑这样的问题,就是你要做物联网系统,你的用户,就是你驾驶车辆的用户或是驾驶或是拿这个物联网接触设备的用户是不是在一个合理的物理空间里面考虑这些问题,这些都是兼容性需要考虑的东西。另外一个就是你要用这些用户最喜欢最常规的东西来输入这个设备来使用的。
第二个是一致性,大家都开过车,红灯是停止的意思,绿灯是放行的意思。我们往往通过一个字表示通过还是不通过。举个例子,大家手动交换这两个指头你觉得需要多长时间,如果让你选的时候开关换手指的话需要多长时间。现在我们考虑的就是这个黄灯的时间,这个黄灯是什么意思呢,就是物联网当中的过渡的状态,就是它要给人一个时间或是给车一个时间。也就是这个界面的标识是否一致,前面一个状态认为黄灯可以过,后面一个状态认为黄灯不可以做的,如果你是一个很大的单位,单位里面有很多的物联网系统,最重要的一个架构把它家中在一起的时候就考虑所有的标识和信息是不是一致的。关键是这个黄灯你怎么考虑,黄灯多长,有多少个黄灯,黄灯、橙色灯什么意思这些都是一致性。
另外就是说,你的显示和用户输入方式是不是一样的,这里面我现在可能大家之前在做一些,现在用的一些初级的物联网应用的时候,就是家庭多媒体的时候就说我这个海信的电视是这样输入海尔电视是这么输入,如果你坐在一个办公室里面窗帘什么时候拉开,根据光线调整的时候这时候你做的选择就完全不一样。希望大家在做物联网的时候一定要有一个,像我们做项目定义一样,我要定义好这里面的显示、编码的一致性。
第二个,这是用户为中心的设计性。大家对这个可能非常的熟悉,这是我们经常用的。计算机执行的时候很容易,但是大家考虑的时候,如果你走在路上你同事说不认识路了你走在前面带路这是一个情况。设计物联网应用的时候我们也需要往往给我们的系统留出后备的方案。举个例子来讲,如果变成这样的情况,一辆货车,这是一个小汽车,在我们厂里面走,本来就是单行路,上面有一个变压器。物联网的时候只是一个计算机的程序在里面,计算机程序运行的环境是不是也设计出来,这个车走到这里的时候够不够转过来是一个问题。同样如果我们做以前的互联网系统的时候你说出错了图片换掉就很容易的,但是我现在这条路很窄前面的车坏了你怎么走。比如做物联网系统的时候我们要做更多的检查,留出更多的后备方案,还有什么呢你要重新调试和重新尝试的过程,在以前互联网系统里面很多都可以跳过一个页面是没有问题的,但是物联网里面如果我这里开了一个门,这个门进去以后发现它是死路然后再退出来。你记住,物联网系统不只是一个程序,而你运行的物理环境也包括在里面,是不是有后门可以绕过去或是走过去。同时用户在这种情况下他是否能够很灵活的获得各种各样的提示。你走到这里了大家说,你堵住了,给你指条路,这个货是要拆箱的,有50箱放在这里,另外的20箱放在其他的地方,我会给你一个地图告诉你去哪里。比如你是一个新司机从北京把这个货运到广西的时候这个电子地图给你的作用也不是很大,物联网里面可以给你很多的信息而不只是看一个地图就足够了。所以物联网系统的灵活性随着你的情景随时变化,而不是我在互联网环境下提示的。
另外一个就是可学习性,这个是条码,这个是上海以前的广告,我知道你知道我知道你不知道,怎么拆都可以,事实如果你在物联网系统里面,如果是这些很关键的时效性同行或是什么都比较高的,比如高速公路系统里面,如果你给这种提示的话很麻烦。所以我建议大家在物联网的时候尽量不要用缩写,及时缩写也要不要太拽的。事实上,如果太拽用户不知道,就是开货车的司机不知道,你明确的告诉他干什么就可以了。而且由于大家都在做这种很多是部件的,因为物联网里面用的是部件,升级的时候会有很多的东西叠加进去,之前我们用的是普通的卫星,后来手机功能提升了飞机上都可以打电话,这些功能叠加之后要给客户一个可需要的环境。而且这个部件的升级对不同年龄不同用户不能一刀切。我作为物联网的开发商,我希望在我应用的截面里面嵌入一个有关我们自己公司的广告和推荐的信息,但是甲方又不允许。这时候我选择其他的方式,在屏幕角上有一个小扭,如果说以前我们在物联网的时候用户没登陆之前我不知道是谁,没关系,但是物联网之前你可以通过人连识别,通过指纹和人的标识就知道他马上是男性还是女性。所以你需要在这个里面很快的调整说我这一点它的颜色,让你的用户提示说我愿意做这个操作。一方面你的界面要可持续性,另一方面诱导你的用户来使用。因为它更新换代比较多,出现的数量比较多。
我先说一下原则,大家看了这个视频里面有哪些属于典型的反例哪些是正例子,如果很好的交付的话会有相关的数据输入有整合的方式,同时同一个数据是不是只输入一次,另外系统是不是有很多的默认安全,默认的输入,提供这样的信息。如果用这样的标准我们评价刚才这一小段视频的话,其中有几个典型的是正面的。正面的只有一个,就是咖啡杯子做的很好,告诉你45度变成44度了可以喝了,这是一个很典型的例子。它是通过你用户的一次拿杯和放杯进行刷新的结果。这里面有两个典型的反例,这次的广告里面只要有玻璃的地方感觉就是一个输入的界面,这里面我看到有两个错误,最少交付的反例,一个是这个人拿了玻璃板拷出来拿到会议室面和同事讨论,其实这个很土的,如果你选择了到会议室一甩就可以了。还有一个植物学家比如你已经接受这个方案了,接受完之后,当时你工作的这个报纸上已经显示了内容了为什么还要照一下,而且照了两次。所以大家做物联网应用的时候要想到如果你要做上游应用的话要对低下的东西全部兼容起来。我对人的操作尽量的少,对下面操作来是物和物交互最好要少,就是如果是一些小的快件的话可以有尽量少的交互。流水线都在这里我前面就检查你的来源地或是仿爆的东西,如果对一个包裹来说就是交付两次了这个没有必要。如果作为一个未来的物联网的设计商的话应该考虑它只交付一次,它的标识进来以后,后面的分析都一次做好然后告诉它说是过还是不过。
下面这一页这个字大家不知道是不是认识,火星文,最少记忆负担。大家可以看到这是一个一个调音台,这是一个标准的导航系统,对于大家来说,你觉得让你接受这两个东西哪个简单一点,这个东西觉得很复杂,但是它非常的直观,因为它不需要进入菜单现场操作,所以它是一个最简单的设备。也就是说要根据你物联网实际用户界面的内容或是物质所需要的复杂程度,你来设计应用之间的界面。其实物质和物质之间的界面大家说我这几个信号做一个表,哪几个信号做在一起,这个信号你做的复杂还是简单,如果在物质世界里面,B2B的过程的话,如果你做的是一个复杂的物质信号的话是很好开发的。当然你的问题是你道路的信息要给你,下一个应用系统。但是如果你做物联网前面的用户这部分的界面的时候,这个大家是要把这个东西做的简单一点,而且要分层的,就是比如最简单的应用里面是不是用户来点连接和断开,其实这个不需要,如果你说这个连接和断开是收费的。你这个里面一般用户来说如果你复杂的话你可以做多级的菜单。一个用户使用的应用可能只是很少的一部分,你要做的就是让他的记忆度降低。尽量把所有的东西放在一个界面里面。在物联网里面就是怎么样跟快的走,所以在一个界面里面不是什么坏事。
最后就是一个指导用户,这个我选择了一个手机上的菜单,告诉用户一步一步怎么样来做的。现在我看到物联网应用现在是在扎堆开发,我告诉你,你有没有帮助这个按纽,如果没有这个按纽的话对你这个东西的推广是有问题的。另外一个是什么呢,就是需要和,最好是你的一个应用适应性多一点,能和很多东西做一些介入和集成,而且介入和集成的时候,大家觉得互联网我做一个网站和数据应用有OK了,但是物联网的话你怎么样做,是否提供一些低的配置。
最后时间比较赶我们说几个要点。要点第一就是实时数据库,我们做应用的时候就觉得我做的越大越好,但是物联网应用里面每个小应用都是具体的东西,既要管理用户的交互的东西,既要管理外面大量的设备,还有根据用户的配置信息等等这些太麻烦了。这些东西的话你尽量采用实时数据库现场处理。我们现在已经提出了ISR2415,这个在互联网都采用的都比较多,如果你采用数据库的话你根本来不及处理。我个人感觉有一个实时数据库的话就可以比较好的解决你想发挥的作用。
第二个就是要做工作流。大家以前都说工作流是把人串起来,现在我们说的就是物联网里面是把设备串起来。另外就是要流出非常多的异常通道,比如那个车。还有就是要提供更全面的人的感知的设备。另外一点就是说,作为物联网应用里面要注意安全和隐私。刚才那个非常意思,我和你谈判,这个桌子是感知的,一会一个同事也过来了,如果你要厕所的话手机一放人家就知道你是谁了这个很有意思。大家注意,物联网的时候你的隐私是很容易泄露出去了。刚才一个人在飞机场里面只拿一个手机就知道怎么走,在哪里喝咖啡,如果我们物联网不做任何准备,不做任何矗立在里面随时传递的话等于是把你的意思泄露出去。
我最后做一个总结,物联网这个东西B2B也好什么也好,最终是给人用的,所以大家做物联网应用的时候要明确出来你哪块是给东西用的,哪块是给人用的。另外就是强调人和人的协同人与设备的协同,还有就是时效性。另外就是要考虑物理空间的需要。谢谢大家。