Chaofan's

Bonvenon al la malpura mondo.

标签: Apple

  • WWDC 2023 Reaction

    此文没有任何新内容,纯粹写于2023年6月。现在才发布是为了清笔记软件库存。

    早上起来看了今年WWDC的Keynote,又到了我最喜欢的苹果懂王时间,先来点感兴趣部分的Reaction.

    一开场就快速公开了15寸MacBook Air,但其实它没有任何配置改进,还是M2,甚至15寸也还是8G内存(我快忘了当年的15寸Retina MacBook Pro有没有8G内存款了)。

    对于Mac Studio,我本来的猜测是,如果Mac Studio从此成为绝唱,那意味着Mac Studio只是一个Mac Pro的过渡产品;如果Mac Studio继续更新,只能因为Apple攻破了Mac Pro的技术壁垒(性能上或者扩展性上)。讲最大内存192G的时候提了一下LLM模型,看完发布会后我猜对了,这是全场惟一能蹭到这个热度的地方。

    结果Apple搞了个特别离谱的凑数版Mac Pro:依然是M2 Ultra,甚至还是2019款的外形,强行加上了几条PCIe通道(甚至不支持显卡),也不能更换内存。这实在是让人琢磨不透,要知道两年前Apple Silicon可不是这个风评。但我依旧觉得Mac Pro的窘态主要是Apple的选择而不是真的有什么无法攻破的难题,只要他们想,支持外接内存和显卡又没什么障碍。

    iMessage原来这么多功能都没有,之前都没意识到,有时候用仅仅是因为它方便。不过每年国内社交网络上都会嘲讽这一堆iMessage/FaceTime更新是自high,我只能说这些人更像自high.

    Journal App……啊哈哈哈哈,再次说明只要自己一直不开发,苹果就会帮你开发。终于可以从To Do List里删掉日记App这一项了。

    iPadOS提了PDF,我以为有什么大更新呢,你能不能好好在iPad上做个PDF阅读器?文件浏览器只能阅览,连阅读进度都无法保存。

    关于那堆Sharing功能,多年前做集体作业的时候和队友试过iWork的协作,特别慢,不知道COVID以来这几年的大更新改过底层原理没有。

    macOS的新命名让我非常失望!居然还在用加州地名,说好的十年呢?我还满心期待Apple既大猫和加州后会整出什么命名新活。

    macOS Widgets,这是Dashboard秽土转生是吧,果然历史就是个循环。以前的Widgets可以用HTML写,现在只能用SwiftUI写了,这是前进还是倒退?不过macOS Widgets可以从iPhone获得实时信息和交互,这是个有意思的小创新。

    Gaming……我是一直坚信,Apple并不真正在乎macOS的游戏生态的,到现在我的想法也没改变。更准确地说,Apple对Gaming on Mac的态度是「锦上添花」,有肯定是好事,但不会为了改变Mac的游戏生态而在其他方面作出妥协牺牲。这和性能没关系,有多少游戏是只有高端显卡才能玩的?

    Safari真是从Firefox抄了不少功能,这个Profiles抄得太直接了,出来的时候我没绷住,不过确实和专注模式结合得很自然。Web Apps好评(虽然iOS十多年前就有了),没想到Web Notification更新是为了这个,这下可以扔掉很多初级Electron软件了。另外,还有人记得Linux上有个叫Prism的软件吗?

    watchOS那些零零散散的更新还挺有意思。不过Apple整个生态系统都打得这么通了,还迟迟不开放Watch和iPad配对的支持就很刻意了。这个屏幕距离也是有趣的创新,堪比上次的iPhone当校色仪。

    库克说One more thing的时候相当激动,结合此前库克坚持在没有完善的时候发布AR设备的爆料,应该是想最后用这个来奠定自己的历史地位了。其实我对这个倒没有那么大兴趣,交互方式没有失望也没有惊喜,只是觉得设计上果然和AirPods Max一样像Apple Watch,果然是Evans Hanskey的手笔么?

    另外也没有发现Vision Pro在生产力上有很不可替代的用途。创新点确实不少,比如那个视频通话的人像设计。visionOS打破了大多数人的猜测,因为既不叫xrOS也不叫realityOS. 价格我反而不意外,想想第一代Apple Watch是啥样?现阶段看来就是个实验性产品。


    另外是一些社交网络上经常看到的问题。

    iOS没有什么更新。这是完全可以预料的。此前就有爆料说Apple抽调了大量人力去做AR设备,今年的传统系统更新内容可能比较少。而且每年iOS更新了都有人骂,我是真不理解在骂啥,或者说这些人想更新的是啥?iOS 13那个极致恶心体验我还记得呢。我此前还在想,要不Apple真可以给iOS加一个Profiles功能,让一个App可以开多个相互独立的Profile,实现这些人日思夜想的微信多开?后来想明白了,Profile这个功能不是现在就有吗?跟专注模式一块就可以了,问题是微信不会去做,Apple也几乎不可能去做App agnostic的系统变更,这是App Store生态的根基。

    iPad为什么不上macOS这个问题都快说烂了,值得专门开一期视频或者文章讲讲。

    macOS就更不需要太多更新了,或者说大更新它搞不出,小更新也没必要。macOS现在最需要的是加强稳定性,然后在开放和安全间保持一个平衡。只要认真修复bug和改善性能问题,就很好了。

    至于说拿诸如ChatGPT或者Windows Copilot来对比的,我想说是没意识到苹果这家公司的行为方式。技术或者模型上的差距就不说了,苹果这家公司是不可能推出类似ChatGPT的集中化服务的,这玩意全球政策风险巨大,还不适合融入生态赚钱。以前也有过苹果会推出搜索引擎的消息,最后也是无疾而终。最适合苹果的方式,应该是等到模型可以部署在本地设备上后,把功能集成在系统里。苹果没有自己的商用云,没有超级计算机,不能像微软一样靠给商业用户卖AI方案赚钱。Apple Silicon刚出的时候,有人觉得苹果会进军服务器市场,只能说说这话是真不了解苹果。

    总之,每次苹果开完新的发布会(尤其是WWDC)后,最好还是隔一段时间完全阻隔这些社交网络上的内容吧。

  • 在M1上打包一个Electron项目

    Typora开始收费了。作为五年前就开始使用这款软件的用户,感觉非常奇妙,就像一个大家都期待它发生但又觉得它不会发生的事情最后真的发生了。当然,三年前就没有用它了。因为我,真的,不喜欢,Electron.

    此后,我偶然在评论区看到Marktext这个软件。点开主页看,跟Typora有几分相似,下载下来后方才发现,可执行文件是x86_64的,需要Rosetta 2才能在M1上运行。好在是自由软件,Apple Silicon上的Electron也很成熟了,我们可以自己动手。

    不过,肯定有坑。

    第一步:伟大的node_modules

    没有在深夜痛苦地yarn install过的人,不足以谈人生。

    项目的构建步骤还是挺清晰的,在仓库文档里。一个开源项目,如果没有文档指引其他人如何将其编译、运行起来,恐怕只能算半个开源。

    首先我们clone以后,就开始yarn,等等等。然后打开,发现安装超时了。至于原因,懂的都懂。一个解决办法是用nrm切换安装源:

    > npm install -g nrm
    
    > nrm ls
    
      npm ---------- https://registry.npmjs.org/
      yarn --------- https://registry.yarnpkg.com/
      tencent ------ https://mirrors.cloud.tencent.com/npm/
      cnpm --------- https://r.cnpmjs.org/
      taobao ------- https://registry.npmmirror.com/
      npmMirror ---- https://skimdb.npmjs.com/registry/
    
    > nrm use tencent
    
      Registry has been set to: https://mirrors.cloud.tencent.com/npm/

    这里用了腾讯的源。切换之后,安装过程就不会超时了。

    第二步:构建

    没有人比我更懂C++!
    ——一位JavaScript程序员

    然后我们又遇到了新的问题:

    error marktext/node_modules/cld: Command failed.
    Exit code: 1
    Command: node-gyp rebuild
    Arguments: 
    ...
    ../src/cld.cc:9:12: error: no member named 'unexpected_handler' in namespace 'std'
    using std::unexpected_handler;
          ~~~~~^
    1 error generated.
    make: *** [Release/obj.target/cld/src/cld.o] Error 1

    看起来是某个C++代码编译出错了。std::unexpected_handler在C++17里被移除。我本想自己动手修改,不过还是先搜索一下这个包的GitHub仓库看有没有人提过这个问题。好在看最新的提交纪录,这个问题在2.7.1里已经修复。好吧,先手动改yarn.lock好了。

    继续安装,又遇到奇怪的问题,类似:

    name 'openssl_fips' is not defined while evaluating condition 'openssl_fips != ""' in binding.gyp while trying to load binding.gyp

    查看Github issue意识到,是我v17的node太新,那就降级吧。非前端程序员是不配使用高贵的n/nvm/ndenv/nodenv/nodeenv的,只能用Homebrew:

    brew install node@16
    brew link --overwrite node@16 # 小朋友切勿随意模仿

    舒服了……吗?

    第三步:签名

    然后就是惊险刺激的yarn run build release:mac了。

    众所周知,所有运行在macOS上的App都要签名,Electron也不能例外。所以负责打包部分的electron-builder会帮你做这个事情。但是,签名它失败了!

    Command failed: codesign --sign redacted --force --timestamp --options runtime --entitlements ...
    Electron Framework: code object is not signed at all
    In subcomponent: ...

    然后我们发现,出现这个错误是因为App里还有其他可执行文件,我们需要递归签名,也就是给codesign命令多传一个--deep选项。但我们不好手动调用codesign,只能魔改node_modules,找到用来签名的代码(‌node_modules/app-builder-lib/electron-osx-sign/sign.js):

    const args = [
      '--sign', opts.identity.hash || opts.identity.name,
      '--force',
      '--deep' # Add here
    ]

    重新构建。Build目录里就会产生打包好的zip和dmg文件。

    第四部:公证

    Time and time again, I asked you.

    为了测试这个软件被其他用户下载时能否正常打开,我将打包好的dmg上传到服务器再试着下载,悲剧地发现仍然有提示「无法打开『Mark Text』,因为Apple无法检查是否包含恶意软件」,然后只能手动在安全性设置里强制打开。这不科学。

    查阅文档后发现,除了签名这一步,macOS上运行的App还需要Notarize(中文意为「公证」),也就是将App打包发送给Apple,运行一个自动化检查,通过公证后的App可以打上标记,这样用户在电脑上打开时就不会有安全性提示了。

    自然,electron-builder也是可以帮你做这个事情的。在项目的electron-builder.yml中加入以下字段:

    build:
      afterSign: "notarize.js"

    如果你的Electron Builder配置文件是写在JSON里的,请把它改为对应的JSON记法。

    然后创建notarize.js这个文件:

    const { notarize } = require('electron-notarize')
    
    exports.default = async function notarizing(context) {
      const { electronPlatformName, appOutDir } = context
      if (electronPlatformName !== 'darwin') {
        return
      }
      const appName = context.packager.appInfo.productFilename
      return await notarize({
        # 请改为自己App的Bundle ID
        appBundleId: 'com.github.marktext.marktext',
        appPath: `${appOutDir}/${appName}.app`,
        # 临时打包用,所以直接填,真实项目里推荐使用dotenv
        appleId: 'MY_APPLE_ID_EMAIL',
        appleIdPassword: 'MY_APPLE_ID_SPECIAL_PASSWORD',
      })
    }

    注意。这里的Apple ID密码应该是你在Apple ID设置中生成的专用密码(如果你在其他平台客户端用过iCloud邮箱,你应该明白我在说什么),而不是你平时用来登录的那个密码。

    好了吗?没有。重新build,的确如我们预期的一般,App被发送给Apple进行公证了。但很快看到错误通知和邮件,告知我公证失败。查看JSON报告,错误信息是这样的:

    {
      "severity": "error",
      "code": null,
      "path": "Mark_Text.zip/Mark Text.app/Contents/MacOS/Mark Text",
      "message": "The binary is not signed with a valid Developer ID certificate.",
      "docUrl": null,
      "architecture": "arm64"
    }

    The binary is not signed with a valid Developer ID certificate.

    什么!?我可是给库克交过钱的!你们怎么能这样对我?

    冷静以后,我发现是用来签名的证书类型不对。通常来说,如果你之前只用过Xcode提交过App到Mac App Store的话,证书类型应该是Apple Distribution;而要在Mac App Store之外以dmg包发布App,签名的证书类型应该是Developer ID Application,所以需要找Apple重新签一个。

    按照这篇文档的说明,用本地钥匙串生成一个证书颁发请求。然后登录到Apple Developer,进入Certificates选择创建新的Certificate,类型选择Developer ID Application,点击上传前面生成的证书请求文件。然后我们就得到了一份新的证书,点击导入钥匙串。

    根据Electron Builder的文档,我们可以在环境变量里指定用来签名的证书ID:

    # 在钥匙串里找到对应的证书名字
    export CSC_NAME="YOUR_NAME (CERT_ID)"

    大功告成。

    顺便,因为Marktext的图标一直没有改为Big Sur的圆角正方形设计,我也自己改了一个。

    你可以在这里下载。只有arm64的版本,因为它已经很大了,Universal会更大。图标在这里下载。

    更多阅读

  • iPad Pro 2020

    又是一篇充分体现自己拖延症的文章。等到WWDC 2020结束了,等到iPad Air 4都出了。

    我还是入手了2020款iPad Pro.

    经过了长期内心的斗争,我本以为自己会改变消费策略,把目光转向电脑。早在去年国庆前,我就想入手iPad Pro,因为各种原因,我坚持了下来,没有下单。新iPad Pro的「加量不加价」让我再次鼓起勇气选择下单。

    「iPad Pro虽然的确没什么用,但总是一个让人心动的产品。」我相信不只我这么想。要打一个比方的话:iPad Pro就像一颗好糖,总不能靠糖填饱肚子,但若作为零食,便是上佳之选。一直以来,我都对用平板替代桌面电脑这件事感到疑惑,因为它们在交互模式上都有根本的不同——不断抬手操纵竖着的显示器并不好受,而双手拿起平板玩这件事又如此直观便捷。当然,要做成一个割裂的二合一产品,或许可行,不过有较大可能弄出个「四不像」,比如想做平板的Surface,和想变成笔记本的iPad。

    这代iPad Pro相比2018年10月发布的上一代iPad Pro升级十分有限:正面外观几乎没有任何变化(屏幕四角弧度据传有微调);后背摄像头部分从单摄变成浴霸,加入了1000万像素的超广角镜头和一个LiDAR传感器;万众期待的A13X并没有出现,而是换成了A12Z这样一个诡异的命名(据研究,其实就是A12X多开了GPU的第8个核心);RAM从4G上升到6G,成为苹果移动产品线里内存最大的设备;起步容量从64G升至128G,价格略有下降。和iPad Pro同时发布的,还有正式支持触控版功能的iOS/iPadOS 13.4,和一个iPad Pro专用的「妙控键盘」配件。

    虽然苹果「挤牙膏」的行为被消费者所调侃,但这不妨碍这代iPad Pro在平板市场继续保持旗舰地位。无论外观、性能、屏幕,它都已非常接近心目中「平板」的模样。

    不过,这一代最吸引人的并不是其几无变化的设计,而是那句广告语——「你的下一台电脑,何必是电脑」。它真的可以做我的电脑吗?

    其实本质上,iPad并无所谓「替代」电脑与否一说。「电脑」本就是模糊的概念。理论上,个人能负担得起,使用得来,跑得了计算的设备就叫电脑。自然,按这个道理讲,手机也算电脑,只不过手机更多用作沟通而非计算。从很多角度看,iPad(或者广义的平板电脑产品)都不是一个必需品。对某些人而言,电脑甚至都可以没有了。要看视频有手机,要改文件有电脑。平板这种尴尬的属性,其实就是发展到今天越发孱弱的原因。

    但乔布斯发布初代iPad时说得没错。iPad本就是一个介于电脑和手机间的过度产品。它真的没有必要,亦没有能力取代谁。对消费者而言,从附加产品的角度看待iPad,会更好一些。它就是一个很大的触控屏,仅此而已。

    去年WWDC时,苹果发布了iPadOS 13,宣布iPad的操作系统不再被称作iOS. 很多人非常振奋,认为这是属于iPad的一次革命。但,和许多苹果系KOL不同,我内心很平静,甚至有些想笑。除非iPad有朝一日真的用上了macOS(这已经不可能),否则给iPad上的iOS换一个新名字,只能理解为一种营销噱头:它的版本号和iOS同步,交互方式和iOS相同,未来的多数功能更新和Bug修复也是在两个系统间共享。这与watchOS/tvOS这样「完全不同」的系统相比,实在是令人猜测苹果是否是从微软改名部挖了人。

    当然,iPad确实具备一些独有功能,比如Apple Pencil、ProMotion、画中画、应用分屏和浮窗等。但这些功能早在iOS时代就已推出,并且更多是基于硬件上的限制,才只在iPad上提供。(iPhone的屏幕尺寸强行分屏简直是灾难)

    尽管由于疫情原因,iPad乃至整个平板市场都有所增长,但这不能掩盖普通用户对平板的需求变得孱弱这个事实。早年发布初代iPad时,它也被认为是又一个「改变世界」的产品,因为它有一个比手机大得多的屏幕。但今天看来,这块屏幕可能成了它剩下的惟一优点。

    在国内,连PC都不大需要的很多人身边最需要的电子产品就是手机。一方面是国内网站纷纷推行「移动优先」,甚至刻意砍掉Web版,一切用App搞定;另一方面是iPad应用生态似乎陷入当年WP一样的恶性循环,相当多头部尤其是电商类厂商在iPad上留下一个几乎不能用的HD版。这令iPad的屏幕「大而无用」,能完成的功能甚至还不如手机。

    与此同时,iPad还有一个远胜iPhone的「优点」——寿命长。现在还有大量用户使用着初代iPad Air甚至更早的iPad。因为它们电池容量大并且使用场景多是在家里,面对看视频这种日常需求,一台iPad可以插着电用很多年。(苹果当然能意识到这一点,因为它们甚至有「把iPad作为家庭中枢」的功能)再加上很多人的iPad是整个家庭共享使用,这使得iPad存量用户的换机欲望非常低。作为一个诞生十年的产品,iPad创造过成功,但它似乎很难再革命一次了。

    苹果对此的回应,是强调iPad的生产力属性。「生产力」是容易引起误解的一个概念。其实理论上,只要你不是拿着iPad看电影或者刷微博,而是在做输入,那就可以看作是一种生产力。

    回头再看这句广告语,的确值得玩味。你的下一台电脑是不是电脑,其实不重要,因为你或许的确不需要一台真正的「电脑」。需要的实际是什么,是一台可以运行我想要的软件的设备。为何iPhone将不能使用微信这则留言如此令人恐慌?除却当下大环境环绕的焦虑感作祟,还因为一个事实——对许多中国人(是的,也包括港澳台甚至海外华人)而言,微信很重要,非常重要,极端重要,重要到全世界最先进的手机,无论是苹果的、华为的、还是三星的,不过是一个运行微信的容器而已。只要能流畅地运行微信,这部手机就已经足够作为大众意义上的「手机」了。

    如此类比可帮助我们更好理解苹果心目中这个「不是电脑的电脑」究竟为何物。简单来说,如果你的日常工作无非面向收发邮件和消息、使用Office,那么你需要的或许不是具体的「一台运行Windows 10且搭载Intel处理器,具备有线键盘鼠标的电脑」,而是「一个可以帮助我处理邮件、收发消息、编辑Office文件的电子设备」。同样道理,如果你重度依赖的是某个专业软件,那么当它可以在iPad上良好运行时,iPad对你而言,就是电脑了,或者说,就不需要电脑了。

    可惜,还是想得太美。

    首先,要让iPad能够完成目前电脑能做的事情并且做得更好,不是那么简单的事情。拿最常见的Office为例子,虽然某微软员工声称现在所有平台的Office都共享同一套底层逻辑,但显然iPad上的Office功能是不完整的。微软有没有足够的动力去在iPad上实现这一套且不论,这些UI显然需要针对iOS和触控屏的特点进行优化,需要大量的迭代。大厂都要花这么些功夫,小厂自然更没有资源去完成这些事情。

    兼容性这件事,又美妙又可恶。如果IT行业愿意抛弃兼容性,那么我们可能会省下一大笔成本。但实际是,那些真的愿意向兼容性发起挑战的公司,大多都失败了。向下兼容虽恶心,但也是行业巨头们的护城河。苹果一向擅长放弃兼容向前看,但工作里稍严肃些的场景并不会这么宽容。一些公司日常需要的程序,甚至是一代代传下来的,原公司都倒闭多年,源代码都没留下。连Mac平台都在这方面困难重重,以至用户颇有微词。更何况根基不稳,限制还颇多的iPad平台呢?

    最后,将iPad当作电脑使用这件事,可以看作对未来电脑形态的一种探索。几年前的我们绝对想象不到苹果会在iPad上引入鼠标和触控板。考虑到苹果以前的各种「挣扎」,可以判断,他们是在这个问题上妥协了。也就是说,在他们看来,未来的电脑仍然需要键盘和鼠标。如果是这样,iPad就很难在传统电脑擅长的交互领域战胜它们。而强调「何必是电脑」的iPad,自身也难免「电脑」的本质了。

    更重要地,无论如何定义电脑,逃不出的一点是:用户需要有运行任意代码的自由。显然,这个要求和iOS平台的一贯作风彻底矛盾。所以我们看不到任何第三方JIT引擎,看不到真正的Shell,看不到编译器。很多人在猜测Xcode是否会被移植到iPadOS. 如果苹果真的有这个想法,如何解决这个矛盾,就是绕不过去的坎。这个难题,或许不会比如何处理与Epic的矛盾来得简单。

    总之,iPad在生产力的层次上,对比Mac难有多少优势,无非是轻便程度、触摸屏、Apple Pencil,或许还有那个暂时派不上用场的LiDAR感应器。我们当然可以畅想未来:旧的东西不会迁移到iPad上,但新的东西可以在iPad上出现。但至少这一点依赖苹果是不够的,除非整个平板软件生态集体向前跃进。可是,平板在手机面前依然溃败得不成样子了,又有什么办法重归辉煌?

    在今天,iPad Pro从设计、性能、系统各个方面来看,都是极为优秀的平板。看起来「真香」的iPad Air 4,相比起来只能算充满妥协的「刀功」产品。苹果仍然在不断探索iPad作为计算设备能够达到的边界。COVID-19蔓延以来,各类平板销量都在增长,说明平板作为一个品类,的确有真实的价值。但仍然难避免“Nice to have”这个定语。要知道「你的下一台电脑」长什么样子,也许还需要很久。

    在此之前,就别抱太大期待了吧。

  • HomePod?


    音乐

    两周以前,我购买了一个苹果的HomePod智能音箱,这是我在购买AirPods第二代的半年后下单的又一个苹果产品。原因很多:一方面是想凑齐所谓的苹果全家桶,但因为国行缺少ECG功能的原因一直没有购买Apple Watch;然后本着「升级不如买新品类」的原则,打算在现有设备坏掉之前暂时不升级(当然更重要的原因只有一个字)。另外的原因,就是看到HomePod那个拿奖的广告短片,以及某品牌在11月让我感到不满的一场发布会。

    其实在学校的时候,看到HomePod这个广告并没有什么感觉。不就是一个人回家之后跟着音乐跳舞和幻想吗?没想到,等自己当了庸庸碌碌匆匆忙忙的上班族以后,竟然对广告中的场景有了些惊人的共鸣。几乎对所有人而言,上班都是一个用时间和劳动来换取金钱和地位的事情。但一些时候,人付出的不仅是时间,还有渐渐被工作冲淡的自我意识。说得露骨些,就叫「人变得不像人」了。熟读马克思著作的同学,看到这里,脑海里大概已经浮现出对应的段落了。

    自我,自由

    身处一个和自己差异颇大的环境,是常有的事。这不代表应该浑身棱角地「抵抗」,或者毫无顾忌地交融。人要恰饭,人要生活,难免会做一些违心的事,毕竟,绝对的自由不存在,不是吗?可是我们就该将当年随心所欲的自我弃如敝履吗?回到家,关上门,音乐响起,一切都属于我,一切都被我掌控。即使不会跳舞,也可以随意扭动。别人的评判算什么?单元测试又算什么?这才是自由。这才是,他!妈!的!自!由!

    的确是被感动到了。

    一只蚂蚁也有尊严

    不过HomePod的价格算不上「便宜」。虽然想买,但没想好什么时候买。下单的冲动,还由另一部分构成。我不太想在这里过多评判某品牌。除我认为「最大的抵制就是不关心它的一切」以外,在国内的互联网舆论场,任何涉及这个公司和品牌的信息,都必然变成没有下限的污秽战场。我尊重任何人喜爱一个品牌的自由,但请其他人也尊重我的这种自由。

    可惜文字难免和现实有出入。不是所有像「人」字一样有两条腿的动物,会打字了就叫人。因为使用、喜爱某个品牌的产品就受到无差别的侮辱,这是人干得出来的事?我毫不怀疑,这种行径如果被人恶意放大,完全有成为刑事案件的可能。还好,在今天,键盘是比拳头更受人青睐的武器。不知近百年前的先生大家们看到此幕,是该笑还是该哭。

    你的每一次消费,都是在为你想要的世界投票。

    这是消费主义的箴言,但也的确可作为消费者的自白。在互联网和记录技术的帮助下,没有一个时代比现在更容易表态。但人们却更不爱表态了。因为「无力感」,因为「一些东西早已深入我们生活的方方面面,你抵制、你表态有什么用?」。可是,如果连在自己内心保有态度的权利都不应该有,那人类为什么不去做牛做马?

    更何况,我们一直在说的是消费,甚至都不是什么政治立场!这太神奇了。到底是什么魔力,能够让关于它的一切讨论,一切,都被搅成一桶浑水?

    不是所有的Air都那么Air

    HomePod如其他的苹果产品一般,只要你有iPhone(或者iPad),启用它的过程简单得神奇。然后,如果你有Apple Music订阅,就可以自然地让它放歌了。如果没有订阅且也没有使用过AirPods等产品的话,你可能需要一些时间来弄清苹果系系统中的输出逻辑,还有记住那个AirPlay的图标。

    但HomePod不完全是作为一个辅助屏幕的音频输出设备而设计的,它不是一个「外放的AirPods」。它不依靠蓝牙而采用AirPlay协议,利用Wi-Fi控制,不需要配对。在用手机放歌后,你也可以自如地「抽身」,在它播放的同时用手机扬声器输出其他声音。这个逻辑不像蓝牙耳机一样直观,因此需要多操作几次来理解。如果你不清楚AirPlay是什么,那不妨简单地理解:它更像电视的「投屏」而不是耳机的「配对」

    看完以上描述,并不会增加对它的太多了解,因为事实上,我的描述避开了大部分这个产品对普通用户而言的障碍。如果说其他苹果配件是「对非苹果生态用户有不便」,那么HomePod则是几乎彻底锁死在了苹果的花园里:如果你希望用HomePod播放歌曲(这是音箱的基本功能),你要么拥有一个Apple Music订阅,要么需要用支持AirPlay的输出设备将音频输出到它。甚至,没有一个iDevice,你都不能激活它。

    AirPlay在使用Apple Music时体验还是相当顺畅的。由于账号在国区,我没有用它尝试苹果的其他官方内容服务(比如Apple TV+)。用QQ音乐等App使用AirPlay播放也算正常,和使用蓝牙耳机差别不大。不过在我用iPad在HomePod上播放QQ音乐时遇到一个恼人的问题:有时切换App以后会听到「不知道哪里来」的类似广播的视频声音。如果这句表述让你觉得有些灵异,其实就像是某个视频「劫持」了HomePod,让其播放视频的声音而不是当前的音乐。原因还不是很明确,因为我还没有在iPad上使用QQ音乐之外的第三方音乐App。

    在没有做任何优化的前提下,HomePod作为视频的声音输出是有延迟的,明显到无法正常观看。好在只要App针对这个延迟做一些调整,就能够恢复正常。腾讯视频和YouTube都可以正常使用。Bilibili未做兼容。其他视频App未尝试。这是AirPlay协议的缺陷,若使用蓝牙则不会有这个问题。但根据某位网友的报告,苹果官方在邮件中曾表示没有让HomePod支持蓝牙输出的打算。

    另一个常见的话题是利用HomePod组立体声。因为发现了EPP优惠,希望将第一台退货,然后下单第二台。在中间重叠的时间里,我尝试了用两台HomePod进行双声道播放。将两台配对的过程很方便。实际上在你激活第二台时,它就会自动询问你是否要配对,并且可以选择谁在左谁在右。需要注意的是播放时最好在二者中间,且让它们稍微保持一些距离。至于体验……也许只能用美妙来形容吧。但需要注意:HomePod双声道播放视频还需要一些额外的支持。我没有尝试,据网友报告,YouTube和Netflix等App都支持,但包括腾讯视频在内的国内视频App暂时没有。

    答应我,别做云用户好吗?

    坦白说,我对音质没有什么认识。一直以来,我播放音乐的设备也只有自带扬声器和官方的耳机。如果要用一句话总结我对它的感受——我重新发现了熟悉的歌曲里没注意过的细节。我不知道网络上对HomePod音质和同价位音箱的比较结论是否真实。我只希望对这款产品感兴趣的人,都去实体店里感受一番,而不是用自己的设备在网上看别人录音的视频来得出结论。但凡对数码产品有些基本认识的人应该都能意识到,诸如「用60Hz刷新率的屏幕看120Hz有多流畅」和「用自己的设备听另一个设备的音质有多么好」这件事有多么荒谬

    「我好像不太明白」

    如果不使用手机控制播放,你也可以在HomePod上呼叫Siri。HomePod内置了一颗A8芯片,考虑到它是一直插电使用的,所以支持「嘿Siri」也理所应当。(iPhone6用户会被冒犯吗?)这个Siri的体验和你在其他苹果设备上使用的,本质也不会相差太多,除了没有屏幕,以及很多操作(比如播报行程)需要解锁手上的设备(这一点也许可以设置)。

    根据一些测评者的报告,苹果对「嘿Siri」的响应有一个优先级,比如AirPods优先级最高,HomePod次之,iPhone等在后面。但在我日常的使用中,iPhone7在唤醒Siri后可以自动退出以给HomePod「让位」,但使用同样芯片的iPad 2018经常不行。这其实会带来一些麻烦,因为如果你告诉Siri「放一首歌」,iPad收到后就会用它自己的扬声器播放。要解决这个问题,要么说「用HomePod放一首歌」,或者把iPad的「嘿Siri」关掉。另外,虽然HomePod不使用蓝牙作为音频输入,但苹果设备间需要依赖蓝牙进行「嘿Siri」优先级的协商,因此如果关闭蓝牙,设备就不会「让位」了。

    苹果推出HomePod除了播放音乐之外,也试图将它打造为一个智能家居的中枢。所以HomePod的配置和升级都位于「家庭」App中。我目前还没有支持HomeKit的设备,但HomePod还是让我稍微增加了些购买这类产品的想法。小米有一部分产品支持HomeKit控制,但更多产品还是在它的米家生态里。看起来,智能家居产业还在起步阶段。

    越反越买

    所以,如果你不是对很多东西有执念(比如外形,比如苹果生态,比如白色),也不是一个苹果产品的爱好者,也没有极强地想花掉这两千余元的愿望的话,我不推荐这个产品。不过如果有一天你决定买一个Apple TV,倒是可以入手一对作为扬声器,与此同时你会受到来自我的真诚敬意。(目前看来,在国内使用Apple TV可能也就比几年前使用Windows Phone的体验……稍微好些?)

    苹果现在的趋势是「万物皆可Pro」,所以这个已推出两年多的销量不佳的设备(很少有产品有在苹果官网降价的待遇)是否也会出一个Pro版亦未可知。希望他们不会。其实在我看来,即使HomePod推出一个和AirPods(非Pro)价格相同的所谓Lite版(坊间有这传言),销量也不会好到哪去。因为这样一个看上去温柔的小玩意,(尤其在国内的环境)面向的可能却是最硬核的一批用户。

    无论你不喜欢苹果,喜不喜欢索尼,喜不喜欢某某品牌也好,产品品类终究是有限的,爱好却是无限的。一个人可能不喜欢摄影,不喜欢音乐,不喜欢游戏,但总会有个神圣的精神角落,为你保留孤独、自由,和骄傲。希望你找到它。

  • 当我们讨论iPad与生产力时,我们到底在说什么?

    截至发稿时,因为穷,作者没有购买过任何一款iPad Pro(虽然也有在计划),仅手持部分人言「不想再看第二眼它的屏幕」的iPad 2018且自认为还过得去。因此本文也尽量跨越型号,讨论一些简单的设备提升所不能解决的本质问题。如果你对本文有什么看法或觉得我有偏狭之处,请联系我。

    鉴于完成此文时,苹果发布的iOS 13中已经会在文本中的汉字与西文字符间自动加上合适的间距,所以我认为,引入相关的CSS属性和浏览器实现已经不会很远。此文和以后的文章将不再于汉字和西文字符间加入空格。

    本文基于以前在论坛上关于此问题的回复,因此如果看到相同内容,请勿诧异。

    生产力已经要变成一个梗了。

    自2016年苹果发布首代iPad Pro后,关于「iPad与生产力」这个话题的讨论就没有停息过。尤其是在每年苹果发新款期间,若干数字媒体在评测外总会连续推送一系列讨论如何用iPad Pro创造更大生产力的文章,仿佛新科学发现一样意义重大。然而,希望多大失望就有多大,对更多的人群来说,好像事情的本质从没有发生过什么变化。

    虽然2018年10月,苹果发布了俯视几乎所有移动设备,声称性能堪比「桌面级电脑」的第三代iPad Pro;虽然2019年6月,苹果在例行更新iOS大版本时推出了新的所谓「iPadOS」;虽然越来越多的软件都宣布或已经将全功能的桌面版本移植到iPad平台,不过我依然不看好iPad所谓的「生产力」概念。或者说,是不看好iPad能够真正地替代传统桌面电脑或者笔记本的作用。

    我绝对不否认iPad是一个非常有价值的产品,尽管如今常常被冠上「买前生产力,买后爱奇艺」的嘲弄。可是,能让你以更舒服的姿势,获得更佳的看视频体验,这不也是一种价值吗?早在第一代iPad发布会上,乔布斯就表明了对iPad这款设备的定位——一个介于手机和电脑之间,能够让你在家里沙发上舒适使用的设备。自然,这里的中间,非不偏不倚的刚好一半,而是更偏向于移动设备的形态,甚至作为一个9.7寸的大号iPhone出现。苹果后续推出的7.9寸iPad mini,更是把这个定位往手机推了一步。以至于部分人愿意将一个移动数据版本的iPad mini作为不能打电话的日常手机使用——毕竟iPad的价格怎么说都要比iPhone亲民不少。

    iPad作为一个产品很是成功。在手机尺寸不断变大的背景下,如此大的一块屏幕,从娱乐角度具有相当吸引力。但苹果未必想止步于此。一方面,iPad和iPhone越来越接近,甚至因为更大的手机而变得可有可无;另一方面,因为iPad被大量用户当作纯粹的娱乐消遣产品,没有过分的性能需求,而使用场景不是飞机火车,就是自家客厅这样不缺电源的地方,所以iPad寿命变得非常地长。

    如果定义一个坐标轴,原点0表示手机的定位,1表示电脑的定位,那么原始的iPad更像在0.3到0.4这样的位置。意识到这一点,和发现平板市场增长乏力之后,是时候开辟新的细分市场了。最容易想到的,就是推出新的产品,填补0.6到0.7这个定位的空缺。问题是,怎么做?这个产品是什么样的形态,其实可以化约为一个简单的问题——它运行的是哪个操作系统?

    年纪足够大或者喜欢研究历史的果粉应该都记得,2007年初代iPhone发布会上乔布斯形容它的原话是 it runs OS X。当然后来我们知道,这只是吸引用户的说辞而已。除了共享大量Darwin的内核代码,OS X和iOS在用户能看到的地方已经是两套东西了。最简单的区分就是两者的操作逻辑:一个基于鼠标,一个基于触摸。其余的区别,如是否允许用户随意安装软件之类,非不为也,实不能也,君不见macOS对非认证软件的限制也越来越严?如果苹果希望向前推进iPad能力的边界,就必然面临这个问题——它还运行着iOS吗?另起炉灶创建一个新的系统不现实,除非发明第三种成熟的介于触摸和键盘鼠标之间的交互。如果运行iOS,在不对iOS这个限制极多的系统进行大改的前提下,硬件上的提升都是隔靴搔痒;如果运行macOS,那么也需要对现有的电脑系统进行大改,使其支持基于触摸的交互操作。想要发展得好,两条路都不算是好走。

    作为和苹果相爱相杀的老冤家,微软自然也有占领全平台的想法,尤其是它还把持着游戏主机。微软的选择与苹果形成了有趣的对比。Windows从7(甚至更早)开始,就时常用其对触摸屏的支持作为宣传点。而到了Windows 8,微软更是走火入魔,放弃了作为Windows灵魂的开始菜单(不知道和苹果放弃Home键哪个需要更大的勇气),全面拥抱基于Metro风格的界面。显然,这是针对触摸设备专门优化的。尽管笔者很喜欢Metro(现在叫Modern)设计风格,但这界面对普通的鼠标用户来说,实在是过于不友好了些。当然,微软也是意识到了这个问题,把开始菜单在Windows 10中加了回去。另一件事是,Windows Phone设备在8.1之后升级的系统也叫Windows 10。微软的思路是「融合」,是让包括手机、平板、桌面电脑、笔记本、游戏机的设备,都使用同一个系统。Surface系列产品和这种思路一脉相承。当你拿起一台Surface Pro时,它可以运行的软件和你办公室桌上那台电脑没什么区别,都是全功能的Windows。这也是许多Surface粉丝攻击iPad系列最主要的原因。这种思路究竟对还是错,无从评判,毕竟Windows Phone早已安息,微软甚至都开始推出Android手机,开发Android和Windows的协同功能了。

    微软的思路和行动给苹果带来了压力。一直以来都有人猜想苹果会推出加入触控功能的电脑,甚至更进一步地把macOS和iOS像微软一样合二为一。但它们都被苹果的高管在公开场合否定了:iOS是iOS,macOS是macOS,二者可以联动,可以接力,但根本上,它们不是一个东西。苹果希望继续稳健地走iOS的路线,先不把iPad变成电脑,而是从美术创作者等苹果基本盘用户入手,观察市场反应。这是很自然的想法,因为即使macOS如今的软件生态也难说得上好。在这种思路下,苹果推出了第一次看到以为是山寨的12.9寸巨型iPad Pro,推出了一秒把iPad变蒲扇的Apple Pencil,推出了比不少机械键盘还贵的Smart Keyboard。

    像几乎所有的苹果产品刚发布时一样,第一代iPad Pro遭到了大量的嘲笑。毕竟,乔布斯当年还说过 Who wants a stylus? 呢。也有人本能地表示,这玩意肯定不如数位板。不过,随着软件生态发展,的确有一部分专业用户认可了这个产品的优势,纷纷表示这根笔除了配对难受以外,画起画来还是舒服的。除了这群人,因为常用的办公软件在iPad上都有了支持,对不差钱的用户来说,配个键盘,带出门还是挺舒服的,毕竟比笔记本还是轻多了不是?对于国内不少在手机上工作时间远远大于电脑的用户来说,我相信iPad Pro确实算一定程度解放了生产力,当然,这个程度多少,见仁见智了。库克自己说,他出门不需要MacBook了,带个iPad Pro就行了。在下以为,库克还是太亲力亲为。如果我是苹果CEO,什么设备都不用带,口述给秘书和助手不就行了?

    鉴于这种小有成果但又停滞不前的现状,苹果又一次扩展iPad家族的尺寸列表,搞出了个10.5寸的iPad Pro。苹果的设计师大概深受中国文化影响,记得「一尺之锤,日趋其半,万世不竭」的道理——你觉得一个尺寸大了,一个尺寸又小了,那我就推出个中间尺寸的。这下好了,带有120Hz刷新率屏幕和四扬声器的10.5寸iPad又一次成了最合适的爱奇艺设备……吗?反正,也没什么改进。大众好像也习惯了苹果的风格,知道库克不会爆炸式地推出革命性的产品。这不像是挤牙膏,反倒更像滴眼药水。

    笔者看过的苹果发布会不算多,不过2018年9月发布Xs和Xʀ的特别活动算得上看过的里面最无聊的一次。毕竟2011年4S那次至少还有个iCloud和Siri。苹果大概也自知理亏(也可能是看到华为的表现,心生羞愧),准备在其他产品线上扳回一局。所以10月底又来了一次发布会,一举把MacBook Air、Mac mini、iPad Pro全更新了,果粉们纷纷沸腾,表示钱包已经准备好了。但认真想想,还是挤牙膏。最值得欣赏的还是发布会结束时那个女歌手唱的那首歌。

    好吧,我承认第三代iPad Pro确实性能爆炸,确实凭全面屏造型就能让我有购买冲动;二代Pencil确实惊艳,手感确实好,iPad再也不用当蒲扇了;Type-C也是有生之年。一切好像都很好,可是还是掩盖不了它就是一个iPad的事实。尽管A12X秒天秒地秒空气,但我还是不能在上面运行Emacs,也不能同时开多个窗口显示。尽管iPadOS在多任务上有提升,用户可以切换多个浮窗,同一个App在适配后也可以多开了,但它和电脑之间毕竟有本质差异。

    这引出了一个问题——当我们在讨论某个产品算不算生产力工具的时候,首先需要明白什么才是自己的生产力。对不同职业和不同生活方式的人而言,生产力一词的外延都是不一样的。对于文字工作、图像处理的人来说,iPad Pro能够很好地胜任移动办公的需求。理论上,其他职业的人,只要有足够市场,也会有开发商为iPad平台开发软件,就像Photoshop。尽管iPadOS目前对App权限限制还是相当严格,但现有的API足够完成多数专业用途软件了。

    不过,程序员在这里是个例外。除非对iPadOS系统进行某种根本改动,否则iPad不可能成为理想的程序员开发工具。ARM和x86平台的差异在这里还不是重点,因为多数上层应用程序员都是基于动态语言进行开发,它们都能较好地支持ARM平台。更重要的问题是,目前看来iPadOS不可能支持对内核API(如fork)等的调用。在一个典型的程序员工作流程中,用户会编辑代码,执行编译任务,打开浏览器控制台,调试代码。这些基本需求会引申出对系统的要求,比如打开任意文件、执行可执行文件、运行系统调用等等。这些问题不是一个设备能续航多久、CPU有多强劲的问题。笔者不是抵触苹果对iOS系列的严格限制——相反,在国内的软件生态里,对应用采取如此严格的手腕是对用户负责的表现。但只要苹果想将「生产力」加诸iOS设备,就不得不触及这些问题。否则,堆砌硬件和做一些不痛不痒地小改动,不会从根本上拓宽它能做到的事,不会让它和iPad 2018或者iPhone有本质的不同。如果有人反问程序员才占潜在用户的多大比例,回答是,除了文字、图像、视频工作者,还有哪些人会是这种专业级设备的用户呢?不拥抱程序员,去拥抱习惯了Windows平台上垄断多年难用无比的专业软件用户,就会更容易吗?

    另外,iPad Pro硬件在移动平台称得上强大,但即使第三代顶配的6GB内存,用来应付广大程序员日常的开发工作,还是有些力不从心。这些限制决定了iPad Pro至少在软件开发者这方面离「生产力」还是有相当距离的。

    如果苹果开放了这些权限,也和这些专业软件开发商一一谈妥,让他们推出iPadOS版呢?iPad Pro就能和笔记本电脑一较高下了吗?未必。当代的几乎所有桌面系统GUI都是针对鼠标设计的,想想常用的编程IDE、调试器、CAD软件,要如何设计才能让它们在触屏下工作得自然?如果你很好奇强行上触屏是种什么体验,可以尝试在iPad上安装TeamViewer这样的远程控制软件,然后连接到自家电脑上进行下实验。尽管最新的iPadOS已经支持鼠标,但它还是作为一个辅助使用功能(不支持右键)而不是像macOS一样的核心支持。精确性从来都不是触摸屏的目标。如果要在iPadOS上推出一套完整的鼠标交互的话,为什么不直接在上面引入macOS呢?交互方式的逻辑,也限制了iPad Pro和许多人的生产力可能没有关系。

    iPad自然有其合适的场景。但「生产力」目前来看还是少数人的爱好。对很多人而言,手机毕竟比电脑重要。连自己的电脑都发挥不出什么生产力,如何指望一个平板呢?如果有心做这件事,平价版的iPad已经足够充当一个「笔记本」的用途。「学习」的本质还是一种内容的消费而不是创造,和「生产力」似乎还有距离。它能在少数方面做到很好,能保持便携性和专业性的平衡。这就够了。它不可能代替电脑,但一定有它的位置。比设备更重要的,是拥有一颗时刻准备创造的心。

  • 舍不得买AirPods Pro正常吗?

    太正常了。

    都2019年了,仍有许多人(甚至年轻人)不理解「人和人具有个体差异性」的道理,总想用一套放之四海而皆准的价值观,给每个人的行为下判断。在国内,歌手在某地开演唱会,往往会有一堆赠票送给主办方家属。所以第一排有时候坐的,是连歌手名字都不清楚的大爷大妈。他们坐得靠前,又融入不了气氛,还有歌手因此在演唱会现场黑脸过。

    那么,对于他们,这张票值吗?太值了,这可是权力的快感!但要问他们是否愿意自掏腰包购买呢?或许就不一定了。在这个问题上,铁杆粉丝和大爷大妈的观念有严重分歧。换言之,人和人对价值的判断是有差异的。如果不能认可这个原则,在面对21世纪的消费世界时,一个人一定会感叹礼崩乐坏。

    贵吗?

    如果你觉得一个东西「贵」,有三种情况:

    1. 你买得起,觉得不值
    2. 你买不起,但很想要
    3. 你买不起,也不想要

    当代消费品,尤其是数码产品,越来越复杂和私人化。因此判断「值不值」也成了一件个人的、很难的事情。在不了解需求的前提下,用自己对价值的判断去给别人的消费观下结论,是自以为是的粗暴行为。稍微极端化一下,就可以说明这种做法的荒谬——我是男的,我不用卫生巾,所以所有用卫生巾的人都是在交智商税?

    小时候很想要某件东西,而家长不愿意的时候,他们喜欢找到一些道理,来说明这个东西不值钱,而不是坦诚地,从财务的角度,告诉小孩购买这个产品,会对家里的财务状况造成巨大压力。「我得不到一件东西,我就要想方设法贬低它的价值」,这种思维方式有深远持久的负面影响。

    一些网友喜欢用这句话形容苹果的很多产品:东西是好东西,就是贵。我认为这句话已经是一种消费观上的进步。大大方方地承认一个东西的价值,然后承认购买它会对财务状况造成负担。在不考虑价格的情况下,如何判断一个商品对自己有没有意义呢?一个简单的方法:如果买它不会影响财务状况,你会买吗?什么叫影响财务状况?就是买了以后,本周乃至本月的其他消费会不会被迫改变。

    值吗?

    所以买1999元的AirPods Pro值吗?对我来说,不值。一则因为我不是耳机重度用户,普通AirPods已经可以很好满足我的需求。二则这种功能上的提升不足以让我以现有的AirPods 2和新款1999的价格作为代价。但我知道总有人会需要他,它也有独特之处,所以我不会对那些表示该产品很值的用户有负面意见。如果你已经觉得自己「买得起」,但还是拿不定主意的话。我建议你去直营店认真地体验一下,然后把每天从早到晚的生活轨迹梳理一遍,列出自己在哪些时候会使用它,生活质量到底有哪些改变。

    在信息爆炸的时代,多看看别人的建议和看法是有意义的。但自己的决定才算数。把生活当作运营一家只有你自己的公司。在了解自己的基础上,不要Judge别人。可惜,如此简单的道理,很多人也做不到。

    分期?

    我相信有一部分人是「谈分期色变」的。这种想法可能过于保守,但也没什么错。毕竟三天两头就能看到有人因为贷款自残自杀、走上绝路的新闻。看着自己可怜的信用卡额度,我好像没资格过分评论这件事,不过还是有几条基本建议:

    1. 请选择正规金融工具
    2. 拒绝有息分期
    3. 将无息分期作为锦上添花的理财工具,而不是雪中送炭的救命稻草

    最后一条的意思是,把「分期」当作「打折的全款」。分期能获得收益的基本原理是:拿这笔钱进行投资能够获得收益,且分期的这段时间内会有通胀。因此不妨计算一下你拥有的理财方式和收益率,然后结合分期期数得到一个收益,看作是这个产品的折扣。仅当你能全款买这个产品的时候,才进行分期。

    消费主义?

    消费主义是可怕的,但不是说一定就要矫枉过正,去过清苦的生活。在我看来,消费主义的根本——不是在于金钱,而是「认识我们自己」。没有iPhone、没有MacBook,我们是不是就不是自己了?为了销售,产品不仅要宣传自己多好,还要刻意营造出一种身份认同——买一个商品就等于为自己加上一个标签,若干个标签就定义了一个个体。苹果或许不是这种消费主义宣传方式的始作俑者,但在塑造这种认同感方面,可说是教科书式的成功。

    问题是,定义我们自己的难道不是思想、作品、才华、外貌、人际关系吗?消费主义把人变得不像人了,这是它最大的问题。不过,这也不全是商品的问题。毕竟,是花钱买个手机更容易,还是苦练吉他,在有机会的时候表演一把,震撼身边的人更容易?

    此文是鉴于知乎一个相关问题有感。

  • 2019年9月21日

    「很久」是一个主观概念。

    很久没有这样随意地坐下来写文章了。上海的天气依旧是这样难以捉摸。穿着短裤出门,差点打着喷嚏回来。下午配了新眼镜,度数没变。无他,就是原来的戴着不舒服。不知道是眼睛的问题还是眼镜的问题。用了快两年,不少磨损,也该说声再见,就像和母校说再见一样。眼睛不舒服的直接感受,就是时常停下手中的工作闭眼——好像玩手机的时候从来没这样。闭上眼,没有光,眼睛就舒服了,好像得到了释放。真是奇怪,人们好不顾一切去爱,到头来又怨道因爱受到无尽的痛苦;去热烈地拥抱光,光又使我们作息颠倒,身体疲累。光不是人造物,但随用随走的可控光实属改变文明历史的发明。需要恨它吗?大可不必。你可以关掉灯,但关不掉太阳。双眼不适时,不妨潇洒地闭上眼,好似那个小故事:不必大费周章在整个城市的地上都铺满牛皮,只需用一张牛皮裹住脚即可。

    这话看似颇有道理,但不合时宜的运用则会令人大为光火。只需回想中学时代教导主任的训斥,即可感同身受。觉得高考恶心?那你改变不了。四十二度的天想放假?你也改变不了。似乎从古至今,不变才是常态,或者说,是大部分人的追求。原因大概是,这个世界太容易变坏了。(不过你也可以说,是好事都不放在眼里)改变令人害怕,即使是于自己完全无关的事情。比如你一个 iPhone 用户,为什么要去关心华为的发布会呢?做得好,又不买;做得差,那不过是又一颗沉入池塘底下的小石子,谁会去在意呢?其实,一个可怕的事实是:地球上已经没什么事情与我们「不相干」了。

    人类是很有趣的生物:自以为高级,又喜欢批判自己的愚蠢。文明发展至今,人类创造出了一个没有一个人能理解其全貌的社会。我们依赖他人而生,依赖他人而死。如何能够放置这么多自以为是的个体,阻止他们把一切推向无序?都多亏了人类的一个特性:爱听故事。一个个令人们深信不疑的故事创造了作为有史以来最光荣词汇的民族、国家和信仰,鼓励着一群人将另一群人类如蝼蚁般屠杀,也化身为所谓英雄们愿以生命作代价的追求,更令我们不必日日「重复造轮子」,而实现了一点点真正的进步。故事,过去的事,既然都过去了,重要吗?当然重要,极度重要。你为何坚信被你称作「妈妈」的,是坐在你客厅看电视的这个人,而非街上来往的某个随机的女性?这些一个个的故事定义了你。至于你内心如何想?不好意思,不重要。我们在别人的记忆中构建了自己。好像恶心,但人们其实乐于被这样标签化。主动给自我打标签意味着认同感,认同感的本质,也是对一个故事的信任。

    在我们可以亲手触及的小事上,这没什么问题。你相信你母亲在若干年前的某一天生下了你这个故事。多数情况下,这是正确的。即使极小概率的事件发生,比如你母亲向你隐瞒了什么,或者当天接产的护士没吃早餐抱错了人,使得这个故事是虚假的,你大概也不会与她立刻形同陌路。问题是,构成社会的人口如此庞大,又没有一个人能掌握它的全貌,人们开始喜欢依靠一些故事来「认识」世界,即使这些故事的可靠程度,远远不如「你母亲在二十三年前生下了你」。空气里造不出高楼,幻灯片里也出不了软件,但人类社会可以仅以来不知真假的故事,来破坏、重建一切现有的结构。所以,计算机不是最伟大的发明,原子弹也配不上,宗教才是。你以为你和网线另一端争论的是哪个手机更好,其实是两种论述背后隐藏的两个故事。把对品牌的态度本身上升到宗教层面,看似夸张,其实没什么问题。当脱离具体事实讨论起更虚的东西时,它就变成了对背后故事的争议。更何况,在小小的手机这件事上,人也发挥出了自己的良好本性,从不觉得自己错了。一切更像宗教了。或者说,宗教只是这种由故事所引发的人类集体情绪的一种投射,而这些粉丝的文化,则是另一种投射。

  • 生活的切面 – 苹果

    此系列文章始于 2017 年底和 2018 年初想作的博文,总结自己在 2017 年的收获与改变。因为总的来说,2017 算是大学五年里颇有转折意义的年份。(当然,要说的话,每一年其实都算是某种转折)结果因为自己的拖延、懒惰以及文章内容太多等原因,一直未能完成。转眼间,2018 也将过去,于是便改题为《写在 2019 之前》。结果后来又是拖延,2018 已然整个过去了。再次将标题和文件名改为《写在 2019》,还在大学最后一学期回上海的火车上写了数千字。没想到,因毕业论文等的冲击,2019 也已过去半年有余了,我也毕业了,成为了社会人。没办法,只得自拔 flag,随性一点,最后将题目改为《生活的切面》,名字来源于著名的 AOP(面向切面编程),意在总结过去的大学生活后半程中,有哪些事或物改变了我,又如何与生活串联,或是与未来产生那么点连接。

    在写这段前言时还看了眼自己的文档库,想起来一篇在 Ulysses 上完成的 2018 年记录,但找不到了。也许因为放弃了这个软件而遗失了吧。也罢,心态都变了,扔掉也无所谓。本文中大部分内容来自于当时在返沪列车上的草稿。

    一般人呢,喜欢在年底或次年初时,记叙一年间的收获经历,还有对来年的期望。大概我就不一样了,去年春天打算写的年度总结,一直烂尾到了 2019 年。所以也是时候记录下两年来的大事小事。有些事因为发生略久远,可能已想不起所以没有提到;有些事呢,则是因为我刻意不想提到。从以前列出的大纲看来,两年来遭遇的事,虽不如初入大学时顺利、积极和简单;但却该是毕业后回忆生涯时,不得不讲述的一个开始。两年来,很多人与事变了,很多也没有变。我依然去了很多次南京,也和几个老朋友走过很多城市,却玩着一样的东西。虽然我可能再也不用去南京了,不过我真切地期望这些美好的记忆,能够随着时间在某天再次降临。

    时间自然承前启后,2017 往前就是 2016 年。那年年末,我做了什么呢?去参加了校园歌手比赛然后复赛英勇地被淘汰,跟着学长和老师糊里糊涂地去北京拿了个比赛三等奖……还有,烫了个头。烫成陈奕迅一样的卷发算是初中以来的梦想。尽管药水的味道颇为诡异,几个小时的漫长流程也令我昏昏欲睡,甚至刚烫完的发型跟中年太太简直神似,不过洗几次后,倒还有点意思。可是不久后就要回家。其实我也动过回家前去剃头的念头,也许就是懒,也许自己就是想带着这个发型回家,我没有剪头。事实证明,这是我做过最错误的决定之一。

    回家后的大小风波和几次起伏,已不想提了。只能说,我同每个人一样,从小到大挨过家长不少责骂和暴怒。但是心灵创伤跨越时间难以忘怀的次数并不多。我至今认为,这件事对于任何一个 20 岁的成年人而言都称得上羞辱。这也让我进一步体会到,从小的情感经历,能给人带来多么深远持久的影响。

    iOS 与 iCloud

    大概这件事惟一的正面后果,就是我名正言顺地拿着家长的钱买了 iPhone,不然还有些不好意思。读者大概不好体会,一个几乎没有完整智能机体验的人(Galaxy S 用了一月丢失,Xperia Acro S 长期屏幕失灵,Lumia 640 硬件孱弱且搭载着 WP8 这样一个几乎不可用的系统)第一次拿到堪称「可用」(iOS 10 已经完全达到这个标准了)的机器时的体验。我也因此对 iOS 有了初次接触。iOS 系统的封闭在我还是个 Galaxy S 用户时就已有耳闻,iOS 5 时代同学折腾第三方输入法的经历让我印象颇为深刻。没想到上手以后比想象中的好得多。很多功能已经相当成熟。实话说,这样的系统让我很难不产生学习在这个系统下开发软件的想法,想弄懂这个系统在封闭外表下提供的颇有张力的 API。想想开发前端的状态,也许做客户端真的舒服很多了。

    由于自己之前就是 Mac 用户,所以很自然地,我也体验到了 iCloud。iCloud 和其连接的苹果自带服务,对于如此大厂而言,在技术上并没有太大难度。甚至可以说,相比其他类似服务提供商,苹果自身还没有把这些东西做得足够好。单独把像文件同步、私有数据库、笔记同步、备份等事情拿出来,都有很多软件做得比 iCloud 更好。但是因为它是 iOS,所以只有 iCloud 提供得了这种统一、无缝的体验。对于融合 iOS 和 macOS 这件事,苹果展现出了极大的热情。不过,融合不是合并,手机和电脑还是有本质区别的,这点苹果的思路和当年的微软大相径庭。所以想借助 iCloud 提供类似的流畅体验,App 的开发者也需要至少提供和维护 iOS 和 macOS 两个版本的 App(还可以有 watchOS 和用于圈钱的 iPad 专版),这其实增大了此类软件的开发工作量。另外,为第三方开发者提供的 CloudKit 数据库服务是只能在苹果系统下使用的,这大大限制了开发者走向真正「跨平台」的能力。(CloudKit 有官方的 JavaScript SDK,就不知道有没有人封装到其他平台了)所以你能看到很多「精致」的软件,只为苹果平台提供服务。不过,无论如何,如果你拥有超过两台的苹果设备,强烈推荐你尝试使用 iCloud 同步来管理很多想法、日程和任务,也许对你数字生活的体验有很大的提高。

    好日子过得很快,我终于在 2018 年初收到了来自苹果的一封邮件——「自 2018 年 3 月起,中国大陆区的 iCloud 服务将由云上贵州运营」。这本是一个正常不过的消息,因为任何在中国境内运营互联网业务的公司,理论上都应该把对应这部分的数据放在国内。然而一时间互联网上关于「云上贵州」这家神秘公司的起底让不少人惊讶,作为世界上最有钱公司之一的苹果,居然没有把在中国的数据移交给像 BAT 这样的巨头,而是给了一个地方国资委控股的机构。

    争议一时间更大了。不认为 iCloud 迁入国内会造成隐私问题的人采用的论断无非是两种,一是 iCloud 在国内会采用同样的加密方式和管理标准,二是所谓的「无所隐瞒论」,即「你要是个普通人,你的隐私没人会感兴趣」。而认为这是一个问题的人,一方面是认为 iCloud 默认状态下存储的数据远远比微信聊天记录这种东西更加敏感,二是担心管理不严导致的数据泄漏会导致诈骗频发。直到 2019 年我也(或者应该用「更」?)不相信一方能说服另一方。不过这年头,觉得自己的隐私是一回事,难道还非要想方设法证明自己一定是个「良民」不成?这种想法和所谓的「受害者有罪论」如出一辙。并且至少,把自己的 iCloud 账号迁移到其他国家区域的人没有理由受到任何道义上的谴责。

    隐私,与互联网难民

    在更大的趋势面前,iCloud 只是一个例子。互联网,从各方面而言,都在离当初那批原住民的期望越来越远。在过去的小几十年里,它带给我们的也许只是一个美好的梦想。程序员看到的世界只是真实世界中充满特殊性的一个小小切面。我们生来就拥抱了全球化拥抱了互联网,然而地球村的本质可能根本就不是这样,管理这个世界的那群人也没有把全球化和无国界互联网看作理所应当的事情。也许现在的一切只是开始,只是百年后的历史书中 21 世纪世界和平的短暂瞬间。iCloud 的事情让更多人注意到了数字难民(数字移民)这个词。其实早在今天的互联网服务成型之前,就已经有这个词了,当时它的意思是「不习惯互联网的一代人」。万万没想到,在互联网潮流下长大的一代人,也有称为「难民」的时刻。如果说常规意义上的难民,为了安全和温饱,远离家乡,还能为大众所理解;互联网世界中的难民,大概都是不被大众所理解的孤独的追求者吧。

    iCloud 相关的这些事,让我对互联网和隐私有了自己的理解。新技术把隐私问题朝着变复杂的方向狠狠地推了一步。一个不从事相关行业的普通人几乎不可能完整地感知在生活中面临的隐私风险。更何况,大众纷纷以人脸识别等技术为技术进步保障安全的典范。隐私,基本上已成了中文互联网平台下的「政治不正确」。Richard Stallman 在上世纪 80 年代就从道义上批评商业软件,到今天他的论据远比当年更有力了。没有人清楚他是真的有远见卓识,还是只是巧合。说来也是讽刺,最封闭,最「邪恶」的 iOS,(不止在国内)居然成了数字隐私的倡导者和先锋,个中逻辑有点像大国对小国的秩序保障。

    总之,从大的方面来说,隐私已经不是绝对的概念了。你想要什么程度的隐私保护,取决于你愿意付出多少精力,以及你想要保护的东西对你而言有多重要。

    生态?那是什么?

    生态是一种说不清道不明的东西。人人都喜欢讲生态,尤其是国内互联网圈子的从业者们。他们口中的生态,常常意味着人工加上某种阻碍你出去的边界,同时提供一个让你觉得「这样也没什么」的替代品,达到建立护城河的目的。苹果的生态要说也有些相似。不过它以一种让你感到「乐不思蜀」的方式来让你自愿不跨过那道边界。常言道,买了东西的人总会想方设法为它的价值辩护。这话不假,比如我的 Apple Pencil。不过还有一个层面,那就是人内心难免忽视产品的价格因素。这就导致许多拥有「苹果全家桶」的人喜欢大谈苹果的产品联动使用是如何的舒服,但在非苹果用户看来就是花十分的钱却只获得五分的体验。

    我想没必要和网上同人在这些私人爱好属性极强的方面争个高下。体验、生态、品牌依赖,乃至设计,都带有强烈的主观属性。生活中不认可它们的人,经过你的劝说可能也不会变得认可,更何况在站队意识甚嚣尘上的互联网上呢?但不可否认,如果你坚持从所谓「宏观」角度看待这些问题,容易掉入一个陷阱:过分忽视产品背后的非实体因素。对于小的生活产品或者高度标准化的工业产品而言,这没太大问题。判断的标准无非就是价格和质量。但将这种观点套用到软件和文化领域,就容易闹笑话了。

    生态靠硬件承载,但最终呈现给用户还是靠的软件。国内的用户平均水平和软件行业发展水平决定了手机厂商对软件的重视远远不如硬件参数。这是一个非常庞大、系统和复杂的问题。在此之下,所谓的 996 算不上是一种追赶,只能说是倒退。

    生产力?那又是什么?

    大量的 iOS 用户都喜欢谈论生产力这个话题。原因很多,一部分是 iOS 优秀的软件生态。的确,相比其他平台,iOS 以及 macOS 上有大量设计精美、功能优秀的效率方面的软件。不过生产力终究只是一个有限度的话题,这些软件不能像真正的秘书一样帮你搞定一切。(实际上,秘书也没法帮你动脑子)最重要,最终的管理设备还是大脑。

    事实是,iOS 自带的软件已经涵盖了最重要的日常办公所需要的生产力能力的范畴。包括电子邮件、日历和日程管理、提醒事项,以及笔记。自带软件的一大问题在于,它未必能满足所有人的需求。能用,够用,但是对许多人来说,未必好用。因此就衍生出,在这些「主流」的方面对自带软件进行增强的 App。

    每个人的需求不同,处理事物和工作的方式不同,因此最适合的软件可能也就不同:一些人最适合的是一个简单的提醒事项,有些人适合的是类似 OmniFocus 这样的 GTD 软件;就笔记而言,有些人可能需要 Markdown,有些人需要强大的富文本编辑功能。

    苹果的平台软件众多,这迫使自己思考自己到底需要什么样的产品,以及这些产品是如何真正能够提高所谓的生产效率。虽然,在折腾它的过程中可能会付出时间上以及金钱上的成本。但能够去贴合自己的工作内容,找到最适合自己的工作流,这是非常重要,也是非常有意义的一件事情。不过,这也必须得等到有实际工作负荷的时候。凭空创造需求,在没有工作、没有需求的时候去强行使用、体会这些功能,最后可能得不到一个准确有意义的结果。像有些媒体一样,过度去追求所谓的生产力和所谓效率,最后可能会浪费大量的时间,造成心智负担,甚至会降低你的生产能力。回归简单,让计算机为人所用而不是人为计算机所有,大概才是真正的效率,也是它们被发明出来的初衷。

    搞点开发

    苹果一直想给用户打造的形象,就是人人都有能力去创造属于自己的作品。这里的「创造」可以理解为传统的剪辑视频和音乐,也可以指开发软件。苹果一直在努力的用各种方式,让更多的人来参与到丰富苹果生态的大军当中。

    除了 Web 前端,我算是一个没有什么真正 GUI 编程经验的人。在大二下的学期选修了 iOS 开发的课程。最后用了将近一周的时间基本完成了一个非常简单的笔记的 App。虽然 Native App 和 Web 面临的可能是不同的问题和需要。但这短暂的开发过程还是让人感叹,在手机系统上能做的事情,和开发的舒适程度,实在是丰富太多了。能够将自己的想法,通过代码转换成实际可以运行的软件,甚至进一步将它分发给其他的人,是非常有意义,也非常酷的事。所以我也将学习 macOS 和 iOS 开发纳入了 2019 年的计划之中。

    意义

    苹果是一家非常特别的公司。当谈起个人计算机的发展历史的时候,你不可能绕过它。但生活中大量的人知道它可能还是因为手机。iPhone 拯救了苹果,也改变了整个手机产业,甚至改变了人和科技之间的交互关系。

    很明显,在 iPhone 发布十年之后,面对着消费科技的发展,人类好像又面临了瓶颈。找出新的应用场景,发明新的硬件,对于商业应用肯定至关重要。但,对个人用户,更重要的,可能是重新发掘我们和科技、我们和计算设备之间的关系。苹果一贯标榜尊重隐私,深层次的逻辑,也是在宣告人在科技产品面前的主体权。

    发展过度迅猛的互联网和人工智能,使很多人对未来抱有悲观态度,认为人类可能最终会被大公司或者机器人所奴役。我对这些技术,也算是持有着非常保守的态度。它们的确带来了极大的危险,可是如果人类真的到了面临生死存亡的关头了,以人类的智慧,一定能够找到一个合理的出口。

    可惜,那也是未来的事情。在很长的一段时间里,我们都将处于新型科技造成的混沌之中。在这个层面上,苹果改变了历史,但它也没有能力决定历史。旁观真实世界的发展,猜测人类究竟会向何处去,大概也是很有意思的事情吧。