采访Raspberry Pi的Simon Long,了解Raspberry Pi桌面、UI设计等内容。
重要的背景信息:这次采访是在2018年7月初进行的,所以西蒙提到的一些应用可能已经发布了,等等。
最大。 这是对树莓派基金会Simon Long的采访,他主要负责Raspbian这个桌面操作系统。
西蒙。 这就对了。
最大。 许多像VeraCrypt这样的应用程序专门为Raspberry Pi平台发布二进制文件,但在这种情况下,甚至没有ARMv6二进制文件--只有ARMv7。 我在想这是否有具体的技术原因,专门针对Pi,为什么不直接做通用的ARMv7二进制文件。
西蒙。 所以我对你提到的那个具体案例一无所知。关于具体针对Pi的问题,我知道Debian标准ARM硬浮动版本并没有最好地利用Pi。我的理解是,它们没有为我们的平台进行特别的优化。我没有尝试过使用专门的Pi构建系统来运行我们没有专门构建的东西,或者在为Pi设计的交叉编译环境下构建的东西。但我相信,有些东西需要专门为它构建,而不是仅仅使用标准的Debian硬浮动的东西。我不太了解为什么需要这样做的技术细节,但我怀疑这与硬件的优化有关。当然,在明显的情况下,人们希望使用VideoCore的一部分,标准的Debian ARM硬浮动构建将不使用该部分。因此,你将无法从该设备中获得最佳性能。
最大。 你是说像这些NEON SIMD优化的东西?
西蒙。 不--NEON的东西应该可以工作,因为那是在设备的ARM端。更确切地说,是设备的视频核心方面,其中视频加速可能是最重要的部分。还有一些东西,如VideoCore IV中的像素处理单元,允许你进行并行操作。如果你不是专门针对我们的平台,你不会得到任何这种优化。
最大:因此,从本质上讲,ARM平台与不同的平台是不一样的?
西蒙:ARM内核本身是相同的,但外围设备将是不同的。在我们的案例中,其中一个外设是VideoCore,它提供视频和多媒体加速。因此,如果你为一个普通的ARM平台编写,你将不能最好地利用它。给你举个好例子。Chromium。每当新的Chromium发布时,我们都有一个人致力于在其中整合我们的视频硬件加速。如果你使用Chromium在平台上播放YouTube或其他什么东西,你就会得到加速的好处。如果你只使用标准的Chromium ARM构建,你就不会得到。这主要是为了像视频加速这样的事情。
最大。 你有一个自动化的程序来做这件事吗?
西蒙。 不--这是个很难自动化的事情。代码变化很大,当然在Chromium的情况下。在很多情况下,它是把你在上一版本上打的补丁应用到新版本上。但是,正如你所知道的,当你试图在不同版本之间合并补丁时,它们并不总是干净地进入。这是一个不同的工作量,取决于基础代码有多少变化,但不幸的是,这不是一个自动化的过程。这是一个由从事这项工作的人负责的案例,他必须看一看Chromium 65和67之间有什么变化,看看这对这些补丁有什么影响。这是一个巨大的代码库,它将发生变化。虽然补丁相对较小,但从Chromium方面来看,它们被打上补丁的线路可能在不同的版本之间有很大的不同。
最大。 总而言之,这个想法是,因为Pi--相对而言--仍然不如一台台式PC强大,所以要尽可能地真正使用硬件,并为其优化二进制文件。
西蒙:正是如此。
最大:让我们转入树莓派桌面的话题。它背后的主要目标和想法是什么?
西蒙。 它背后的主要目标和想法......当我开始的时候,我在Pi的第一天,Eben和我坐下来,用Raspbian运行LXDE,他说你能让它变得更好吗?我玩了一会儿,然后想--好吧,是的,当然有可能让它变得更好。我是否知道如何让它变得更好是个问题,因为在那个时候我从来没有使用过Linux,所以我有一个相当大的学习曲线。
最大:你实际上以前从未使用过Linux?
西蒙:我曾经实验性地启动过几次Linux,但我从来没有为Linux写过代码,我从来没有真正使用过它超过十分钟,[在开始树莓派的工作之前]。
最大:你不使用Linux的原因之一是桌面环境吗?它的排列方式令人困惑?
西蒙:我使用过Ubuntu,我使用过Knoppix。
最大:Knoppix - 实际上是由一位德国工程师设计的。
西蒙:是的,我用过这两款软件,我发现这两款软件的桌面环境都不直观。我仍然不认为Ubuntu的桌面环境是直观的。我总是要花10分钟来记住他们把终端藏在哪里。诸如此类的事情。我觉得很多Linux应用程序在编写时都没有把可用性放在首位。它们被写成易于编写,而不是易于使用。这是可以理解的,因为没有人因此得到报酬。但我在看LXDE的时候,觉得它有很大的空间可以使它比原来更友好,当然,我认为,考虑到我在这方面最有经验的两个平台,即Windows和Mac,在我看来,LXDE和这两个平台在可用性方面有很大的差距。如果你想要一个明确的目标,那就是让Raspberry Pi桌面像Windows或Mac一样容易使用。理想情况下是Mac,因为那是我的首选平台。就使其容易而言,我认为最重要的事情是增加一致性。我认为LXDE的问题在于它是一个来自不同问题的组件的集合,这些组件都被倒在了一起。所以你从一个地方得到了一个窗口管理器,你从别的地方得到了一个文件管理器,你从别的地方得到了一个任务栏。对我来说,它并没有真正作为一套集成的东西工作。如果我想改变系统的字体,我必须在三个地方改变它,才能在所有地方生效。而这是一个持续的过程。在新版本中,你可能已经看到了启动向导。
最大:是的。
西蒙:我已经在博客评论中受到了一些批评,他们说你不应该使用启动向导,因为这使人们不愿意看设置[配置文件]。
最大:我实际上已经看到了这种评论。理由有点像--'我们是用艰苦的方式做的......'
西蒙:正是如此。这是我对那些[有这种想法]的人的全部挫折感。这就是 "我必须要受苦,所以今天的用户必须要受苦"。对我来说,这误解了Pi的目的。Pi的目的一直是为人们提供一个可以学习计算机的环境。如果你在谈论学习计算机,对我来说,那就是学习如何为计算机编程。它不是学习如何配置一个Linux桌面。因为其中一个是你可以使用的有用技能:一旦你学会了如何编程,整个职业就会向你开放。而这正是我们成立的目的。学习如何配置Linux桌面--是的,它很有用,如果你需要配置Linux桌面。但这并不是Pi存在的目的,它是为了教人们去做。因此,从我的角度来看,我想把桌面环境的问题解决掉,这样人们就可以开始编程了。这是我所做的工作的一个主要目的:如果人们想改变他们的桌面背景,或者让他们的字体变大,以便他们能读到东西,他们不应该在12个配置文件中挖来挖去来做这个。这应该是很容易做到的。
最大。 绝对是这样。我在桌面上使用Windows的原因是,我实在是懒得......例如,我有一个多显示器设置......我有一个粗略的想法,如何在Linux上做到这一点,但我将不得不编辑配置文件,并投入大量的时间。
西蒙:同样,作为一个以前不怎么使用Linux的人,我越是发现你必须进行这些配置的改变,我就越是对人们被期望处理的混乱局面感到惊恐。这就是为什么我做的第一件事是写一个应用程序,为你改变你的所有系统设置。对我来说,这似乎是一件大事,为什么以前没有人这样做?为什么你不得不打开四个不同的配置[文件]来使事情看起来正确,这仍然是可以接受的?它使所有的东西都感觉像一个环境。这一直是我对桌面的目标,它需要达到一个点,就像在Mac上,你甚至不需要考虑桌面的问题。桌面只是在工作。如果你想改变背景图片,或让字体变大,或想启动一个应用程序,你如何做这些事情是很明显的。对我来说,LXDE--虽然它提供了一个很好的工作基础--我并不是在诋毁LXDE创造者的工作,他们在它下面做了一些很棒的事情--只是需要在它上面有那么一点点的关心和关注。这就是我所提供的,使它成为一个很好的使用体验。这一直是我关注的焦点--让它变得好用,只要我可以,我就会特别关注让那些以前不怎么使用电脑的人,或者当然以前从来没有使用过Linux系统的人变得好用。这就是让它变得更熟悉、更直观。
最大:实际上是否存在任何版权或设计问题,例如像MacOS中顶部的菜单栏?在那里你必须要小心?
西蒙:我不知道有什么,没有。这一切都可以追溯到施乐PARC和原始桌面的时代。桌面的隐喻已经确立,没有人拥有它。例如,我不会梦想夺走苹果的图标。我认为苹果的图标是很美的东西。你试过放大它们吗?它们有大量隐藏的细节,你永远看不到。如果你看一下Mac上的邮件图标,如果你把它放大,你可以看到它有一个邮戳,上面写着 "欢迎来到库珀蒂诺",还有类似的东西。他们在这样的事情上花了很多精力。我不可能把苹果的图标放在我们的系统上,这显然是对版权的侵犯。还有,我们想建立我们自己的视觉识别,这就是为什么我们委托我们自己的图标,这就是为什么我重新设计我们的窗口看起来像什么,为什么我们选择我们的颜色集。这些都不是从其他人那里剽窃来的。这都是我自己对设计应该是什么样子的想法。我认为,就有菜单和任务栏的windows环境的一般概念而言。- 这几乎是在公共领域。版权问题是如果你开始窃取别人的资源,那就是有效的。我们不打算这样做。我不想制作MacOS的副本。MacOS背后有一些非常好的想法。但这需要成为可识别的树莓派的东西。至少要与MacOS有明显的区别。同样地,它也需要和MacOS一样具有可识别性。
当我刚开始工作时,我们在操作系统上唯一的品牌是我们在桌面上有一个树莓。除此之外,它是LXDE--我们没有对它做任何其他事情,因为我们没有人去做它。就像史蒂夫-乔布斯曾经说过的--字体真的很重要,排版很重要。当你试图创造一个代表你品牌的视觉形象时,就是这样的事情。说起来有点自命不凡。这是让人们看到的东西,并说 "哦,那是Pi Desktop"。
最大:说到排版,你默认使用什么样的系统字体?
西蒙:这是一种来自谷歌的公共领域字体,名为 "Roboto"。我不得不对它做了一点处理。如果你是一个字体怪人,这是个有趣的问题。这几乎是我做的第一件事,实际上是在第一天,因为LXDE的默认字体很丑--我知道你可以做出巨大的改变 ...
最大:你知道那是什么吗?
西蒙:我不记得了--那是非常可怕的。仅仅通过改变字体,你就可以使任何事物的感知方式发生巨大的变化。只要改变一份文件,从有衬线字体到无衬线字体,整个文件看起来就像一个不同的东西。这是最关键的事情之一--史蒂夫-乔布斯在这方面是绝对正确的--如果你把字体弄好了,很多事情都会立即变得更好。所以,我所做的第一件事,就是把我能找到的所有免费字体都看了一遍--显然,世界上有数百万种字体--但你知道。我需要的是免费[使用]的东西,我可以理解如何进入Linux的东西。我浏览了几十种字体,当我看到Roboto时,我就想,对,就是它,它看起来就是我想要的样子。幸运的是它是公共领域的,所以我们可以使用它。问题是--所以我们安装了Roboto软件包,几个月后我们做了一次系统更新,字体仍然是Roboto,但字体已经改变了。而且,它的效果也没有那么好。谷歌对该字体的指标做了一些调整。我看了看,然后说:"唉!这不是我想要的。- 这不是我想要的。所以,实际上,我们拥有的是一个旧版本的Roboto,它有自己的软件包。我叫它Piboto,只是为了区别于Roboto。我不能继续沿用Roboto软件包,因为它已经改变了字体,而我不喜欢新的字体。
最大:我想说,这实际上是一个相当不愉快的惊喜。因为你期望字体保持不变。
西蒙:它没有。他们改变了它。他们改变了它,以至于我说 "不,我们不遵循这个,我们现在要采取我们自己的版本,我们要坚持我的版本"。
最大:特别是在非常小的屏幕上--如Adafruit 2,8 "屏幕--你必须有一个特殊的字体。
西蒙:是的,较小的点尺寸--你需要有一种字体,它是为在这样的情况下工作的。所以我们在这个旧版本的Piboto上,因为它被称为,还有一件事很有趣--如果你是一个字体怪人--谈论一致性。在Linux中,字体显然有不同的重量--轻和薄,中和重,以及粗体,等等。我认为他们在GTK 3中做了一些非常糟糕的决定。例如,如果你在sudo下运行GTK 3的应用程序,它看起来和你不运行时的样子不同,因为他们把主题信息拉到了里面。所以如果你在sudo下运行,你不会得到用户原来的GTK 3主题,你会得到根GTK 3主题。这可能是不一样的。诸如此类的事情。如果你想保持一致,GTK 3就不如GTK 2好。这就是我对GTK 3的看法--就它在字体方面的缺点而言,它对字体重量的处理并不好。
我们使用的系统字体是Piboto Light。同样,我想用Light版本,因为Light版本看起来比普通版本更漂亮。有一些应用程序--例如Chromium,我相信它是一个GTK 3的应用程序--你把字体设置为Piboto Light,它就会丢掉Light,只给你Piboto。我想这是GTK 3的问题,它的一些字体重量处理做得不是很好。 而这一点,我认为又涉及到了他们的sudo和non-sudo的东西,其中有一些东西没有做得很好。我实际上已经针对[这]提出了一些错误--他们说。"不,它应该是这样工作的,它很好"。我必须绕过它,因为它没有做我想做的事。
最大:你是如何处理的?
西蒙:我修复所有字体问题的方法是,有我们的字体,通常被称为Piboto,现在被称为Piboto LT,因为它是轻量级的。现在人们不能破坏它,因为如果你选择我们的字体,它的重量一直是正确的。
最大。 有了Piboto LT,就有了一个重量,就有了轻的重量。
西蒙:你可以加粗 - 它仍然包括粗体和斜体的版本。但普通的是浅色的。这是我能让一切看起来一致的唯一方法。在选择字体时,我认为重量和字体本身一样重要,因为改变重量可以极大地改变字体的外观。我花了许多快乐的时间玩FontForge,创建了我的字体版本,这意味着现在所有东西看起来都是一致的。这是最近的版本中的一个变化,就是现在Chromium实际上是在使用和其他东西一样的字体,而以前不是这样。之前,它使用的是普通重量的Piboto,而不是轻量级的。
最大:我想这是人们注意到的一些事情--似乎有点不对劲--至少是潜移默化的。
西蒙:潜移默化是一个很好的方式--我一直认为Chromium有些地方不太对劲。但我看了一下设置,设置中会说他们有Light字体。而一旦我做了这些改变--这就是Chromium的问题所在。现在Chromium看起来是对的。现在Chromium与其他所有东西都匹配。这是其中的一件事--如果你在第一次注意到它的时候没有解决它--你就会习惯它。然后你会想,好吧,这就是它的方式。
首先,让Chromium发挥作用是一个很大的步骤。让Chromium与窗口管理器正常工作并在窗口管理器中看起来漂亮是很困难的。我最讨厌的一个问题是,应用程序想以自己想要的方式来显示,而不是以系统想要的方式来显示。Chromium就是一个试图用它自己的颜色来显示窗口栏和类似的东西。它与窗口管理器的关系并不融洽。当我们把它放进去的时候,我花了很多时间,试图让它真正看起来漂亮。
关于这一点,有一个轶事。我们的系统里有Chromium。而Eben在其他系统上使用Chrome。我不使用Chrome,因为我是一个Mac用户,我使用Safari。
最大:是否有Chrome浏览器用于...
西蒙:有Chrome for Mac,我不会推荐它,因为它做的正是我当时所说的--它看起来像Mac上的谷歌应用程序,而不是看起来像Mac上的苹果应用程序。埃本已经习惯于使用Chrome。而Chrome的边框是彩色的,所以你有标签,你有一个特定颜色的背景--Eben习惯于此,因为他在Mac上使用。我研究了一下,它与我们其他的应用程序不相符,需要改变。我在玩各种颜色组合,我打开了使用Openbox--LXDE窗口管理器--的框架与Chromium的选项。因为在默认情况下,你失去了窗口框架。有了窗框,Eben说 "有了窗框看起来就不对了,这看起来就不像Chrome了"。我说,"相信我,这将是正确的。但它需要有框架。因为它需要与其他一切相匹配。"而Eben则有点啧啧称奇和嘀咕,"你正在犯一个大错误--你绝不能这么做。"我说,"相信我,这最终会是正确的"。问题是,你把Chromium的颜色放在我们的窗框里。我需要解决如何为Chromium给你的窗口重新着色--标签后面的背景。我需要使其与我们使用的颜色相匹配。我花了几天的时间摆弄,试图找出设置的位置,然后我改变了设置。在我做完这些之后,Eben走到我的桌子旁,我说:"现在看看Chromium吧。"他看了看就走了。"这很好",我说 "我告诉过你这很好"。这是关于一致性。这是关于让它看起来像你期望的那样。埃本所看到的,是一些看起来不像铬的东西,也不像我们。
最大。 那么,有什么完全不同的东西吗?
西蒙。 是的,所以这看起来不对。但我知道,要把它弄好,你必须把颜色和字体弄好。当你把颜色弄对了,并且匹配了,Eben就说:"哦,这很好。"--"是的,我告诉过你会这样的。这是因为它现在看起来像我们。你已经习惯了它看起来像Chrome,而你看到的是中间这个尴尬的阶段,我还没有完成它。"但这就是为什么像窗口管理器这样的东西很重要。这是一个非常重要的方法,可以给你一个一致的外观和感觉。因此,那些不与窗口管理器友好相处的应用程序让我恼火,因为窗口管理器的存在是有原因的。
最大:这也是Linux桌面让我恼火的地方之一--如你所说的一致性。我认为有GTK,然后有KDE的桌面环境......
西蒙:关于GTK的事情是--如果有人说他们要为我们写一个应用程序,他们应该以什么为基础,我的回答是以GTK 2为基础,因为我已经花了很多时间使我们的GTK 2主题很好地工作。它看起来就是我想要的样子。每次GNOME发布新的GTK 3时,他们都会对GTK 3的主题做一些手脚。而我花了好几周的时间试图让这些主题相匹配。这样,一个GTK 3应用程序在我们身上看起来就像一个GTK 2应用程序。而每次GNOME都会改变一些东西。正如我所说的,GTK 3似乎并不像GTK 2那样能够很好地进行主题设计。GNOME似乎已经转向有一个硬性规定的主题,并且鼓励你不要去改变它,而在GTK 2中你总是有你想要的主题。我已经创建了一个有效的 GTK 3 主题,它与我们的 GTK 2 主题相呼应。每当这个时候,GNOME就会在GTK 3中做一些我无法在GTK 2中复制的事情。或者与我们的主题有严重的冲突。然后我不得不经历这样一个阶段,试图使两者看起来尽可能的相似,因为人们会注意到这个应用程序看起来有点不同。你不一定明确地注意到它,但在潜意识里,它感觉不太对。
最大:这是一个真正的挑战,不是吗。这是你在Mac或Windows上不需要做的事情。
西蒙:不,因为只有一个工具包,对。而最近进入的另一个东西是Qt。因为新的PDF浏览器--当我们这次推出的时候--我是说Xpdf是如此的老旧和过时,我们需要摆脱它。这是我第一天就列在清单上的事情之一,我们需要一个新的PDF浏览器,我终于开始着手做了。我尝试了所有可以安装在树莓派上的PDF阅读器。我从外观和感觉的角度看问题,它的性能如何,它是否能做到--因为Xpdf的界面是边上的一个页面列表,而不是能够继续滚动页面,就是这样的东西。而且它需要有现代PDF阅读器的感觉。最好的候选者是Qpdf viewer,它是一个Qt应用程序。所以它看起来不像平台上的其他东西。所以我的下一个挑战是,我需要让Qt的主题看起来尽可能的像我们的GTK主题。那是几周的工作。同样,因为我已经建立了这个应用程序,可以改变诸如窗口设置和窗口的外观设置。因此,如果你改变了里面的东西,就必须进行定制,以确保它能改变[Qt配置文件]。我还是很沮丧--我已经设法让它们看起来基本相同了。有一件事我做不到,那就是自动捷径。所以当你按住Alt键时,下划线会出现在菜单的快捷键上。Qt并不支持这个。实际上,我确实花了几天时间来研究Qt的代码--我把这个加入到LibreOffice中。LibreOffice没有这个功能,直到我把它添加到它里面。
最大:LibreOffice实际上是基于什么的。
西蒙:LibreOffice是它自己的,完全不同的工具箱。它不支持这个自动加速器的高亮,所以LibreOffice的代码是由我来写的。因为我决定,我们需要它。我把它上传到上游。他们说,"哦,这是针对旧版本的--你能不能针对新版本做。"我说。"不,我真的没有时间这样做。在这里,你想怎么做就怎么做--这是为我们而不是为你。"在大约一个星期内,LibreOffice的其他人抓住了这个他们一直在等待有人写的代码,并把它拉到了[最新]版本上。似乎我已经做了人们一直在等待的事情,这是相当好的感觉。我研究过为Qt做同样的事情,但要添加它将是一场噩梦。钩子不存在,无法做到这一点--信息告诉你按键在哪里被按下了。我花了几天时间来研究它,然后决定,我只能在没有它的情况下生活。这就是Qpdf浏览器和平台上其他东西的主要视觉差异--它的所有加速器下面都有下划线,而且你不能把它关掉。在某些时候,我们可能会用GTK来重构整个东西,但这是个大工程。
最大:用GTK重写Qpdf查看器,究竟要花多少功夫?
西蒙:说实话,我不知道。这是Eben让我考虑做的事情。PDF的实际渲染都是由一个第三方库完成的。所以这很好--只是围绕它重新创建整个外壳。而这个外壳并不十分复杂。你已经有了一个工具栏,你已经有了一些按钮,你已经有了一些菜单。这在很大程度上取决于,那里有多少个偏好对话框,因为你必须重新制作每一个对话框。
最大:从本质上讲,你将不得不去重写整个界面。
西蒙。 是的,重写整个事情。你不可能用自动程序来做,你必须用手来做。所以,是的,我认为这将是一个太大的工作。但是,这将是很好的,只是为了摆脱下划线。(笑)。我们想让我花三个月的时间来摆弄这个,以摆脱下划线吗?可能不会,可能有更好的事情可以让我花时间去做。
最大:它是否真的有标签式阅读?
西蒙。 我想它是这样的,我不确定--我从未打开过它。
最大:另一件事--我个人曾在Linux PDF浏览器上为填写PDF表格而苦恼。这是一件对办公室工作很重要的事情,比如政府。
西蒙:是的,我知道。我必须检查一下,我从来没有试过。
最大:这个特殊的功能似乎很难做到。
西蒙:我会看一下的--这是个好问题。
最大:重新回到Raspbian桌面。你还打算修复哪些问题?
西蒙:现在我已经为它工作了近四年。我想我已经得到了它的大部分,我希望它是这样的。我认为我们现在正在考虑做的是定制一些更多的图标。图标是一项非常大的工作--一个图标需要大量的工作。你必须确保它在所有不同的尺寸下都能工作,你要在12种尺寸中的每个像素层面上进行所有这些[按摩]。因此,我们所有的系统图标都完成了,我想我们的下一步将是工具条的图标。我们目前使用的是一个后备主题,所以它们来自于--我想我们目前使用的是GNOME的后备主题。我们要做的事情是,看看LibreOffice、文本编辑器和PDF查看器中的工具栏,以便这些实际上开始与我们的外观和感觉一致。
最大:因为LibreOffice使用他们自己的图标...
西蒙:有一套标准的图标,是为桌面环境定义的。像剪切和粘贴,以及文件和复制,它们都是标准。有多个图标主题,它们都有自己的解释,然后LibreOffice在此基础上添加一些自己的图标。他们使用了很多的图标主题。所以你已经有了这样的问题,你有两个设计师在做图标,他们看起来不一样--这也是我们试图避免的事情。我们正试图使所有的图标看起来像来自同一个地方。因为苹果的所有图标看起来都像是来自同一个地方。大多数情况下。这只是试图获得视觉上的一致性。所以,工具条图标是我认为我们要看的下一个领域。就整体外观和感觉而言,我认为我们几乎已经到了人们已经习惯了它的外观的地步。我考虑在未来做的是苹果公司的做法,当他们从哪个版本的MacOS转移到--苹果公司有一个相当大的UI变化。
最大:他们曾经做过这种自然材料的事情,然后他们就搬走了......。
西蒙。 他们有一个字体变化。我想当他们从猫移到山时,他们改变了字体。
最大:他们不是用Helvetica吗?
西蒙:不,这不是系统字体。我不记得了。他们对字体进行了修改,并对用户界面进行了一些调整。这些调整并不大,但它把一个已经有十年历史的用户界面设计搬到了这里,而且它突然提高了一点。
最大:焕然一新的设计。
西蒙:正是如此。我不打算改变我们的整体外观和感觉,因为我认为它现在已经很好了,但我们正在考虑也许我们会做类似的事情--当我们转移到Buster[译者注:Debian的下一个版本]时,显示我们已经做了一个新的版本。有一点令人沮丧的是,当我们从Jessie转移到Stretch时,没有人真正注意到。(笑)因为在视觉上没有任何区别--它们看起来完全一样。"哦,我们现在有了Stretch--太好了。有什么区别?嗯,它看起来是一样的。"
最大:也许你可以做一些不同的背景图片?
西蒙:背景图片很可爱--它们是由这里一个做了很多摄影的人完成的。而且它们很华丽。我们一看到它们,Eben和我就坐下来,我们看了看,有路的那张--我们说那将是背景。虽然我很喜欢这幅画,但我现在已经看过很多了。有趣的是--每当我看到树莓派果酱或代码俱乐部的照片时,这是我的桌面设计之一--看到人们正在使用它,这是一件很好的事情。但他们总是有相同的桌面图片。这就像:我们已经放了很多其他的,试试其他的......!这是我们在新的[版本]中可能会更新的另一件事。我确实写了一些东西来随机改变开机时的桌面背景,这是有人建议的事情之一,但我在完成后被其他事情分散了注意力,所以我从未真正启用它。这是一个很好的观点--我会把它打开,以防人们需要它。其他一些图片很可爱。
就整体外观和感觉而言,我对它很满意。我们正在考虑做的另一件事是,在第一天,我有一个清单,列出了我希望在图像中拥有的标准应用程序。我们现在已经到了这个地步--比如有一个办公套件,有电子邮件,有一个漂亮的PDF浏览器,显然我们有所有的编程工具,一个漂亮的文本编辑器,但其中仍然缺少一个GUI中的多媒体播放器。实际上,我们还没有推出其中一个的原因是,我们想拥有与Chromium中视频播放相同的硬件加速,等等。从第一天起,这就在我的清单上了。我们现在实际上正在进行这项工作--我不能保证它将出现的日期,但它实际上正在进行中,我希望能很快看到它。这是我觉得我们缺少的一个东西。它是基于VLC的。
最大:这将是绝对精彩的。它是最好的播放器之一。里面没有广告。
西蒙:这是个好产品。它可以播放一切。我在家里使用它,我在我的Mac上使用它。这是显而易见的事情。他们[已经开始在代码中启用硬件加速]。
这是我认为最后一个应用程序,我真正想看到的是,我们还没有放进去。PDF阅读器正在更新,有了它,我们就有了一个与你在Windows或Mac上得到的功能集相媲美的功能。这就是我想说的地方。所以现在人们期望在电脑中找到的东西。我想确保我们拥有所有这些东西。当然,我们现在在最后一个版本中引入的另一件事是推荐的软件应用,这也是我想在相当早的时候做的事情。因为添加和删除软件,如果你是一个有经验的用户,你知道[如何使用]apt,那就可以了。我很早就添加了一个GUI的添加和删除程序,这是相当多的工作来整理,我不记得它叫什么了。当我第一次看[它]的时候,UI有点像一场恶梦。我又一次做了这件事,我看了所有的软件包,找到了一个在外观和感觉上最适合我们的,但[几乎没有人]使用它。因为里面有大量的程序,而且没有关于哪些是好的程序的信息,也没有关于它们实际上可能做什么的信息。事实上,你可以在其中进行系统更新和其他工作。但同样,没有人为此而使用它,每个人都使用命令行。这很好。但是我觉得--很多年前,在我开始工作之前,我们有Pi Store和类似的东西,那是一种死亡。
最大:实际上,Pi Store死亡的原因是什么?
西蒙:我想人们只是不再支持它。我不知道它是否曾经有很多东西。我认为它是由第三方提供的,它只是停止被支持。我不认为这是一个有意识的决定......
最大:它从未真正起飞过......?
西蒙:不,我认为。人们已经习惯了在移动设备等平台上的应用商店,实际上现在在Mac和Windows上也是如此--Eben总是说的一件事是,整个下载包部分是关于桌面的,部分是关于软件的策划。关于提供我们认为是好的软件。到目前为止,我们能够做到这一点的唯一方法是把它全部放在图像中,因为人们不会找到它。因此,随着人们为我们提供的软件,图像已经越来越大,越来越大。人们为我们提供这些软件是很好的--我不想阻止人们这样做--我们的一些东西对我们的用户来说是免费的,而其他人则需要付费。这真是太棒了。
最大:Wolfram的东西...?
西蒙:Wolfram的东西。RealVNC。这是商业软件,Pi用户可以免费获得。我们非常感谢有关公司这样做。但是,我们把这个软件提供给人们的唯一方法是,"好的,我们会把它添加到图像中"。而现在的图像正在爬升--现在的图像是1.75GB。这是大的。我知道很多人认为,"是的,我们现在有快速的宽带。所以谁在乎呢。"但我还记得,当时下载一千兆字节的文件需要三四个小时。
最大:另外,树莓派基金会想去的一些国家也没有这样的宽带。
西蒙:正是如此。所以我觉得这太大了。推荐软件的目的是把下载的图像的大小降下来,把菜单中的东西的数量降下来,只是和尝试把事情简化一下。为什么仍然让人们知道,"嘿,有这些伟大的应用程序--它们是免费的,安装它们很容易。你为什么不给他们一个机会"。但不要让每个人都一直下载它们,这总是让我觉得有点不公平:"你必须下载我们说你必须的所有东西"。
因此,是的,我认为这是一个很好的地方--我们实际上有我们自己的小应用商店,其优点是所有的应用都是免费的。
最大。 实际上,这对新手来说也是非常重要的。Linux - 它的工作方式确实与Windows有点不同。在Windows上,你下载安装程序,然后运行它。我认为Linux的方式实际上要聪明得多,有软件包管理器。
西蒙。 apt很好,但我的目的之一是,人们不应该使用终端。又是[老Linux用户]。"你为什么不教人们使用终端?"- 好吧,他们不应该使用终端,他们不习惯于使用终端。终端就在那里,如果你想使用它,这就是为什么它在任务栏上,因为它是一个有用的东西。但是对于那些只见过Mac或Windows PC的人来说,他们突然要开始输入东西来安装程序的想法--不。他们可以稍后再去做这个。我们的设计目标之一一直是--人们不应该看到终端里面发生了什么。这一切都应该是点和点击。
最大:你只是想要一个简单的入职。
西蒙:正是如此。如果他们想玩的话,这些东西都在那里,都在引擎盖下面。如果你想了解一个Linux系统是如何配置的,或者X桌面是如何配置的,去看看我的改变配置文件的应用程序。因为那会告诉你,这些文件在哪里,你需要做什么,文件中重要的行是什么。我想,我的C语言可能不是世界上最伟大的学习工具,但如果你能读懂我的C语言,你就能看到--这是一个好地方。那么,你如何改变系统字体--"哦,如果你想改变系统字体,这里有一个函数--那是做什么的"?
如果你到了学习编程的时候,你想读一些示例代码。我试着写一些合理的可读性的代码。你可以看一看,然后从中学习。这几乎是一个帮助人们学习如何配置Linux桌面的工具--除了本身是一种方法之外。
最大:你之前提到的一件事是Buster,即将发布的Debian版本。你希望它在总体上和在Raspberry Pi方面有什么样的变化?
西蒙:我没有大量研究过Buster。当我们从Wheezy转到Jessie时,因为systemd,我们有了很大的变化。
最大:我认为这对启动速度非常重要。
西蒙:是的,启动速度产生了巨大的差异。我没有深入研究过Buster,但我不知道有任何类似的巨大变化。Buster似乎更多的是进化,而不是革命性的。我认为所有这些东西--[如我所说]大多数人都没有注意到Jessie和Stretch之间的变化。我认为从用户的角度来看,Buster不会有任何巨大的变化。我认为变化主要是应用程序之间的进化。但是我还没有做大量的调查。只是为了给你一个概念--Buster可能要到明年第一季度才会冻结,它可能会在明年第二季度左右成为稳定版本。当我们做Jessie的时候,我们已经落后了很久。我想我们的Jessie版本比Debian的晚6个月左右。我们更接近,我想我们比Debian的晚两个月。而我希望这次也能在同样的[时间跨度]。所以我打算在明年年初的上半年开始关注Buster。我将开始关注我们需要移植到Buster的内容。从我的角度来看,很多东西都是试图确保主题设计仍然有效,确保一切看起来都是正确的,确保配置的东西没有改变。虽然LXDE没有很大的变化,因为它没有被大量的积极开发,但还是会有变化。而且会有一个新的GTK 3,我现在甚至不用看就能知道,我可能会花一个月的时间来尝试让一切都在GTK 3下正常工作。一半的功能都会改变,而且会有不同的东西......我以前也经历过。我希望在Debian之后的一个月左右的时间里,我们就能用我们自己的Buster版本上线。我们现在已经有了几次这样做的经验,所以我们知道它是怎么回事。所以是的,我们希望明年在Debian之后很快就会推出Buster。
最大:我们谈到了一致性,我们谈到了访问软件包的简单方法,策划的软件包,以提供一套好的默认软件包。你觉得现代Linux桌面环境还缺少什么?
西蒙:还有一件事值得一提,那就是 "启动向导"。这是我们想做的事情,并试图使人们第一次打开的实际过程变得更[容易]一点,以便进行设置。
最大:我相信你在启动向导的末尾有一个启动推荐应用程序的链接?
西蒙:我们目前没有,但这是我们考虑做的事情。启动向导是一个有趣的事情,因为它实际上是从为WiFi设置一个国家的要求中发展起来的。对于5GHz。如果没有这个,我们就无法认证我们的无线硬件--如果你想获得WiFi认证,你必须强迫用户选择一个WiFi国家。我们玩了各种方法来做到这一点。从用户的角度来看,这些方法都不是特别理想。我们还有一些事情,比如--很多Pi用户从未改变密码。在过去的几年里,我们做了各种事情,试图提高安全性--使Pi上没有任何缺口,从而使人们不能使用默认密码SSH进入,等等。我们不得不这样做,这让我很恼火。人们希望做犯罪的事情也让我很恼火,但这就是生活。在一个理想的世界里,我们不会不得不这样做。我们必须这样做,这是一种耻辱。我们一直试图保持一种平衡,既不因安全问题过于令人厌恶而使用户感到不安,也不使人们的Pis有可能被接管并被用于恶意目的。我认为每当我们做出改变时,我都会密切关注事后论坛上的评论。只要有一半的人说 "你走得太远了",有一半的人说 "你走得还不够远",那么我们就做了正确的事情。因为他们永远不会都说 "嘿,你做得很对"。你永远不可能让每个人都满意,当然,像安全这样的事情。因此,我们想尝试并找到一种方法--再次不强行灌输给人们[喉咙]--"你想改变你的密码吗。"这也是其他人建议的。
我在玩Linux的本地化代码--设置键盘和设置类似东西的方法。同样,对于一个用户,一个以前没有见过这种东西的用户来说,这是很复杂的。我开始想,也许我们可以把这些东西整合到一个地方。创业精灵就是这样发展起来的。它的第一部分是我去整理,"好的,我可以要求用户设置的最小数量的东西是什么,这将意味着在一天结束时,他们有工作的WiFi,他们有正确的语言,他们的键盘是正确的,这些东西。而我能给他们做的最低数量的控制是什么。"这样做的结果是,在某些方面有相当大的限制性--我知道我们会收到这方面的投诉--[例如,如果]我在日本,但想用英语来使用我的Pi,但我不能。我知道你不能,但我事先说过--我们没有取消任何旧的配置工具,它们仍然都在那里--但同样,这是为大多数有直接使用案例的用户准备的,他们现在只是说,"我在这个国家,我用这个国家的语言使用我的Pi,我的时区是这个国家的这个城市。"他们不必再去看那些巨大的其他东西了,否则他们就必须涉足这些东西了。
我在里面弄错了东西--发生了一件有趣的事情:在Linux中,国家和键盘代码之间没有自动映射。很多键盘只是使用国家代码作为它们的名称,很多则没有。我没有注意到没有一对一映射的问题是多么普遍。因此,当我们推出这个产品时,我第一次知道这个问题是阿根廷的一个人抱怨说,他现在在他的键盘上打字,打出来的是阿拉伯语。我去看了看,发现 "好吧,你说得很对--因为阿根廷的国家代码是AR,所以没有AR键盘,有一个ARA键盘,中东的每个国家都在使用。好吧,我们需要解决这个问题。"实际上有人向我指出,在Debian本身没有数据库,唯一有数据库的地方是在Debian安装程序中。有人很有帮助地指给我看。这就是我上周所做的,拉出那个数据库[并将其加入]。所以,下一个版本的键盘应该更准确。这就是那种只有当你把东西推出去,世界各地成千上万的人开始使用它,并开始讲述他们遇到的问题时,你才真正发现的东西。在所有这些方面,我知道没有办法在第一次就把它推出去并使之完美。在这样的情况下,得到错误报告的反馈真的很有帮助。他们帮助你看到你所错过的部分。
很明显,我们在英国。我不能测试东西的德语翻译。因为我看不懂德语,好在我能看懂法语,我可以看懂一些德语。Linux中的本地化实际上是一个巨大的问题--既然你问的是问题。不是说我认为我可以解决它,但我认为我可以做一些调整来使它更好。对本地化的支持并不像它应该的那样好。我再给你举个例子。有一个叫Zenity的应用程序。而Zenity是用来从shell脚本中创建GTK对话的。你可以对它说 "给我创建一个密码对话框,或者给我创建一个列表框或类似的东西"。然后Zenity就会创建一个用户可以在GTK中进行交互的控件,所以它可以匹配东西。我们用这个来做一些事情。我注意到在一些Zenity对话中,我把系统切换成了德语,而Zenity对话框中的一半文字会变成德语,一半则保持为英语。我查看了Zenity的本地化数据库,里面的所有字符串都有德语和法语的翻译。我不明白为什么有些东西没有被翻译,所以我花了几个小时去查看代码。结果发现,在与Stretch一起发布的Zenity版本中,有一半的翻译字符串是坏的。所以代码永远不会正确翻译字符串。
最大。 它们怎么会坏呢?
西蒙:我认为所发生的事情是,人们一直试图从一个做事的系统转移到另一个做事的系统,并且已经走到了一半。但没有人注意到。在我看来很奇怪,在任何时候都没有一个德国Pi用户来找我说。"嗯,等等:为什么盒子里的东西只有一半是英语,一半是德语?"
最大:我认为用户已经习惯了电脑不工作。
西蒙:这正是问题的关键。当然,对于Linux--我有一个坐在我旁边的同事,他是一个染色的Linux爱好者,如果你强迫他,他不会碰Mac或Windows机器--他有乌克兰血统,他经常用不同语言进行测试。我说:"你有没有注意到,这些对话框中的文字一半是乌克兰语,一半是英语?"而他说。"嗯,这就是它的工作方式。"我说:"不,不应该是这样!"这一点现在已经解决了。在Zenity的最新版本中,有人注意到这一点是坏的。所以现在我们在Stretch的基础上推出了Zenity的破译版。我们已经做了一个backport来使它工作。但就是这样的事情。本地化是很容易出错的。有时人们会提交关于我们代码的拉动请求。如果人们提交的拉动请求是为了修复错误和类似的事情,我很乐意接受它们。当人们很有创意地决定,我要为你写这个新东西--然后总是[我将发现]他们没有把本地化支持放进去,以及类似的事情。因为他们没有想到要这样做。他们只是用他们自己的语言来做。 那些考虑在Linux中提供本地化支持的人--它实际上是一个相当好的系统,它工作得非常好。而且有很多工具可以帮助你做好它。但是,正如你所说--当它不工作的时候,人们往往不会抱怨。他们只是接受,"嗯,这不起作用"。没有理由为什么不能很好地工作--因为[Linux]有办法做到这一点。因此,这是我希望在未来看到做得更好的事情之一。我们正在努力做出改进[这里]。我认为Pi在英语中已经做得非常好了。当我看我们的菜单时,我很恼火--我有时会把它切换到其他语言进行测试--其中四分之三的内容已经被翻译成德语或法语,而有一些东西--四或五样东西--显然还没有被翻译。这对我来说就是--这很烦人,我希望能做得更好。有一些自动化的网站可以帮助你做翻译,人们向我指出,你只是把你的代码放在那里,人们就会来免费翻译它。我想建立这样的东西。这是在要做的事情的清单上 ....
最大:......但你必须平衡你的优先事项。
西蒙:正是如此。但我认为就Linux桌面而言,国际化支持,如果能做得更好就好了。我们作为一个公司不可能去把所有这些东西都翻译出来。我们依靠用户为我们提供翻译。而目前用户可以提供翻译的机制很尴尬--就是在GitHub上做拉动请求。能够做到这一点的人相对较少,而相对较多的人能够将我们的一个应用程序翻译成不同的语言。因此,我希望我们在未来能做得更好。
总的来说,我们的Linux桌面我认为是非常好的,我认为我们已经达到了我想要的水平。在这个阶段,我并没有想对它做出巨大的改变,我认为大多数我在第一天看到的、[被记下的]不好的东西,[现在已经被修复]。
最大:你有一种成就感,...
西蒙。 我喜欢做的一件事是把Wheezy在第一天的样子和我们现在的样子放在一张卡片上---那是一台不同的电脑。而且,是的,我确实为它感到非常自豪。就我的职业生涯而言,桌面是我感到最自豪的工作,因为其中95 %是我自己的工作。我实际上可以看着它并说。我做了设计工作,我做了实现工作,我写了代码,我建立了包。我和一个同事一起工作,他做了很多图像的创建工作,以及一些Linux底层的东西,我还和一个平面设计师一起工作,他做了一些图标设计。但我觉得,桌面是我的宝贝,这是我创造的东西。我真的为它感到骄傲--我觉得我有[权利]这样做--我觉得现在使用Pi的体验可以与使用Windows机器或Mac相媲美,这就是我们想要的。
最大:这对使Pi更加友好和方便,成为每个人的平台很重要。
西蒙:正是如此。Eben总是说他希望Pi成为一个通用的计算机。而桌面是其中的一个重要部分。我们现在正处于这样一个阶段:桌面不会阻碍它成为一台通用计算机。而我认为四年前的LXDE会给一些人带来进入市场的障碍。桌面是我最引以为豪的成就--这是个好地方。
最大:你究竟是如何为你所做的工作获得灵感的?感受、想法、...
西蒙:灵感主要来自于我看着某样东西,然后去。"上帝,这真的很烦人。我一定能把它做得更好。"这不是那么多积极的灵感,而是对那些不能很好地工作的部分感到沮丧。这听起来像是一种非常消极的看待方式。但是。我坐下来想,"哦,上帝,这真的是最好的方式吗?"然后我坐下来想,我可以做这个,我可以做那个。
我不倾向于看其他事情是如何做的。我倾向于看--什么是我能做的最短的动作序列,以达到我想达到的目标?我想让用户做的最少的事情是什么,以实现他们想做的事情。这就是你想要做的事情。
最大:削减,而不是增加...
西蒙:是的,它是把东西拿出来而不是增加步骤。许多年前,我做过一些关于手机用户界面设计的工作。事实上,那是在微软那里。我在一家合同研发公司工作,我们正在开发即将投放市场的第一个视频电话。我去见了微软在西雅图的GUI设计团队--那是1999年左右,微软在用户界面设计方面不被认为是最先进的。如果你想找一个糟糕设计的例子,你可以用微软的一个,而不是苹果的,因为苹果的设计很好。当然,他们现在已经好了很多。他们有一个关于用户界面设计的准则清单。这让我很困惑--因为它们是关于如何设计用户界面的很好的指导方针--而微软却在生产如此糟糕的用户界面。"你们有这些出色的指导方针,这些指导方针和最终产品之间到底发生了什么问题?"
但其中最重要的一点,让我记忆犹新,而且我现在一直坚持的一点是--让我把话说清楚--"为用户提供选择并不能替代前期的正确决定"。
这是很容易做到的事情,说。"好吧,我不知道我们应该这样做还是这样做,所以让我们放一个框,让用户来选择"。我看到过很多次,的确,在我以前的UI设计生涯中,当我为合同研发工作时,总是有这种倾向,"哦,好吧,我们不知道用户在这里要做什么,所以让我们给他们选择。让我们在这里使它成为可定制的,所以他们可以做任何他们想做的事情"。我在这里的例子总是光盘播放器。当CD播放器刚问世时,你可以对你想播放的曲目进行编程。例如,首先是第一轨,然后是第五轨,然后是第三轨,然后是第四轨。每个人在拥有CD机的前20分钟都是这样做的。然后他们就再也没有碰过它了。如果你买了一台CD机(今天)--在我拥有的最后三到四台CD机上,你不能再为它们编程了,因为他们意识到没有人愿意这样做。他们给用户提供了这种功能,只有极少数用户使用过,但它是为每个人提供的。这也是同样的事情--如果我在前期就把它做对了,我就不必把这个决定推迟给用户,因为我无法做出决定。UI设计的一个重要方面就是要有勇气去做。我认为这就是你的做法。我认为这是对所有人都最好的方式。你不可能每次都是正确的。你必须接受,有时你会从用户那里得到如此糟糕的反馈,你会想。好吧,那是错误的,我应该用另一种方式来做。
而且这种情况在Pi上发生过几次。我已经删除了时钟设置。"你把时钟设置拿走了!!""好吧,我把它们放回去。"这是试图把自己放在一个心态上,即OK,一个普通人使用这个的目的是什么,他们实际上想做什么,他们实际上想实现什么,他们想去哪里。我怎样才能帮助他们到达那里,而不在他们的道路上粘上许多决定。你想怎么做?你想做这个还是那个?他们并不关心这中间的事情,他们想在这里。而这是他们如何到达那里的问题。我如何让他们尽可能快地到达那里?这就是它的首要任务--它是关于,让我们为你做出正确的决定,而不是让用户自己做出决定。这听起来确实有点独断专行,就像 "我知道什么对你最好",但另一方面,这正是可用性设计的意义所在--它是关于对人们来说什么是最好的感觉。
最大:这样,事情就能直观地工作,而不需要用户投入大量的时间来学习事情的运作方式。
西蒙:是的。要谈一点关于UI设计的理论,有各种关于UI设计的教科书,但最好的一本叫《日常事物的心理学》,现在我认为它已经改名了。如果有人想学习UI设计,《日常事物的心理学》是你唯一需要阅读的书。
最大:它的封面上有一个手柄错位的茶壶?
西蒙:就是这本,就是这本书。它所解释的事情之一是,在你的大脑中,你对某一事物的运作方式做了一个地图。只要这个心理地图与你面前的事物相匹配,而且它们的行为方式相同,那么你就可以凭直觉使用它。在某些情况下,它就像一张实际的地图一样简单。如果我从这里向左走,我想看到屏幕向左移动。我不想按下左键,然后屏幕突然向上滚动。就是这样的东西。这是使你头脑中的东西像电脑一样工作,使电脑上的东西像现实世界中的东西一样工作。如果你能做到这一点,这就是你如何让事情变得直观的原因。这就是让事情像用户期望的那样工作。现在的用户理解计算机的范式。他们明白,我移动鼠标来移动光标,我按下一个按钮。你不需要教人们这些,而在30年前,没有人会知道这些。这一点已经确立了,所以不要不必要地摆弄它,因为它没有帮助。只要试着保持一致。如果你在窗口上有一个按钮,那么让它看起来像一个按钮。这就是苹果公司我认为在他们最后一次重新设计iOS时犯了一个可怕的错误,他们试图让屏幕看起来更漂亮,但在这个过程中他们把所有的按钮都拿走了。所以现在你只有文字了。现在每个人都知道,一个按钮看起来就像一个字。但是当他们第一次这样做的时候,人们就会说:"所有的按钮都去哪了?"。你可以欣赏这种简单的设计,因为它们看起来很可爱,但从可用性的角度来看,这并不是一个好主意。
最大:没有暗示了,这些是按钮。
西蒙:正是如此。就是这样的事情--如果某个东西是一个按钮,让它看起来像一个按钮。不要让它看起来像别的东西。你要做人们所期望的。当然,你也可以做相反的事情。你做人们不期望的事情。如果你做人们不期望的事情,他们会注意到它们。因此,如果你想吸引别人的注意,就做一些他们没有想到的事情。这方面的明显例子是调出一个对话框--你改变了屏幕,他们将不得不注意到这一点。这是利用用户对将要发生的事情的期望,你可以利用这一点让他们感到舒适和熟悉,或者你可以利用它来吸引他们的注意力,让他们知道一些[你想让他们能够]知道的事情。我认为背后的心理学是相当有趣的。我想这是很多Linux程序员没有从这些方面考虑的地方。
最大:我认为主要是要做一些有效的事情。
西蒙:没错,是的。它几乎是按照他们的心理地图工作的。但是他们的心理图谱并不在用户的头脑中。所以对他们来说是有意义的,因为它背后的数据库就是这样工作的,这就是问题所在。管理数据库是我的问题,我需要做这个。用户不应该担心这个问题。我需要以一种对用户的现实模型有意义的方式向他们展示数据库,而不是以计算机的模型来展示里面的东西。
最大:我知道你的意思,对。有时在一些应用程序中,你采取了几个步骤,一个接一个,但他们把所有的步骤放在一个对话中。你会感到困惑。
西蒙:你会发现当你开发软件时,你一开始就把所有的东西都扔到屏幕上--我需要做这个东西,我需要做[那个]东西,我需要做[那个]东西。你把它扔到屏幕上。然后你应该做的是回头再看一遍,并说 "好吧,这是我能做的最好的方法吗?这是最容易做到的方式吗?当然不是--你不需要用这个,我可以把这个按钮隐藏起来,因为没有人需要看到这个。"我认为很多Linux的开发都达到了这样的程度:所有的东西都在屏幕上运行,就完成了。而他们没有做最后一步--我怎样才能把它擦亮,让用户看起来更漂亮。
最大:这就是人们注意到Linux的原因--它更粗糙。
西蒙:正是如此。它没有得到擦亮的机会。而我正在做抛光工作。这基本上就是我的工作--有一些东西是我从头开始写的。但是,正如我之前说的,如果没有LXDE的作者,我将没有任何东西可以用,所以所有的功劳都归于他们所做的,他们的工作非常棒。但有些东西就是没有那5个%的抛光。这就是让它从一个好的软件变成一个伟大的用户体验所需要的东西。
最大:根据帕累托原则,这5个%实际上需要80个%的时间......。
西蒙:这可能需要很多时间,但是,是的......
最大:实际上,你从用户那里得到的最令人惊讶的反馈是什么?
西蒙:令人惊讶的反馈......我认为我感到惊讶的是当人们难以置信地赞美。我认为,因为每隔一段时间就会有人说一些话,你知道--目前有几篇博客评论说,桌面电脑[变得]多么神奇,它如何成为一台真正的计算机,这应该是计算的标准,......当人们说这样的话时,我才感到惊讶。因为我认为我所做的是好的,但在一天结束的时候,我是一个坐在办公室里用一台电脑的家伙,四年前他从未使用过Linux。
最大:这也许是一种优势。
西蒙:是的!我还没有接受这一切都被打破的事实。一定有办法让它变得更好。而且我认为这种反馈对我来说仍然是很惊讶的。我不惊讶的反馈是,当我改变了一些东西,人们会说。"不,你不应该这样做"。人们对改变非常抗拒。有时我认为这是对的。有时--又是这种不知道Linux的方式的经验,但我会说。"事实上,我们正在做的事情是不对的,我们应该这样做,肯定是这样的。"然后你会发现,每个人都已经习惯了Linux的做法,所以改变它,即使这样做可能更好,也不是正确的事情。
最大:当你在论坛上得到反馈时,有一种偏见--它更多的是你的参与用户,而不是普通的孩子。
西蒙:正是如此。每当反馈非常非常积极时,往往来自新用户,我想。
我曾被骂得很难听,但不是在我们的论坛上。当我们真正发布Pixel时--当我们第一次称它为Pixel[译者注:Raspbian桌面]时,是在Register的论坛上(这是一个科技网站)。那里的评论是相当直率的。其中一个人对我进行了粗暴的抨击,就像--我想他叫我半位数。
最大:半位?
西蒙:半吊子是一个相当标准的辱骂术语,他称我为半吊子,使之更具有计算性。他解释说,"把整个名字放在LXDE的重皮上,是把我的作用吹得太过了。花了这么长时间才做了这么点事"。你知道的。在某种程度上,我可以理解他的观点--如果你从LXDE到Pixel,基本功能是完全一样的。但我所做的是,我已经应用了抛光。抛光会带来很大的不同。但对他来说不是,因为--我想他说过,"桌面的唯一目的是让你的终端窗口有东西可以放。"你真的不是我的目标市场,他说:"为什么你在上面放了一个大任务栏?这占用了一些我可以放终端窗口的空间。"你真的不是我的目标市场。这不适合你。如果你想要的是一个大屏幕的终端窗口,在Linux世界里有很多其他地方你可以得到,不要来这里。你所做的事情不会让所有人都满意。但是,当你看到人们的反馈时,他们实际上清楚地理解了你所要做的事情,并清楚地真正欣赏[它]。这是当你看到感激之情和对你所做的事情的理解程度。与那些明显不理解你所做努力的人形成对比。在某些情况下,不理解有多少工作已经进入了它。因为你没有做他们想做的事。这就是你收到的那些信息,当人们说。"你让这个东西比以前好用多了。而且所有的变化都是积极的"。当你收到这些信息时,你就会觉得你所做的事情是值得的。再说一遍--我并不完美,我也会犯错。有些东西会有错误,有些东西会有可能不完美的可用性决定。但我们都在努力使这个产品尽可能地好。桌面是我的宝贝,我希望它尽可能地好,这就是我目前生活中要做的事,基本上。这是我在25年的工程生涯中最有价值的工作。
最大:这实际上是很好的,在一个你觉得很高兴做你正在做的事情的地方。
西蒙:我花了--在我来这里之前,我花了九年的时间,在那里我不得不每天早上把自己从床上拖起来去上班,因为我厌恶我所做的事情。而在这里,我每天早上起来都很有热情地去办公室做我要做的事情。我几乎忘记了你可以有这样一份工作。我想这是不可能的。我真的每天早上都来,我喜欢我的工作。我认为这有很大的帮助,因为我关心这个产品。这个产品几乎是我的一个延伸。这是我的操作系统--即使是在纯粹的自私层面--这是我想使用的操作系统。当我刚开始在Pi工作时,我所有的工作都在Mac上进行。我在Mac上写代码,然后把它下载到Pi上。现在我在Pi上做所有的工作。我使用我的Mac来发送电子邮件和浏览网页,仅此而已。我在Pi上使用Geany进行所有的代码开发,我坐在Pi上打字 ...
最大:你用Model 3 B+吗?
西蒙:哦,是的,它是最快的一个。但是,是的,与x86版本类似--那是Eben在他的Mac上运行的操作系统,那种买入它的感觉真的很好。
这并不是真正意义上的反馈......而是当我看到非洲人的照片或视频,他们用Pi的教室设置,每个人都在运行我的桌面。看到我设计的东西在所有这些地方被使用,这很令人惊讶。
在我职业生涯的前十年,我在合同研发部门做了很多UI设计,但都是为相当专业的产品做的。所以你从来没有真正看到它们在现实世界中被使用。但是有了这个......Eben会去CNN或某个地方,他们在墙上的屏幕上有Pi。他只是喜欢拍下他看到的使用桌面的地方。他把它们带回来并说:"看看这个,他们在这里使用它"。
看到它仍然很兴奋。掐指一算,我是不是在做梦,这些人正在使用我设计的东西。这是一种难以置信的感觉。这让我觉得很值得,即使我不喜欢做这件事--而我确实喜欢。
最大。 说到x86版本,对它有什么计划?你是否计划制作一种替代的Linux发行版供大家使用?
西蒙。 我们将继续尽可能地与Raspbian版本同步进行x86版本的发布。从用户的角度来看,尽可能地保持这两个产品的相似性。两者之间的主要区别是,有一些免费的应用程序,我们在Pi上有,但在x86上没有。我不认为这是个有计划的问题。同样,你会听到有人说,就他们而言,这是最好的桌面/最好的Linux发行版。我并不打算挑战Ubuntu或Debian或其他什么。我只是想让事情变得更美好,如果人们在他们的笔记本上也能有更美好的体验的话 在他们的Pi上,那么这绝对是件好事。我们打算继续生产它,现在是一个相当自动化的过程,在生产x86版本的同时生产ARM版本,所以是的,我们将继续把它放在那里。它的目的是使低功率的人--因为它是基于Debian的--它的目的是使低功率的旧电脑的人能够使用它。我认为它现在已经是一个相当不错的Linux发行版,在它自己的权利中。同样,它是在Debian的基础上加上了我们的皮肤--别误会,这并不全是我们的工作,它主要是Debian,在它的基础上进行了抛光。
最大:你有数字吗,它已经传播了多远?
西蒙。 我们大概有下载的数字,有多少份被下载。我想就Pi桌面用户而言,可能是95 % Raspbian。至于x86版本--我们是作为一个实验发布的。这几乎是一个笑话,因为Eben和我在办公室里坐着聊天。我们到了一个地方,我们对桌面的发展方式相当满意。然后他说。"如果我能在我的笔记本电脑上得到这个,那不是很好吗?我想在我的笔记本电脑上这样做。"然后我开始思考这个问题。我回家了,一个星期六我在家里很无聊。我想--我不知道我们能不能做到这一点。一定有一个LXDE版本的Debian,于是我下载了LXDE版本的Debian。然后我花了大约两个小时,试图让持久性在它上面工作。我创建了一个镜像,可以在我家里的Mac上启动,并以LXDE镜像为基础的持久性。我把它弄好了,然后我想,让我们看看我能做什么。我想那天晚上我已经在U盘上运行树莓派桌面了。我把它拿过来,Eben周末参加了一个会议,周一他来了,我告诉他。我告诉他:"看一下这个"。我把U盘插到我的Mac上,然后把它启动到桌面上。然后他就说。"哇,你成功了。那你准备发货吗?"我说。"如果你认为我们应该。"
这简直是Eben随口一说,而我在家里很无聊,就想:这有什么难的,我去试试吧。结果发现它其实并不难。
最大。 实际上很有意思的是,这样一件大事--你会认为会花很多时间,但并没有,但其他事情--如qPDF ...
西蒙。 是的,这需要时间。在X86图像上唯一花了很长时间的事情实际上是试图得到一个能在尽可能多的平台上启动的图像,因为我们对某些型号的Mac有很多问题。我们有两个困难的平台,即:我家里的Mac mini,和Eben的MacBook。我们希望它能在这两个平台上工作。我在办公室的Mac,是另一代的MacBook--一切都可以在上面运行,每一个图像都可以在上面启动。但我们花了很多时间来尝试和摆弄低级别的Debian BIOS和图像,我们花了几周的时间来处理这个问题。其中很多是我周末在家里做的,在创建Debian镜像方面尝试了很多东西。为了让它能够启动。最终,我们找到了一种方法,可以创建一个镜像,在我家里的Mac和Eben的Macbook上都能启动。这就是我们要发送的镜像,因为它可以在两个参考案例中使用。我想我们遇到的问题是,Debian实际上把实时镜像和可安装镜像分开了--那是两个不同的东西。可安装映像在更多的平台上工作,而不是实时映像。但我们当时是基于实时镜像的。所以我们必须把这两样东西结合起来,让它们既能安装又能在尽可能多的地方启动。这就是困难之处,理论上我们不应该这样做--Debian应该已经为我们做了这些。但实际上,把我们的桌面放在上面是一个相对快速的过程。这个过程在一天之内就启动并运行了。
最大:你把所有的东西都装在里面了,比如魔法师也是?
西蒙。 我们刚刚发布的版本已经包含了所有内容--启动向导、首选应用程序,唯一不同的是我说过的Mathematica,我们不能发货。其他一切都应该是--我们对ARM版本所做的每一个图形用户界面的改变......
最大。 这也是自动的。我想问你的一件事是关于软件包的更新,因为有些用户不知道如何做。是否有任何计划来做自动软件包更新?特别是安全问题。
西蒙:向导里有一个自动更新器。当你第一次运行启动向导时,[Raspbian会被更新],所以你知道你在那个时候已经得到了最新的和最好的。让更新自动进行是一件困难的事情,因为每一个不更新他们的系统的人,因为他们不知道他们应该这样做--你可能想帮助他们--你有另一个不更新他们的系统的人,因为他们知道如果他们更新他们的系统,这里的这个软件包就会被破坏。而那个应用程序将停止工作。这也是我对做出改变相当谨慎的领域之一,因为--提到安全:就像我们做出这些安全改变时一样。我最害怕的事情就是破坏东西。如果有人发现他们的Pi昨天还能用,今天就不能用了,而这是我的错,因为他们拉下了一个更新--这是我的恶梦场景。有几次,我们把坏的软件包放到了repo上,而我没有充分地进行测试 - 这总是发生在我去度假的时候。我去度假了。而我发现,在我度假的第二天,就有错误报告进来了--是关于我们发送的一个包。
最大。 你真的会坐下来修复这些错误吗?你不能带着罪恶感生活吗?
西蒙。 反正我倾向于在家里。在各种假期的第一周,我都在家里修复bug,并试图把系统整理好,因为--是的,我确实对此感到内疚。我不喜欢为人们破坏东西。我对自动更新的担心是,在某些情况下,不是我们自己的错,东西会坏掉。因为--整个Debian的依赖性问题,一个软件包很容易上升到一个新的版本,而我们却没有相关的备份来运行它,所以那个昨天还能工作的软件包今天就不能工作了。
我不想自动做。在我能够确定它不会破坏任何人的任何东西之前,我不会想自动做它。
最大:对于安全关键的东西呢?
西蒙:即使是对安全至关重要的东西。这是一个困难的决定。微软在Windows 10上做了他们的创造者的更新,不管是什么时候--去年?我的以太网在我的Windows电脑上停止工作。这是不可原谅的。在我做这个更新之前,我的网络是可以工作的,而现在却不行了。作为一个相当精通技术的用户,我花了两个小时才让我的电脑[重新运行]。
最大:特别是当你没有得到联网时。
西蒙:正是如此,如果没有互联网的建议,要做诊断是相当困难的。所以我对这个问题很谨慎。这是我们已经研究过的事情之一--某种形式的GUI工具来进行更新。事实上,你可以通过现有的添加/删除程序工具进行系统更新。从该工具的设计来看,它实际上是作为一个单独的应用程序运行的。我没有理由不把它作为一个单独的应用程序拉出来。也许还可以在启动时检查更新,诸如此类的事情。这都是可以做到的,而且我们正处于这样一个阶段,我们将开始关注这类事情。
最大。 实际上,与Windows相比,这是Linux真正伟大的地方。你的电脑不会强迫你做这些更新。这是我非常非常讨厌Windows的地方。它还会关机--想象一下,在做演讲时,它就会关机。这就是你必须要划清界限的地方。正如我们之前所讨论的,你必须为用户做出决定,但你不能强迫用户在他不愿意的时候停止在电脑上工作。
西蒙。 如果你为他们破坏东西,总是会让用户不高兴。即使你是出于好意。还有一些我写的iOS应用程序--有一个填字游戏的应用程序。每隔一段时间,我就会推送更新,我记得我推送的一个版本在某一版本的iOS上出现了问题,而我并没有对其进行测试。你会得到一大群用户,他们对它的损坏感到愤怒,你也会得到一大群其他用户,他们可能更精通技术,他们说:"只是让你知道这个坏了。"几年前的圣诞节,我花了一周时间来修复我的iOS应用程序。是苹果公司弄坏了东西,而不是我,但我必须找到一个解决方法。你几乎对那些在这方面很好的用户感到内疚,他们说:"是的,我知道这很难。"- "不,我明天会给你一个修复方案!"。- 它总是很难。更新是一件棘手的事情,而且很容易破坏东西。
苹果做的一件事,我认为是不可原谅的--在iOS上,当我从iOS 10转移到iOS 11时,他们下载了价值1.5G的图像更新。一旦你连接到WiFi,他们就自动下载,在后台,不问你。你想用我的带宽的一个半G,你先问问我。这是不可饶恕的。我实际上注册了一个错误,并说:这是在下载巨大的数据。他们说:不--这是一个安全更新,你必须拥有它,因此我们必须做一切事情让你在平台上。我说:不,你没有,人们必须为他们的数据付费。有的人每月有数据上限。他们在家里有五部iPhone,都在下载。像这样的事情--你必须取得一个合理的平衡。目前,我们不做强制更新的事情,甚至不提供更新建议。如果我们这样做,可能会很好,但我还没有做出新的决定,我们将如何处理这个问题。
最大。 你是否真的想过要有一种通知区?
西蒙。 我们确实有通知的东西。LXDE的通知功能其实并不好,它把窗口放在了屏幕的角落里。但无论何时我们有一个使用这些东西的应用程序,我都倾向于重写这个应用程序,因为它们看起来并不好。但当然也可以在启动时运行一些东西,看看是否有任何更新,并在屏幕上放一个对话框。有一些事情我们可以做,但这可能是我们将开始关注的一个领域,只是因为我们得到了更明显的东西的底部。
最大:哪些事情使你的开发更容易,哪些事情使它更难?你使用的工具种类。
西蒙:Geany很不错。正如我所说,我现在大部分的开发都是在Pi上进行的。
最大:它也做代码提示吗?
西蒙:是的。Geany几乎什么都做。像它为你拉出函数名称的方式,以及很容易让你找到这样的东西,真的很好。实际上,我现在使用其他编辑器时很怀念这一点。[我使用的其他工具:] Glade--这是一个用于GTK窗口设计的工具。我经常使用它,尽管我不得不从源头上建立旧版本,因为他们现在只支持新版本,而新版本只支持GTK 3,"不,我想要旧版本,拜托,因为我可以用旧版本为GTK 2开发!"
有几个工具对我的工作很有用。有一个叫 "A Widget Factory "的工具。AWF。这基本上就是一个带有所有GTK小部件的屏幕。我有两个版本,一个是GTK 3版本,另一个是GTK 2版本。所以我试图让我的主题在这两个版本之间保持同步,我使用这些。这是一个非常好的方法,可以看到--它们看起来并不一样。
最大。 你是否真的有两个Pi挨在一起,一个运行GTK ...
西蒙:不,因为我可以在两种或三种模式下运行该应用程序,所以我只是在屏幕上有两个窗口。我对主题的目标是使这些窗口看起来是一样的。所以你可以在同一个平台上做。那是相当有用的。Git和GitHub是了不起的。如果没有GitHub,我就会完全陷入困境。我认为GitHub是伟大的。
最大。 内部文件,你是否与源头同步进行?
西蒙:大多数情况下是的。我只是对代码进行注释。我不做大量的外部文档。我们有独立于我的人在做文档工作。我的目的是写一些足够明显的东西,使他们不需要我告诉他们如何去做就能解决。我尝试使用有用的变量名,有用的函数名,在不明显的地方使用注释,代码在做什么,主要是作为对我的说明,而不是其他什么。
其他有用的东西--让我感到沮丧的一件事是,Linux没有一个真正好的比较工具,就一个漂亮的图形比较工具而言。我使用的是meld,这是我发现的最好的工具,但它不如PC上的 "Beyond Compare "那样好,后者真的很好。我发现自己把Pi代码搬到了Mac上,这样我就可以在里面使用Xcode中的比较工具。Xcode的一些功能我用得很多。我想这是我用于开发的大部分工具,我每天都在使用的东西。我想,大概就是这样了。就使生活变得简单的东西而言,结构良好的代码总是好的。我总是试图从我可能要回去做其他事情的角度来写代码。第一次就把它做对总是有帮助的。
最大:你知道这个双系统理论吗,当你建立第一个系统时,你最好把它扔掉?
西蒙:是的。我过去也这么做过。特别是在你经验不足的时候。这是其中一件事,我发现现在当我回去看我在第一年写的一些申请书时,为了Pi,我回去后会说 "哦,我为什么这么做?哦,这很糟糕"。如果我发现了这些,我就会在如今修复它们。我可能会发现,四年后我回头看我现在写的东西,[我也会有同样的感觉]。所有的软件开发都是一个学习的过程。你越走越好,你做得越多,你就越好。你越是了解你的艺术。
GTK是这样一种东西,你越是了解它的小毛病,越是使用它,你就越能使它表现得更好。GTK本身是一个非常有用的工具。作为一个UI设计师,有约束是非常有帮助的。从这个角度来看,GTK是非常好的。任何UI工具包都是很好的--我不会有一个空的屏幕而不得不决定这个窗口要怎么看。我知道这个窗口会是什么样子,因为它看起来就像所有其他的窗口。我知道这些按钮会是什么样子,因为它们会和其他所有的按钮一样。
最大:所以你专注于应用本身?
西蒙:是的。而不是装点门面。这很好,它是独立的。因为所有这些东西我都可以在主题里做。如果我想让我所有的应用程序看起来更漂亮,我可以改变主题。如果我想让应用程序更好地工作,我不必担心让它看起来更漂亮。
最大:作为一个用户,我喜欢应用程序是可预测的,看起来是一样的。你知道WinAMP吗?它看起来并不像一个Windows应用程序。
西蒙:哦,是的,它看起来不像是一个Windows应用程序。那些细小的......是的。我们有一些为我们写过应用程序的开发者,他们想做自己的东西,看起来与其他东西不同。而[每当他们这样做的时候,我都会去]。"不要这样做"。我理解他们想这样做的愿望。我理解使事情看起来像 "这是我的 "的愿望。这是品牌推广,这与我们在桌面上打品牌的方式相同。但这往往对用户没有帮助。这也是我的论点,因为你希望环境一致。而那些想做自己的事情的人在创造一致性方面是没有帮助的。
最大:我想这真的是它背后的想法,不是吗,你想把你自己的名字放在上面。
西蒙:是的,没错。有几个为Pi制作东西的人也这么做。这很好,我试图劝阻他们不要这样做,但到最后,如果他们为我们开发,我不能说 "不,你应该这样做!"
最大:"第十条戒律"。
西蒙:正是如此。
最大:是什么激励着你去发展?
西蒙:是什么激励了我?让它变得更好。这是否已经尽善尽美?如果不是,我怎样才能让它变得更好?这是使用户体验成为我作为一个用户享受的体验。我想坐在那里,发现这对我来说是一个愉快的体验。如果它对我来说是一个愉快的体验,我希望它对其他人也是一个愉快的体验。这就是设计的意义。如果你和任何一个工业设计师交谈,设计就是为人们制造更好的东西。
最大:这是关于消除摩擦。我记得 "日常用品的设计 "一书中关于冰箱的例子,用户会认为有两个旋钮或什么的,一个是深冷冻室的,一个是普通的。而实际上,这是某种奇怪的混合......或者像英国的这些水龙头--上面写着 "小心,极热的水"。但是你应该怎么做呢?
西蒙:工作方式不一样的电灯开关。类似这样的事情。我想我看过一部纪录片,是关于伦敦的工业设计师Seymourpowell的。他们说:一个设计师想让事情变得更好。
最大:是什么激励你进入UI设计领域?
西蒙:那是很多年前的事了。我在大学学习工程。我的专业是软件。但我一直很欣赏好的设计。[例如]我有一台佳能相机,使用起来非常令人满意,因为一切都做得很好。而且我不抽烟。我从来没有抽过烟。但我有一个Zippo打火机,因为它是如此可爱的东西。我花时间思考--我根本没有艺术天赋。我不会画画,我不会画画,我不会勾画东西。我不知道你是如何做出那样美丽的东西的。但我真的希望我可以。我如何把我想创造美丽的东西和做软件结合起来?而这些符合逻辑的地方就是用户界面设计。我面试了剑桥咨询公司,我的第一个雇主。他们向我展示了--因为他们当时刚开始做用户界面设计,而且他们开发了用户界面模拟技术。因此,他们能够向我展示他们设计的hifi,他们有一个屏幕,看起来像这个hifi。你可以点击屏幕上的按钮,一切都有反应。你可以在这个虚拟世界中开发整个用户界面。我看到这个演示,我说:"我想来为你工作,做这个。"我想这就是我得到这份工作的原因,因为我完全被他们所做的事情迷住了。这就是我想做的事。我可以看到一种方法,我实际上可以--如果我可以这样做,我会很高兴。因为这意味着我可以得到制作美丽的东西,但我不一定要会画画、上色和设计。我可以做出这样的美丽的东西。而这就是,我认为,对我来说,这一切都是源于此。
最大:所以它可能就像那些来到树莓派的硬件工程师...
西蒙:当我看到工业设计师时,我总是非常沮丧,我真的希望我能做他们做的事。但正如我所说的,你需要有天赋,而我却没有这样的天赋。
最大:产品设计,如案例等?
西蒙:正是如此。当我在剑桥咨询公司工作时,我最终从一个软件组转到了工业设计组。因为那时我想被认为是一个设计师而不是一个工程师。我记得这在软件工程部的老板那里是一个非常不受欢迎的举动。他说"你正在犯一个巨大的错误。你永远也不可能逃脱。"而我说"这是我觉得我必须做的。"我是一名软件工程师,与工业设计师合作非常密切,我与他们一起进行界面设计。我发现在一个办公室里和那些正在做所有这些我希望自己能做的事情的人在一起是非常刺激的,他们正在做外壳设计、外观设计、铺设图形,以及这类事情。与他们一起工作,为他们创造的产品做出贡献,这是能够自己做的第二好的事情。这就是我对用户界面设计的灵感来源。我想做一些我不能做的事情,然后找到下一个最好的事情,那就是软件中的GUI设计。
最大:你个人希望在Raspbian中看到哪些功能或变化,哪些是你还没有做的,哪些是我们还没有讨论的。也许是一些非常出众的东西,这些东西真的非常难做?
西蒙:说实话,我从第一天开始,就把所有我想做的事情列了一个清单。而我认为我现在实际上已经到了我想做的事情的清单的底部。
最大:最好制定一份新的名单。
西蒙:我想我确实需要制定一个新的清单。我还不太确定名单上会有什么。这是个很难回答的问题。如果你在一年前,或者两三年前问我这个问题,我就会对答案有更清楚的认识。我现在算是走到了我的原创事物清单的底部。所有这些东西都有一个持续的维护任务。每两年,我们就要支持一个新版本的Debian。
最大:我希望这个团队能够成长。
西蒙:在某些方面我不希望它这样--因为我喜欢它。
最大:你真的喜欢摆弄GTK 3来让它表现得更好?
西蒙:我确实坐在那里骂人,但我不会让别人这样做,因为......。
最大:......因为这是你的孩子。
西蒙:......因为这是我的宝贝,我希望它是正确的。它与我有关。有人知道Simon Long为Raspberry Pi做GUI设计。这不是一个不信任别人来做的问题。这是一个问题--我已经花了这么长时间来学习其中的错综复杂的东西,无论如何,我几乎是做这件事的最佳人选。
我在以前的工作中做了九年的经理,我很讨厌这个工作。
最大:你真的很喜欢做这些任务,而不是把它们委托给别人?
西蒙:我很喜欢做这件事。我的噩梦是,埃本走过来说:"啊,西蒙,我们给你找了一些员工来做事情。你要坐在楼上做决定。"而我就会去。"不,不要把它从我这里拿走。"因为我确实喜欢用我的手来处理代码。我真的不喜欢被夺走它。在某些方面,我很高兴继续这样做,因为我发现它很有价值。我觉得很有成就感,[可以说]。"看,我做到了"。作为一个经理,我从来没有真正觉得我可以说,"我做到了"。- 我的人做了,我没有做。而现在我坐在那里说。"我做到了"。
最大:一个更技术性的问题:使用OpenGL驱动,我们将获得什么?优势/劣势?
西蒙:基本上,它可以在任何使用OpenGL的地方提供更快和更平滑的动画。显然,OpenGL应用程序。我想,其目的是,所有的东西都将有效地由OpenGL渲染,桌面等都将通过它,这意味着你将在所有的东西上获得硬件加速的好处。因此,从理论上讲,对每个人来说,这将是一个更快、更流畅的体验。我不认为在这之上还有什么优势。
最大:我的理解是否正确,你是否真的需要对桌面进行调整?还是说它会自动受益于此?
西蒙:是的。但是有多少 -- 这不是一个我完全是技术专家的领域。OpenGL是一种黑色艺术。我的理解是,它基本上是试图在系统下获得更好的硬件加速,为屏幕上的一切提供加速。
最大:那么,比如说,Pi 1的性能会更好,理想情况下?
西蒙:有可能是的,不过我认为OpenGL驱动的一个问题是它使用的内存太多。所以我们可能会在Pi 1上遇到问题。我想我们已经在很大程度上解决了这些问题,但是--明显的改进将是在OpenGL游戏等方面。它们显然都会直接进入硬件。你应该看到一般视频性能的普遍改善。
最大:韦兰,韦斯顿。完全被遗弃?
西蒙:它基本上被束之高阁了,是的。我不认为它被完全抛弃了。它可能会在某个时候进入它自己的领域。但是现在,我们已经有几年没有对它进行任何积极的开发工作了。
最大:你最喜欢用什么方式来打发Pi上的时间?
西蒙:(笑)我很无聊,我喜欢编程,让东西变得更好,我不得不说。我经常在晚上回家,如果有一个技术问题我没有完全解决,我会想,这将是有趣的。我经常会从GitHub上下载代码,然后在家里的Pi上破解。
最大:只是因为你无法抗拒?
西蒙:是的,我想让它变得更好,我不能不管它。如果我使用电脑是为了纯粹的娱乐 - 我不会使用Pi。我把Pi作为一个开发平台,但我很享受开发的过程[非常好]。我不使用Pi做网页浏览之类的事情,因为即使使用Chromium,在Windows机器或Mac上的体验也要好得多,因为网页浏览需要这么大的马力。但就享受而言,我用Pi做的事情与我在工作中做的事情一样。
最大:这更像是一个假期,当你在工作时。
西蒙:我在家里的伙伴完全知道,如果我坐在楼上的书房里,我可能正在为Pi打字。这就是我喜欢做的事情。
最大:我在Raspberry Pi领域的活动中遇到了Martin,他告诉我关于新的帮助。你打算为新问题发布帮助,这将与Raspbian一起发货。
西蒙:马丁在整理我们的网络资源方面做了一些伟大的工作。他的网页非常好。说真的,你应该看看菜单中的链接,因为他做了很多工作,我认为它们很好。是的,我们的意图是以某种方式将其下线,无论是Pi上的静态网页,还是作为一个Electron应用程序,尽管Electron应用程序在空间方面并不十分有效,因为你最终将整个Chromium浏览器内置于每一个人的身上。我们已经在系统上为Scratch 2准备了一个。
他的帮助资源很好,是的,让他们可以离线使用是一件非常好的事情,所以我们将在未来的某个时候这样做。
最大:还没有具体的计划。
西蒙:目前还没有。
最大:这显然是一个你可以拉动更新的事情。帮助变得更好...
西蒙:同样,这也是拥有不在平台上的帮助的优势之一,因为它是自动更新的--所以你在那里有一个决定。
我在推荐的应用程序中做了一件事--那就是每当它运行时实际上都会自我更新。所以我现在做了一个在启动时自动更新的应用程序。因为我想确保人们总是有最新、最棒的推荐应用程序列表。因此,我现在已经证明了这样一个概念,即有可能使一个应用程序的第一件事就是自我更新。在帮助下,我们可以做类似的事情。
最大:也许如果你给用户一个 "撤销 "按钮。如果有什么东西破坏了他们,他们可以回滚。问题显然是要弄清楚是哪个东西破坏了系统。
西蒙:这并不容易。你应该可以通过apt来做。而且不幸的是,在apt中,要撤销它并不容易。
最大:我做的一件事是,我只是更新软件包,因为我相信Raspberry Pi基金会会做正确的事情。其实我并不担心有些东西会坏掉。
西蒙:我们努力做正确的事情,但正如我所说,我们不是万能的。因此,我们偶尔会推出一些本不应该是正确的事情。但我们努力把这种情况降到最低。
最大:由于SD损坏的问题,我在想Raspbian有很多的记录在进行中 ...
西蒙:在SD损坏方面,我们考虑做的一件事,我们将来可能会做,就是我们对x86图像所做的事。这就是有效地运送一个固定的图像,上面有一个持久的分区。在这种情况下,你可以随时返回到一个良好的状态。这是我们考虑做的事情之一。你有一个基本的分区,然后你在它上面应用持久性。
最大:基本上是一种叠加。
西蒙:正是如此。这是我们想做的事情。我没有时间[去做],但这可能是未来的方向。
最大:当我到达英国时,我首先看到的是一辆班车--当你从斯坦斯特德机场出来时,他们有一辆班车,前往航站楼。还有一个Raspbian[在开始时被冻结]。
西蒙:这确实发生了。我们在展览中经常被利用。能够从这样的事情中恢复过来,显然是一件好事。但是,是的,SD卡并不是一个完美的技术。让它更强大的东西是好的。我怀疑我们会转向基本分区之上的覆盖文件系统。这至少意味着你可以回到你知道的东西上工作,即使不一定是你所有的[现有]工作。
最大:你们是否有计划为不接触系统的工业用户提供一个只读的图像?
西蒙:人们已经关注了只读图像。我们没有在内部研究过这个问题--它偶尔会被讨论,但我们没有做任何工作。当然,这样做是可行的。
最大:我得到的最后一个问题是关于ARMv6二进制文件和ARMv7二进制文件。基本上,你所做的是支持所有的Raspberry Pi。
西蒙:我们不想让购买Pi 1的人成为孤儿--因为根据定义,他们的预算可能有限。一个新的Pi只需要35 $,但他们可能没有35 $。所以我们尽可能地支持所有的旧平台。目前,我们唯一不支持的地方是Flash播放器。Flash播放器只有ARMv7的二进制版本,这是Adobe提供的全部。因此,我们在这方面能做的非常少。我们没有意识到要用新版本的软件使旧平台成为孤儿。
最大:我问的原因是关于性能。显然,ARMv6二进制文件并没有使用ARMv7二进制文件会使用的所有功能。
西蒙:在某些情况下,我们实际上有混合库,例如,我们的一些内存访问库。它们会查看它们是在ARM 6还是ARM 7上运行,并相应地运行不同的代码。这也是我们可以考虑做的事情。
最大:内核也被优化......核心库[最大的影响会发生在这里]
西蒙:是的。这些是像内存拷贝、内存比较这样的东西。这些都是一般的系统开销,这些都是针对不同的平台进行优化的。这是一个复杂的事情,要让它发挥作用。但它确实有效。我们可能不会对所有的东西都这样做--但当我们找到可以获得优势的地方时。我们可能不会优化一个单独的应用程序。但是,如果我们能够为多个应用程序进行优化--我们有一个非常擅长这个的人--在低级别的代码上为这个目的而呼吸。我们有一个持续的计划,寻找我们可以通过优化获得性能优势的东西。
最大:因此,从本质上讲,与其他平台相比,基本上更多的是关于廉价的硬件,而在树莓派上,你得到的是一台一直在变好的计算机,因为软件一直在增长,所以会发生什么。
西蒙:我们希望它是这样,是的。
最大:你有什么想提到的事情,任何很酷的事情,想法?
西蒙:我认为我们涵盖了目前在我脑海中浮现的大部分内容,所以我认为这很好。
最大:谢谢你抽出时间。
西蒙:完全没有问题,非常高兴再次见到你。