我多年从事软件开发和运营工作,从未跟“设计”间断过。现在在设计一个全新saas产品:超级表格(www.domypp.com)。最近买了台苹果最新款的笔记本电脑MacBook Air,从该产品功能设计和用户体验得到很深的体会。我想,软件设计不应该这样吗?

先说说第一印象。
刚刚打开MacBook Air的包装,打开精致的包装盒,取出了小巧玲珑的MacBook Air。我开始想从现在起我需要花多长时间琢磨才能“开始”使用这台电脑。打开翻盖,一眼看到右上角的电源按钮,按下(会不会需要先充电?我想如果需要先充电,就扣分)。没有失望,一按,即刻启动Mac了。几秒后要求给本机器配置一个机器名称,我输入了姓名。OK。
几秒后,屏幕提示找到了屋里的无线网络(这是我熟悉的家里无线路由器的名称,熟悉!),提示输入网络密钥。输入。
几秒后,MacBook Air桌面出现了。可以正常使用了。我接着一眼看到底部的浏览器safari,打开,输入一个网址。成功!
好!对于我这样一个以网络为生的人来说,能上网就意味着可以正常工作了。
这样算来,我没有遭遇任何障碍,第一次使用花了几十秒时间就如此顺利使用该产品,打10分。

什么启发呢?如果我设计软件让用户第一次使用就能顺利完成,用户的感受会非常好。让用户产生挫折感的软件就是让设计失败的软件。曾经,我们公司的同事开玩笑说,要是软件安装太简单了,会让用户觉得软件太低档了而不值钱。也许在某些情况下,这是必要的营销措施。但从用户体验上说,在这个用户体验至上的网络时代,要时刻记着“用户体验”!

下面是我感受比较深的其它的设计点。

立即有效的功能键设计。
键盘上第一排键是功能键。功能键除了标上F1-F12,还有形象图形,让人一看就知道是做什么的。
F1是减少屏幕亮度的
F2是增加屏幕亮度的
F9是开启/关闭声音的
F10是减少音量的
F11是增加音量的
这些按钮一按就生效。好!
什么?这有啥好说的?
再回头看看我们熟悉的Windows的功能键:
F1是用来打开帮助系统的:有多少人真真需要这个功能键?还经常不小心了按了这个键打开了帮助系统。
开启/关闭声音功能键:你按下会生效吗?不会!为什么?因为你还需要同时按下左下方的“Fn”功能键才行。

看看一点区别:
Mac Air:无需同时按“Fn”键;
Windows:需要同时按“Fn”键。
就这点区别,让我这个用了十几年Windows的人都觉得Mac设计的更人性化,体验更好。

待机时间30天,使用时间5小时。
这点是我最看重的一点。对于笔记本,电池续航能力实在重要。只不过大多数笔记本续航时间都不好,只好习惯了。现在能享受这么长的续航时间,才知道什么是好。夸张地说,100个新功能都不比续航时间长重要。

暂时用完电脑直接合上翻盖即瞬间进入休眠状态,打开翻盖又瞬间恢复原来的桌面。什么是瞬间?1-2秒!再看看Windows的休眠和恢复时间吧,至少30秒吧?

什么启发呢?
设计软件时,有时很难平衡功能、性能、用户体验之间的关系。想想刚才提到的Mac Air的设计,就知道应该这样:
1 抓住用户体验最重要的功能或者性能的一、二点,做到极致,比多做很多功能都重要;
2 不要习惯于过去的、大众的作法。没用过Mac还以为Windows有多好。用了Mac Air才知道原来还有更好的。

继续说。
第一次准备给Mac插上电源。找出电源线,一边插到电源插座上(常规,没什么),另一头是要插到Mac上。我拿着接头找到Mac的电源插口,刚接近,“咔嚓”一小声!
怎么啦,插头对上了!原来是电源插口有磁性把电源线的插头吸进去了。
这是我最崩溃的体验了。哈哈,设计得太给力了。平时习惯了在众多插口中寻找电源插口并且小心对准插入的情景,突然被这么人性化地“服务”了一把,心中喜悦无与伦比啊。

又是“用户体验”!

下面也是一些MacBook Air带来的惊喜:
体重2斤多吧,是我见过的最轻的笔记本。
最薄,超乎想象的薄!

应该像设计MacBook Air一样设计超级表格。

从软件工程师的角度看MacBook Air的几个设计亮点的更多相关文章

  1. 苹果MacBook Air安装win7

    同事的一台mba,说iOS不习惯,希望装一个win7系统.机器看上去很小巧精致,运行iOS速度飞快.试着点了下鼠标,没反应,翻过来看了下,有个电源开关.拨了一下,细小的指示灯闪了闪,应该加上电了.唉, ...

  2. 在MacBook Air 上装Win10的,反反复复的失败过程。

    这个月初,一个女性朋友托我帮她装电脑,往MacBook Air上面装Windows 系统,原因是windows用的习惯,用起来顺手.然后用脚趾头考虑了一下,就一口答应下来了.难道这就是一个标准程序员的 ...

  3. 2014款Macbook Air安装单独X64 Win7系统

    之所以写出来,是因为网上大多是用BootCamp安装双系统的,安装单独Win7的教程少之又少,然后大多数还写得不清不楚,所以折腾了一阵子.其实装好之后,还是觉得挺简单的. 我主要参考了两篇文章,链接如 ...

  4. 另一个角度看元宇宙与RPA:人工世界、平行员工与RPA

    另一个角度看元宇宙与RPA:人工世界.平行员工与RPA 从元宇宙到平行员工,人工世界推动的虚实分工利好RPA 机器人是铁打营盘人类是流水兵,未来元宇宙的虚实分工RPA机会巨大 文/王吉伟 元宇宙是平行 ...

  5. 连载《一个程序猿的生命周期》-《发展篇》 - 3.农民与软件工程师,农业与IT业

    相关文章:随笔<一个程序猿的生命周期>- 逆潮流而动的“叛逆者”        15年前,依稀记得走出大山,进城求学的场景.尽管一路有父亲的陪伴,但是内心仍然畏惧.当父亲转身离去.准备回到 ...

  6. 1、软件工程师要阅读的书籍 - IT软件人员书籍系列文章

    软件工程师要阅读的书籍估计是项目组内最多的.软件工程师处于项目组中最基础的人员储备阶层,与项目的关系最密切.当然,现在是大数据时代,我们无法全部看完所有相关的书籍,只能够先学习工作需要的知识,然后在项 ...

  7. [No00004D]深度思考好文:软件工程师的困境

    昨天是我一同学结婚的好日子,同学们大家聊各自的工作,有个同学突然问了我一句:我们同学中好像做软件的不多?如果再细分,好像做网络相关的更少? 回想起当时为何读计算机信息管理的专业,是因为那时听说读电脑未 ...

  8. 纯CSS打造银色MacBook Air(完整版)

    上一篇:<selection伪元素小解> ::selection{ background:blue; color:red; }p{font-size:14px;} 作者主页:myvin 博 ...

  9. transition、animation在macbook air上图片动画边缘抖动

    示例: BUG描述: 最近同事一项目中,产品提出在macbook air上,列表图片放大效果边缘出现抖动现象.在retina屏上没有此问题. 调试过程: 1.单独把结构分离.确定是否由其他元素引起. ...

随机推荐

  1. Spring学习笔记(三)—— 使用注解配置spring

    一.使用步骤 1.1 导包 1.2 为主配置文件引入新的命名空间(约束) 在applicationContext.xml中引入context约束 1.3 编写相关的类 public class Use ...

  2. Moving docker images location to different partition

    By default docker will put all the data including images under /var/lib/docker(At least on Debian). ...

  3. UVA_11624 Fire! 【BFS】

    一.题面 略 二.题意分析 一个迷宫中,有一个人Joe和一个或多个起火点,起火点可以蔓延,人可以走动,都只能走4个方向,问人能走出去的最少步数,如果不能输出不可能.很多大佬说是两遍BFS,先一遍火,记 ...

  4. POJ1064 Cable master 【二分找最大值】

    题目:题目太长了! https://vjudge.net/problem/POJ-1064 题意分析:给了你N根长度为小数形式的棍子,再给出了你需要分的棍子的数量K,但要求你这K根棍子的长度必须是一样 ...

  5. P4890 Never·island

    传送门 考虑把总区间长度减去最多能减少的区间长度 把所有区间离散化,对每一小段计算贡献 分类讨论一波,对于边界 $i,i+1$ ,设它们之间距离 $d$,$i$ 属于 $x$ 考察队的边界,$i+1$ ...

  6. codeforces833B The Bakery

    题面传送门 题目大意:将一个长度为n的序列分为k段,使得总价值最大,一段区间的价值表示为区间内不同数字的个数 思路: 显然的dp. 先想到一个朴素的状态转移方程 $dp[i][k]=max(dp[j] ...

  7. window7下karma 报 The header content contains invalid characters BUG

    打开你的依赖node_modules\karma\node_modules\connect\lib\patch.js 将里面的setHeader方法改成下面这样,干掉序列化日期时出现的中文 res.s ...

  8. 计算机插U盘没用了

    今天遇到一个神奇的状况,我想把台机上面的文件通过U盘拷贝到我的笔记本上.文件拷到U盘上没问题,然后把U盘插到笔记本上,一点反应都没有.我想了下,这U盘肯定没坏.然后我笔记本又是新买没多久,一直爱护有加 ...

  9. 使用PHP并发执行任务–curl_multi应用

    使用PHP并发执行任务–curl_multi应用 原网址:http://lampblog.org/category/phpdev

  10. 转帖 JS的基础语法

    1.变量 1)变量是用来存储信息的容器. 2)在javascript中使用var 运算符(variable 的缩写)加变量名定义的. varx = 10; vary = 10.1; varz = “H ...