2010年10月18日
iOS的短信删除操作如下:
- 在将要删除的短信上方,手指向左滑动。
- 软件在这条短信的右方显示“删除”按钮。
- 点击“删除”按钮。
- 信息被删除。
android的短信软件我试过好几个,几乎都是下面的操作步骤:
- 在将要删除的短信上方长按(一般为1秒)。
- 软件弹出菜单。
- 在菜单中选择“删除”。大部分的软件的“删除”项在最后一个,所以我3.2寸屏必须滑动菜单才能看到“删除”。
- 软件提示“是否删除”。
- 选择“是”。
- 信息被删除。
从步骤上看,iOS是4步,其中人的操作占2步;android是6-7步,其中人的操作占3-4步。
从时间上看,iOS上1秒针一般能够完成;android上,即使动作再快,至少需要2秒针(CPU足够快),一般情况需要3秒。
另外,大家可以发现,iOS没有提示你“是否删除”这个步骤,因为出现了“删除”按钮后,你可以选择点击,也可以不点击。既然你选择点击“删除”,就肯定是要删的,没必要“确认”一下,多此一举。“删除”按钮的出现本身就已经是在想用户“确认”。实际上,在“删除”按钮出现的时候,如果你有其他操作,包括在另外一条短信上向左滑动,原来的“删除”按钮都会消失,等于你放弃删除操作。
说点题外话,大家都知道Windows删除文件时会进行确认的,但是这个确认可以取消。这就是Windows的一个人性化设置。向我这种懒人,绝对是不想要“确认”的。原因很简单,在80%的情况下,当我点下Delete的时候,就是要删除的;其他20%的错误,去回收站还原就是了,何必每次都确认一下。所以,手机的短信其实也可以使用“回收站”功能,允许不提示直接删除。删错了再去回收站找呗。事实上,我经常是删错了又找不回来,因为我删除的时候觉得没用了,就算你弹出100次确认操作我都会选择“是”,但后来我才发现我不想删除的,可惜已经找不回来了。
从这个角度看,为什么有人排长队买iPhone?人家的iOS设计真的是好,为用户考虑的东西多,用起来舒服。我就从来没看过哪里有新闻说android发布新机的时候有人排队购买。
从用户的角度出发,多为用户想想,才能做出好的作品。有时候,就是因为这个多出来的步骤,将使得本来优秀的作品从市场上消失。
-------------
2010年10月19日修改注:
原来是说iPhone,确实不够准确,应该是iOS。iPhone是一部手机,iOS才是系统(平台),才能和android进行比较。
2010年7月27日
部署环境:iis7/windows 2008 r2;.net 4;线程池采用.net4自动创建的“ASP.NET v4”
开发环境:vs2010,两个web.config和Global.asax.cs都没有改动过;我在IDE自己创建的Scripts目录中放入了脚步(js)文件,也引用了内置的Jquery文件;自己创建了Img目录,放置图片。
网站在Vs2010调试很正常,所有图片、脚步和样式文件都可以访问,但是发布到IIS7之后,除了页面文件和样式文件能够访问,其它的如图片和脚本文件都无法访问。
我查看了VS2010调试时的HTML源码,发现下面的问题(由于插入代码功能会将“../..”转成www.cnblogs.com,我只好用图片了):
VS2010中的 原始代码(代码1):

用VS2010的“发布”后,展现的代码(代码2):

在VS2010调试时,从浏览器的“查看源文件”得到的HTML代码(代码3):
部署到 IIS7@Windows2008 后,从浏览器的“查看源文件”得到的HTML代码(代码4):

其中可以看到代码1和2是一样的,3和4也是一样的,但是一个在VS2010,一个在IIS7,呈现的结果就不一样了。
用httpwatch查看的结果是:查看VS2010调试时的结果:

查看部署到 IIS7@Windows2008 之后的结果(ExtjsDemo是应用程序名):

也就是说,IIS7的MVC吧脚本和图片文件的路径翻译错了,多返回了一层。一开始以为是MVC认目录,所以我把所有的Scripts和Img的文件全部拷贝到Content目录,但是结果都一样,从浏览器看到的JS的路径和CSS的路径就使差了一级文件夹。

后来实在没办法了,我网站直接部署在根目录下(不设置虚拟目录(应用程序)),就正常了。

但是这只是一个取巧的做法,因为那是浏览器往上找文件的时候,发现已经到达根目录了,无法继续往上,所以直接取了根目录而已(估计在VS2010调试正常也是这个原因),并不是一种正常的做法。问题应该是在VS2010编译的时候,没有将除了CSS之外的其他路径翻译好,导致了浏览器会认错路径。
顺便提一下,在《将ASP.NET MVC 2.0 部署在IIS6和IIS7上的教程》一文中,提到了程序映射“*.mvc”,但是IIS7@WINDOWS2008应该是不需要的,因为我没有看到这个东西,网站照常访问。
2010年6月2日
今天重新安装了系统,之前的VS2008和VS2010都没了。考虑到2010比较新,所以就打算不安装2008 了,直接安装2010。经过几个小时的努力(虚拟机,慢),终于把VS2010安装好。
刚好有个小软件要写一下,结果在创建解决方案(Solution)是没问题,在解决方案下添加工程(Project)时,就会报一个“Error writing the project file: 没有注册类别”的错误。一开始以为是我自己把VS的设置弄错了,所以用快照还原到刚安装好的状态,新建,还是错。
本着“内事问百度,外事问google”的精神,google了一下,仅找到一条有用信息:
http://jamesmccaffrey.spaces.live.com/blog/cns!504C7CC53E7E7FE8!1902.entry,英文的,没看明白。用google的翻译功能,连蒙带猜地,大概知道了是因为没有MSXML6这个东西的缘故。从MS官网(http://www.microsoft.com/downloads/details.aspx?FamilyId=993c0bcf-3bcf-4009-be21-27e85e1857b1&displaylang=en#filelist)下载了MSXML6的MSI安装后,正常。
后来回想起来,还真有些不同:
1、没有安装MSXML6之前,第一次打开VS时没有询问用户使用的默认开发环境设置;安装MSXML6之后再打开,提示选择“Web/C#/General”等默认环境。
2、在1的两种情况下,Settings目录中,前者没有任何文件,后者有文件。
3、如上面英文文章说到的,在菜单“tool/import and export settings” 中,前者是空白的列表,后者有几个可选项。
以前也安装过VS2010,为什么可以正常使用?
答:因为以前安装了VS2008,而VS2008自带了MSXML,所以VS2010正常。事实上,从VS2003到VS2008一直都附带MSXML。
之前安装VS2010Beta版的时候,就发现过在没有安装VS2008的情况下,无法创建MVC2的工程,其原因是“MVC2 FOR VS2008”,MVC2的所有工程都是注册在MSBUILD的VS2008下而不是VS2010下。
看来,VS2010虽然已经推出了,但是MS好像在很多地方都忽略了。
今。
2、在1的两种情况下,Settings目录中,前者没有任何文件,后者有文件。
3、如上面英文文章说到的,在菜单“tool/import and export settings” 中,前者是空白的列表,后者有几个可选项。
以前也安装过VS2010,为什么可以正常使用?答:因为以前安装了VS2008,而VS2008自带了MSXML,所以VS2010正常。事实上,从VS2003到VS2008一直都附带MSXML。
之前安装VS2010Beta版的时候,就发现过在没有安装VS2008的情况下,无法创建MVC2的工程,其原因是“MVC2 FOR VS2008”,MVC2的所有工程都是注册在MSBUILD的VS2008下而不是VS2010下。
看来,VS2010虽然已经推出了,但是MS好像在很多地方都忽略了。
PS: 我用的是英文版,现在中文版已经出来了,不知道还是不是存在这个问题。
2010年4月16日
今天早上差点被弱智的塞班害死,整个过程是这样的:
我晚上都有将手机设置为“离线”(N70是这个名称,部分其他机型可能是“航班”之类的名称)状态,这样可以避免三更半夜被可恶的电话吵醒。
后来电池没电,自动关机了,所以就插上充电器充电,然后按完开机键我就把手机仍在一遍充电,自己睡觉去了。
第二天早上,舍友准备出门上班时喊我,才发现原来我没起床。我急急忙忙跑去看手机,确实到点了。可是,为什么闹钟没响呢?仔细一看,发现屏幕上是个对话界面“是否保持离线状态”(大概意思是这样)。
天哪!这什么弱智系统,竟然在这个对话界面状态保持了一个晚上,甚至到了闹钟该响的时间都没响。
急急忙忙收拾东西,一阵小跑赶去上班,途中我点了对话界面上的“否”以使手机开机并且保持正常通信状态。更可气的是,当系统启动完成之后,闹钟响了,界面上显示的是我设置的时间,但是响的时间已经是半个小时后的事情了。
被这个对话框害已经不是第一次了,只是以前最多是一个上午没联机,可能会漏接电话而已,这次差点害我上班迟到。
照道理来说,既然我关机前设置为“离线”,那你开机时继续保持“离线”不就行了,搞那么多东西出来干啥?
也许,诺基亚的天才设计人员为了用户“方便”,先询问你一下,如果你点击“否”的话就直接联机,比较方便。不可否认,这是个不错的主意,确实很实用。可是,猪头设计人员没有为这个对话界面设定一个时间,超过时间后就使用默认操作。就像安装Windows多操作系统一样,是有一个OS选择对话界面,但是同时 也有个30秒(默认)倒计时,如果时间到了,就采用默认设定。这样,即可以让自主选择,也可以避免操作被阻塞(IT人员应该知道“阻塞”这个概念吧)。我找遍了整个N70的设置选项,都找不到开机时系统提示对话界面的默认设置选项。
默认值,顾名思义,就使当用户不想自己设定时,软件应该执行的操作或者使用的值。有了默认值,就同时兼顾了用户自主的想法和懒人的做法。N70启动慢是出了名的,按了开机键1分钟后才会出现对话界面(如果关机前不是“离线”状态则不会出现),不提供默认值,难倒我每次都要盯住手机屏幕1分钟?我还用不用干其他活。
使用默认值的好处有3:
1)要知道,这个世界时懒人永远是多数。计算机之所以能够普及,很大程度上是因为计算机允许人偷懒。
2)不是所有人都是百事通,很多东西用户是不懂的,所以你的软件需要照顾这种初级(可能用于都是)的用户。
3)用户不是有足够的时间来跟你耗的,你每次都给出一大堆的提问,很烦。
需求分析,核心是用户,不是设计人员。用户体验度是最核心的东西,如果用户不认可,功能再强大都没用。这就可以解释,为什么WINDOWS能够称霸桌面市场这么多年。原因很简单,世界上99%的电脑用户都是低级的(我说的计算机技能)、懒的,既然Windows用起来顺手,我干嘛不用!在Windows下,很多事情它都帮你做了,你几乎不用动手。
2010年3月29日
经常在园子潜水,今天突然浮出水面,其实是被 Mozilla 气的。有感而发,大家讨论讨论。
在园子里面看到不少介绍 Web 开发工具用到 Firefox(FF)插件的,刚好今天想研究一下,兴致冲冲跑去 Mozilla.org 下载。结果, Mozilla 给了我一个下马威:
由于我用的浏览器不是FF,用Opera和IE8打开插件,看到的是“Download”按钮。嗯,非常好,点击。出乎我意料的是,界面没有提示我“另存为”,而是叫我“Learn More”,并且在Learn More 之前需要下载FF。
天哪,虽然FF的Add-on只能运行在FF上,但我没想运行在我上网的机器上啊!我的想法很简单,只是想下载下来,在另外一台机器上运行,因为那台机器禁止上互联网,所以必须用我的机器上网下载,然后copy过去。结果,可恶的Mozilla竟然不让我下载。
后来,终于下载了FF,打开插件页面,那个按钮显示的是“Install”,这个看上去很正常,点击之后也能安装。
我算是明白了,Mozilla想当然地认为,既然你要用FF的Add-on,当然会有FF,所以你就用FF直接Install吧。这什么逻辑!就算我用FF,我下载一个保存在本机,以后如果遇到重装系统再安装就不行?
更可恶的是,当我想把这一意见在论坛上反馈出来时,论坛页面提示我要使用Add-on的账户,但我已经是登陆用户了,我怀疑是中文页面的登录信息没有被英文页面所识别。但是,但是,我登陆的页面时英文的,是它自己把我导向了中文页面,没有给机会我使用英文页面啊!估计又是用了什么破烂“智能识别”技术,发现我的IP来自中国,然后导向中文页面。我就纳闷了,在中国生活的美国人,难道也要看中文?
这帮美国佬,总是把美国人的想法强制加给其它人,完全不考虑其他人的文化背景和其他因素。所以,易趣失败了,Facebook失败了,Myspace失败了,连 Google 这样的巨头都失败了。为什么,没有考虑用户的需求(Google还有一点,不肯遵守当地的法律)。
想一想,以前Google搜索结果都是点击之后,直接在当前页面打开,也就是“_self”,但是Baidu用的是“_blank”,结果用惯了多标签浏览器的中国人更加愿意选择Baidu。后来Google学乖了,也用blank了。
还有一个典型的反面教材:
现在网银流行了,好多网站都可以在线支付了。设计师的想法很好:你把银行账号输进来,我来判断是哪个银行的,然后跳转到对应的银行。嗯,相当不错的想法,非常美妙。
可是,很糟糕的情况发生了:当页面跳转到那个银行的支付页面时,我刚才输入的账号没有传递过去,结果我还要输入多一次账号。天哪,那个账号可是至少18位的,我很累的,大哥。
这种属于典型的“想当然”。我们做技术的知道,由于网银对安全性的要求,一般不会允许使用普通的做法来传递这些账号之类的数据,但是普通用户肯定不理解。普通用户的想法就是“这个该死的家伙,没事让我输入2次账号”。就算我作为IT人员,也是这种想法。
事实上,我作为持卡人,我肯定知道我用的是哪家银行,你没事判断什么?有这个必要么?纯属扯淡。
所以,有些网站学乖了,上面一个输入框,你可以输入账号,然后我帮你转到银行的支付页面;下面列出所以(支持的)银行,你自己选择一个。相比起来,点一次鼠标当然比输入20位的账号要简单。
说到这里,有不得不称赞一下MS。MS的需求在这方面做得十分到位。举个简单的例子:Grid都有很多列的,MS提供的Guide都支持在列与列的分隔处双击,Grid自动调整左边列的宽度。但是我看过好多非MS提供的Grid,都没有这个功能,Opera上的下载列表,就使要自己手工调节宽度的。
一个软件的成败,不在于你的功能多好,技术含量有多高,而在于你是否给用户带来便利。如果因为要使用你丰富的功能,而使我的工作变得复杂,我情愿选择功能简单,但是易用的软件。软件,说白了,就使用了偷懒的,结果你给我带来麻烦,不是自寻死路么!
当年IE击败NetScape,除了有捆绑销售的因素之外,还有个很重要的因素就是NS过于复杂(虽然其功能很强大),用户很自然选择了简单易用的IE(更何况它还免费)。
软件好不好用,在于需求分析人员有没有准确把握最终用户的需要。别老是用自己的想法代替用户的需求。
2009年7月20日
摘要: 近期Linux的新闻不断,看起来发展劲头不错。从6.04开始关注Ubuntu,一直到现在的9.04。虽然9.04的操作难度有所降低,但是总体感觉还是不够。Ubuntu社区一直引以为傲的软件包管理器(新立得)和apt-get命令,虽然能够用一条命令安装所需的软件,但是有2个致命伤:其一,我必须知道有这么个软件,如果我不知道软件名称(有时候要精确到版本号)或者知道有这么个软件但是不知道作用是无法安装的...
阅读全文