zoukankan      html  css  js  c++  java
  • 从软件工程师的角度看MacBook Air的几个设计亮点

    我多年从事软件开发和运营工作,从未跟“设计”间断过。现在在设计一个全新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一样设计超级表格。

  • 相关阅读:
    【引用】关于closeonexec标志
    CentOS解决编码问题
    /etc/init.d/functions (转)
    centos 安装 中文 支持 语言包(转)
    vsftpd 530 错误
    __FILE__,__LINE__,FUNCTION__实现代码跟踪调试(linux下c语言编程)(转)
    C语言中可变参数的用法 va_start va_end(转)
    守护进程 setsid(转)
    /dev/null 重定向 ./sh >/dev/null 2>&1
    C# 子类调用父类构造函数
  • 原文地址:https://www.cnblogs.com/domypp/p/3850604.html
Copyright © 2011-2022 走看看