你的程序里有太多的配置项,太多的东西需要人去配置。API切入点设置?主题颜色配置?100种不同的字体样式和字体大小选择? 界面色调配置?语言切换配置?
去掉这些配置项,全部去掉。
你的远见铸就你的软件
你是软件的创造者,创造你想要的软件。你的应用程序应该代表你的观点。37signals
网 站的Jason Fried表示了同样的思想。下面就是他在他的第一本书《Getting Real》
说的话:
有些人认为软件应该做成无所不能、没有弱项。他们说开发人员限制或拒绝某些功能需求是完全出于傲慢自大。他们说软件应该具有最大限度的灵活 性。
我认为这纯属胡说八道。最好的软件是有远见的产品。最好的软件是有所舍取的。人们不是要看它有多少功能的,人们要的是达到某些事情的途径和 方式。 人们要的是一种对事情正确的理解。做出你的决定,坚持下去。
请记住,如果有人不认同你的观点,他们会想出千奇百怪的各种意见出来。不要试图取悦所有的人,这样会让你很痛苦。
Jason Fried的这个已经给他赚取了百万美元的网站并没有提供不少人都希望他提供的一些鸡毛蒜皮的功能。 他们的著名应用程序Basecamp
实际上只是在满足他们自己的需 求,他们认为不重要的东西一概要去掉。 Jason把他的团队看作整个软件定义的主导者,一再的删减和修改功能项,让它们回归本质。他们开发了有主见的产品。
减肥
如果有一个设置项既可以设成A又可以设成B,而你习惯于设成A,那为什么不把A变成固定选项、不可变更项呢?
如果你认为A是最好的选择,为什么还让人们去选择B?这样一来,在应用软件排行榜里,人们会抱怨为什么不能选择B。他们会说只能给你一颗星,如果你实现了
B,会给你五颗星。而又有人看到这种情况会要求你实现C和D,因为他们认为C和D也同等重要。
一派胡言。
你是这个软件的开发者。你决定一切。苹果公司 并不听取用户的意见
,但它是世界上最成功的技术型公司。他们有个无畏的领导,不惜惹恼用户也要把软驱和鼠标上的按钮去掉。 他以大无畏的精神把非常成功的受称赞的产品废弃,一切推倒重来。 他只创建他想要的,他知道自己在创造最优秀的东西。这也就是我们要学习的。
最近,Iconfactory
网站宣布, 他们将重写 和反思
他们的旗舰Twitter应用软件 Twitterrific:
我们之前的设计受到了普通用户(甚至一些专业用户)的极大欢迎,但对于多帐号的用户却变得非常的混乱,因为人们没法分清哪
个帐号是用来查询 的,哪个帐号是用来浏览热门帖子的。
而且我们有三个不同的地方来设置偏好选项,很多的设置项都是没有必要的,让大多数用户感到困惑,他们通常会对这些选项置之不理,保持缺省状态。
于是我们做了一个大动作,把所有的偏好设置全给去掉了,只有当我们发现它们有绝对的必要时,才会把它们加回来。
这个是新旧选项设置的对 比图
,
新版本完全简化了。 他们提炼了这些设置项;几乎都不要了。这需要相当大的勇气,而且只有当清楚的知道他真正想要做的是什么软件时他才能做到这些。
你已经在脑海里有了远大的蓝景,你知道这某些方面你不能妥协。
一些很强势的用户无可避免的会感到不适应,但Iconfactory公司追求的是大多数用户的良好用户体验,
它们比那些技术专家们思考出的用户体验更重要。
强势用户并不重要,要为大众做软件
功能繁多和配置项丰富只能让那些比较强势的一小部分用户感到兴奋,而对大多数用户却没多少意义。
通常用户都希望软件能在不经过任何设置下就能出色的、智能的运行。 有一个绝好的例子,我们把Android和iOS
4.0中对多任务功能的支持情况进行对比。
Apple公司并没有急于把多任务功能引入系统,因为Apple不希望有程序能在他们的系统后台消耗电池能量。相反,对于Android:仅仅几周前,Larry Page 报告说如果你让某些应用程序在Android后台运行,它们会把你的电池耗尽
。
Android里的多任务功能只是提供给一些强势用户使用,这些用户知道如何强行关闭后台程序,这样就能够给他们手机上的收音机争取更长的供电时间。
Apple的CEO宣传他要按照他自己觉得合适的模式来增加多任务功能,而不是按照那些发烧友和手机开发者期望的那样。
远见上不能打折扣,观念上你要坚持。如果你觉得12px的字体大小是最合适的,那就不要允许人们把它设置成10px。
如果你从来都认为某个配置项不应设置成除了A之外的任何值,那就不要放自己你的观点、给别人把它设置成B的机会。
不要妥协。开发属于你自己的软件。会有许多许多的像你一样的用户会欣赏你的做法的。
做你想要的。
译文来自 外刊IT评论
的 去掉配置项,开发自信的软件
;)
分享到:
相关推荐
理解并正确应用这些配置项,对于充分发挥STM32微控制器的性能,实现高效稳定的嵌入式应用至关重要。开发者应当熟练掌握STM32固件库中的这些配置方法,以确保开发过程的顺畅,并保证最终产品的可靠性。随着对STM32...
滑轮(Pulley)是一款基于Git的工作流工具,专为代码审查而设计,它能够帮助开发者更加自信地管理他们的代码审查过程。Pulley 的核心功能在于提供了一个直观的界面,让团队成员可以轻松地查看、讨论和批准代码更改。...
该算法的核心在于简化模型,去除不必要或不关键的参数,从而专注于基础的共振模式。通过这种“无信号源”建模方法,研究者能够模拟天线在不同模式下的性能,并通过插入虚拟端口来评估其位置对天线整体性能的影响。...
内容概要:本文详细介绍了利用FLAC3D进行隧道台阶法施工模拟的方法和技术细节。首先解释了隧道台阶法施工的基本流程,重点在于开挖命令的应用,如'zone cmodel assign'和'zone remove'用于改变区域本构模型并执行开挖操作。接着阐述了支护结构的设置方法,包括超前加固体、初衬、二衬、锚杆和锁脚锚杆的具体配置方式。此外,还讲解了如何通过'mesh'命令直接在FLAC3D中生成符合实际工程需求的网格模型。最后展示了模拟后的围岩体位移云图和应力云图,验证了计算结果的有效性,强调了这些数据对优化施工方案的重要性。 适合人群:从事岩土工程、隧道工程及相关领域的工程师和技术人员。 使用场景及目标:适用于需要进行隧道施工模拟的专业人士,旨在提升他们对FLAC3D的理解和应用能力,确保隧道施工的安全性和高效性。 其他说明:文中提供的实例和命令操作均基于真实项目经验,有助于读者更好地理解和掌握FLAC3D的实际应用技巧。
内容概要:本文介绍了纤维骨料细观尺度混凝土模型的设计与应用,重点在于如何通过控制骨料尺寸和体积率,在不同有限元软件(如Abaqus、Ansys、Ls-Dyna、Flac3d)中进行有效的四面体网格划分和六面体网格投影。文中提供了生成随机骨料位置和直径的Python代码片段,并详细解释了网格划分过程中需要注意的技术细节,如碰撞检测、网格转换公式以及材料属性设置。此外,还讨论了模型验证的方法及其在实际工程项目中的应用价值。 适合人群:从事土木工程、材料科学领域的研究人员和技术人员,尤其是那些需要利用有限元方法进行混凝土结构分析的专业人士。 使用场景及目标:①帮助工程师更好地理解和预测纤维混凝土的行为特性;②为实际工程项目提供理论支持和技术指导,从而优化纤维混凝土的应用;③提高仿真精度,减少实验成本和时间。 其他说明:文中提到的一些具体操作步骤和技术细节对于初学者来说可能具有一定挑战性,建议读者在实践中逐步掌握相关技能并积累经验。同时,正确设置物理量单位非常重要,错误的单位可能导致计算结果严重偏离预期。
嵌入式八股文面试题库资料知识宝典-c++个人笔记总结.zip
内容概要:本文详细介绍了西门子S7-1200 PLC在工业自动化领域的应用,重点讲解了其模块、板卡和通讯方式。首先概述了PLC模块和板卡作为基本单元的作用,接着深入探讨了支持的多种通讯协议,包括Modbus-RTU、S7通讯、Modbus-TCP和TCP/IP等。每种协议都配有具体的代码分析和调试方法。最后,介绍了博途V16编程软件的使用体验,强调了其对S7-1200 PLC编程的支持。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对西门子S7-1200 PLC有初步了解或希望深入了解的人群。 使用场景及目标:适用于需要掌握PLC模块化设计、不同通讯协议的应用场景,旨在帮助读者理解PLC的工作原理,提高编程和调试能力,从而更好地应用于实际项目中。 其他说明:文中提供的实例和代码分析有助于读者快速上手,同时推荐使用博途V16及以上版本的编程软件进行实践操作。
内容概要:本文介绍了Comsol仿真软件在等离子体空气反应领域的应用,重点探讨了其无模型反应框架的功能。该框架能模拟超过40种气体(如氧气、氮气、氦气)的详细反应过程,提供碰撞截面数据、迁移率扩散系数、速率系数和汤森系数的查询与求解功能,并通过bosig+模块实现自定义反应路径的选择。此外,文中强调了代码分析与实践应用的重要性,以及这些功能如何提升等离子体反应研究的效率和准确性。 适合人群:从事等离子体物理、化学反应动力学及相关领域研究的专业人士和技术人员。 使用场景及目标:适用于需要精确模拟复杂等离子体环境中气体反应的研究项目,旨在提高对等离子体反应机制的理解,优化实验设计,预测反应行为。 其他说明:Comsol仿真软件凭借其强大的计算能力,在等离子体研究中扮演着重要角色。随着技术的发展,该框架有望进一步推动相关领域的创新和发展。
嵌入式八股文面试题库资料知识宝典-同方万维硬件测试工程师.zip
嵌入式八股文面试题库资料知识宝典-c,c++笔试.zip
少儿编程scratch项目源代码文件案例素材-激光连接.zip
嵌入式八股文面试题库资料知识宝典-奔图电子-软件笔试试题v1.1(C,C++工程师).zip
嵌入式八股文面试题库资料知识宝典-国科环宇有限公司.zip
基于LDA主题模型对AIGC的影响力分析.pdf
可以自己添加应用和功能版,在/opt/upt/apps/下面添加ubin目录和ulib目录,把你想用的程序添加到ubin,支持模块添加到ulib中,就可以运行,具体刷机操作,请看《》
内容概要:本文探讨了遗传算法在车辆路径优化问题(VRP)中的应用及其改进,特别是在冷链物流、软时间窗和多配送中心场景下的路径优化策略。文中介绍了遗传算法通过模拟自然界进化过程来寻找最优路径解决方案的能力,并详细讨论了其在冷链物流中的重要性,即确保产品运输过程中的温度稳定和时效性。此外,还提到了软时间窗概念的应用,以平衡客户满意度和运输成本。在多配送中心场景下,遗传算法能有效处理复杂路径规划问题,如外卖配送路径优化和充电桩电车车辆路径优化。除了遗传算法,蚁群算法、模拟退火算法和粒子群算法也在不同类型的路径优化问题上得到广泛应用,如旅行商问题(TSP)、容量约束的车辆路径规划(CVRP)和带距离、容量和时间窗约束的车辆路径规划(VRPTW)。最后,文章强调了遗传算法改进的研究方向,旨在提高运算速度和精度,从而提升物流效率和客户满意度。 适合人群:从事物流与运输领域的研究人员和技术人员,对车辆路径优化感兴趣的学者和从业者。 使用场景及目标:适用于冷链物流、外卖配送、充电桩电车等多种实际应用场景,旨在优化路径规划,降低运输成本,提高客户满意度。 其他说明:本文不仅介绍了现有算法的应用情况,还指出了未来可能的研究方向和发展趋势。
内容概要:本文详细介绍了物流领域的车辆路径优化(VRP)及其扩展问题——带时间窗的车辆路径优化(VRPTW),并探讨了冷链物流车辆路径优化(考虑充电桩需求)。文中通过MATLAB实现了遗传算法解决这些问题的具体步骤,包括参数设置、种群初始化、适应度函数计算、遗传算法循环等。此外,还讨论了多配送中心场景下的路径优化挑战和其他优化算法(如蚁群算法、粒子群算法、节约算法和模拟退火算法)的应用。最后,针对冷链物流和电动汽车路径优化提出了具体的解决方案和技术细节。 适合人群:从事物流管理、运筹学、算法设计的研究人员和工程师,尤其是对MATLAB有一定基础的技术人员。 使用场景及目标:适用于需要优化物流配送路径的企业和个人,旨在提高配送效率、降低成本、提升服务质量。具体应用场景包括但不限于城市配送、冷链运输、电动车辆调度等。 其他说明:文中提供了完整的MATLAB代码示例,帮助读者更好地理解和实践各种优化算法。同时,强调了不同算法的特点和适用条件,便于读者根据实际情况选择最合适的算法。
嵌入式八股文面试题库资料知识宝典-文思创新面试题2.zip
嵌入式八股文面试题库资料知识宝典-网络编程.zip
少儿编程scratch项目源代码文件案例素材-火柴人防御.zip