我从设计开发工具中学到的东西

译自:https://medium.com/@g1sh/what-i-learned-designing-developer-tools-4778478ab254?source=linkShare-6906d548cce3-1483257545



我做开发工具设计已经几年了。一开始在Adobe公司工作的时候,我负责设计flash/flax操作平台,后来帮助一些面向网络设计/开发者的产品上线。如果你是个正在设计这些产品的设计师,我想分享一些东西给你们。

没有粗心的理由

“这很简单,开发者才不会关心他们的开发工具是如何设计的。”来自一个被误导的朋友的年度发言。

可能设计开发者工具不是一个最有吸引力的工作,但是却是一个富含挑战和富有回报的工作。你解决的是一个非常复杂的问题并且将要把它变得更加有效。效率比美观更重要。设计出一个更加有效的方法需要很多努力,特别是你发现很难去改变他们现在已成型的操作习惯。但是开发者们会很欣赏经过精心设计的开发工具,通过Heroku和Stripe的成功就可以看得出来。

做诚实的设计

面对开发者们的时候,永远不要试图通过欺骗的行为来蒙骗他们。是的,让人愉悦的交互将会非常令人欣赏,节约时间的设计也会得到用户的称赞,但是,拥有知道如何通过设计让这一切发生将会让你对于你所从事的设计工作更加自信。这方面一个很好的例子是“Reflow ”,一个用来创建自适应网站的工具。它同时被开发者和设计师使用,因此并不希望它的布局充满变化。和传统的设计工具不同,Reflow里面的布局需要和网页技术里能实现的网页布局做到1:1还原,这将使其比传统的设计工具里的布局更加累赘。

销售实力,简洁设计

跟其他的工具一样,一个长长的功能清单往往就是工具最大的卖点。希望在工具里不断加入新功能将会是一个长久持续的外界压力,会将你精心设计的简洁UI界面变得臃肿不堪。变得功能强大也有其危险的一面。开发者们将会把一些常用操作习惯慢慢从传统的IDE例如eclipse上面移植过来。这样下去会有一个偏见,这个工具运行的没有IDE快而且环境的上传更新也没办法跟上最新科技。清楚你的工具需要解决的是什么问题很重要,然后在问题不断演化的过程中始终保持聚焦。

和其他系统兼容

在保持聚焦的同时,你要始终知道你做的工具作为工具生态链里的一部分将和其他和互联网一样千变万化的工具们集成在一起。你设计的工具既要做到及时更新还要很好地跟其他系统们在一起合作。

对于任何工具来说可扩展性都是最基本的功能。它有可能是开源的,也有可能是拥有一个全球化的API,或者是无限的可定制性。这点对于工具设计者们来说意味着我们需要始终以一个系统的视角来思考问题。需要有一些参数来对这些系统进行配置。无论是当用户设置一些基本的颜色时,还是当允许其他的开发者在你的UI 设计框架下设计和开发插件。

不要从仓促的设计开始

和设计们相同,开发者们也喜欢在一个固定的基础上解决问题。一个好的开发者需要能很轻松的理解框架,然后才能对它进行应用或者开发。

为了赋能而设计

现在,不会再有用户拿着用户手册来了解一个消费类产品了。然而,开发者们却希望可以不止一次地阅读某种形式的使用文档。有些公司在这个问题上做了很了不起的工作。Stripe对于他们的用户画像非常了解,因此他们对于创造一个最佳的API文档付出了很多努力。

大部分工具在用户们学会如何使用工具以后就几乎没有能力的进步。只有当你的工具可以使用户在学会这个工具以后变得更加强大以后,才能真正的成为一个成功的工具。

我从设计开发工具中学到的东西_第1张图片
图片发自App

所以沙箱环境的提供非常重要,因为它可以帮助用户进行代码测试,从而创造出属于自己的产品。当他们的努力不仅可以在生活中得到体现还能在名誉上得到回报的时候,就是他们每天都决心使用你的工具的时候。当它被得到推荐以后,这些都会让你的工具变得更加有用。我们可以看出“我那天试了一下A产品,看起来很酷,你可以试试。”和“快来看看这些我用A产品做出来的东西,酷毙了!”之间的区别很大。

在你创造的产品中展现你自己

开发者,比任何人都可以看出科技背后的那个设计者所付出的努力。他们频繁接触一个工具的最大原因是他们知道在这个工具背后有一个多么酷的设计团队和一个多么棒的生态社区。孜孜追求细节,将永远不会白费努力。Github 就是把这件事做对了的一个公司,从他们404页面的细节到他们设置的参数中都可以看出。

回报是非常令人激动的

最后,开发者工具是为了创造力而设计的产品,你最大的鼓励将是你看到开发者们使用你所设计的工具创造出的那些成果们。所以确保你将他们琢磨透了并且通过工具的设计使得他们变得更加强大。

你可能感兴趣的:(我从设计开发工具中学到的东西)