理想主义者

我自认为不是一个理想主义者,可能更多的是一个实用主义者,做了这么多年的产品我更多的是关注产品的落地。但这并不妨碍我对理想主义者的敬重。

偏见只是偏见,微信之父张小龙的人生并不会被各种偏见左右。当所有人都在说张小龙迷茫时,他却是在沉默中创新。人们对张小龙的偏见,或许也与张小龙不愿表达有关。

他不表达,别人便容易妄加猜测。当他什么都不做时,大家便猜测,他无路可走了;当他做点什么但并没有任何效果的时候,大家便猜测,他穷途末路了。

而他,也无意向大家解释,解释他正在尝试另一次创新,正在试着体验另一种产品的可能。对他来说,这些解释是毫无意义的,他手中正在进行的产品才是有意义的。

到微信问世,人们终于知道了多年来张小龙的沉默,只是一座等待爆发的火山。回首张小龙的人生,人们才意识到微信的雏形早就在张小龙的脑海中存在了许久。人们惊讶于他的耐心,也更好奇究竟是怎样的力量,支撑着他将一份信念维持了这么多年,并且还能在十几年后,将这个信念化为现实。

“不满和反抗最有生命力。不满意才表示你很有活力,很有生命力,如果什么都满意了、满足了,那已经变成很平常、平庸的状态了。”

这一句话,解释了张小龙从学校毕业,到成为“微信之父”多年的时光。

当张小龙说出这句话的时候,距离他运营Foxmail的时期已经过去了十几年。十几年前,人们在张小龙沉默的面孔中看到的是对现实的茫然,而十几年后,张小龙告诉他们,他并不是在茫然,他只是在不满,在反抗。张小龙是理想主义者,如果他正在进行的工作并不是他最想要做的,那他会觉得生不如死。

张小龙喜欢这样的工作动力,它比责任心,比单纯的鼓舞更有意义。开发产品的过程并不是在完成一项任务,而是在完成一件被赋予在生命里的使命。

在张小龙说过的一番话里能够找到答案,他说“当他做产品时,他会把自己当作用户”。如果你不知道你的用户需要什么,那么你最起码可以知道自己需要什么。

或许他的设计也不能满足所有互联网用户,但最起码他的每一项设计都是为了产品体验本身,没有任何其他的干扰项,也没有任何妥协,从头到尾,无愧于心

中国互联网究竟需要一款怎样的产品?如果真的想要找到确切的答案,或许需要等到互联网行业拥有越来越多的张小龙的那一天。

微信究竟想要做成什么样的产品呢?一句两句已经无法说得清楚,但可以说清楚的是,它是一款正在努力丰富人们移动互联网生活的产品。

做任何产品,无论是虚拟产品,还是实体产品,产品本身的质量并不是最关键的,最关键的仍然是用户心理。就好像,人人都知道汉堡、薯条是垃圾食品,但汉堡、薯条仍然是生活中最受欢迎的食物,因为它们满足了人们的贪吃的心理。

张小龙早已看清楚了这一点,所以在开发微信的过程中,他从来都没有追赶其他同类型产品,他需要追赶的只有一个,就是人,即广大的用户群。

张小龙追捧乔布斯专注到每个产品的各个细节,从产品的问世全过程他都不会放松,每个地方都要反复修改力求完美,苹果的产品总是在乔布斯说千万次“不行”的过程中完美呈现的。乔布斯说:“人们以为‘专注’的意思就是对你必须关注的事情点头称是,其实当你专注做一件事时你说得最多的会是‘不’。”

比起产品功能本身,张小龙更重视产品的定位。功能只是这个产品的外在相貌,而定位,才是一个产品的灵魂。产品定位直接决定着谁会来使用你的产品。张小龙想要做的产品,是能满足最底层需求的东西。

在“摇一摇”出现后不久,马化腾给张小龙发了一封邮件,他说“摇一摇”这个功能非常好,但是在欣喜之余,还要随时警惕其他竞争对手模仿这个功能。在此之前,微信的“查看附近的人”推出后,其他竞争对手也立刻跟上,并在原本功能的基础上又加了一个表白功能。马化腾觉得腾讯自己应该先把这些都考虑进去,让其他竞争对手没有创新的空间。

这是张小龙与马化腾在思考方式上的不同。马化腾希望做到全面,张小龙却希望做到极简。于是,张小龙回复马化腾,创新是永无止境的,其他人永远都能在这个产品上加进来别致的东西,但加了东西的产品便不是最好的产品了,只有当初那个极简功能的产品才是最优秀的,更是其他人无法超越的。

一个简单的产品,就如同只有一个按钮的苹果手机。如果苹果手机多出来一个按钮,它就会显得烦琐,就会令人心烦。同样,“摇一摇”只是一个简单的画面和一个简单的动作,一旦加入其他东西,它就不再是“摇一摇”。失去了极简风格的“摇一摇”,也就失去了它最原始的意义。

现在的氛围还是比较好的,互相都会给对方一定出错的空间。但在真正经历过宗教改革的16和17世纪的善良百姓不会这么看待问题。他们永远觉得自己是对的,对方是错的。当时的核心问题是,要么绞死别人,要么被别人绞死,而双方都希望被绞死的是对方。这是人的本性,不能单纯怪罪哪一方。然而中世纪的人为什么会说“城市里有自由的空气”?

中世纪早期是个开疆拓土、殖民定居的时代。在保护着罗马帝国东北部边境的那一大片由森林、山脉和沼泽构成的荒地之外,居住着一支新的民族,彼时他们开始强行进入西欧各地的平原,占领了大部分的土地。像自古以来所有的拓荒者一样,他们从不会“安分守己”。他们喜欢“东奔西走”,精力充沛地砍伐森林,也精力充沛地互砍彼此的咽喉。他们很少有人想住在城市里。他们坚持“自由自在”,喜爱赶着牲口穿过阵风吹拂的草原时,山野吹来的清新空气灌进肺里的感觉。当他们不喜欢目前居住的家园时,便拔起营帐的木桩,起程开始新的冒险。

弱者汰亡。只有强壮耐劳的战士和追随男人进入荒野的勇敢妇女,才能生存下来。就这样,他们逐渐成为一支强悍的种族。他们不关心生活中的各种优雅,没时间拉小提琴或写诗,更不爱闲谈讨论。修士作为村子里唯一“读过书的人”(在13世纪中期以前,普通男人如果会读会写,会被视为“娘娘腔”),要负责解决所有那些没有实用价值的问题。与此同时,日耳曼的部族领袖、法兰克人的男爵和北方人的公爵各自占领了曾经属于伟大罗马帝国的领土,在过去光荣的遗迹中建立起自己的世界,他们对此非常满意,因为这世界看起来十分完美。

他们竭尽所能管理好自己的城堡和周围村庄的大小事,也像所有软弱的凡人一样,信守教会的戒律。他们对国王或皇帝忠心耿耿,与这些虽相距遥远但总是十分危险的统治者保持着良好关系。简言之,他们努力施行正道,既公平对待邻居,同时也不损害自己的利益。

他们明白自己所处的不是一个理想的世界。大多数人是农奴或农场工人,他们跟牛羊同住在棚舍里,还跟牛羊一样是自己生活的那片土地的附属品。他们的命运不是特别幸福,也不是特别悲惨。但是,他们又能怎么样呢?统治中世纪世界的上帝毫无疑问已经把每件事都安排好了,中世纪的骑士是乡绅地主,很少需要用钱去购买东西。他的庄园生产他和家人所需的一切,无论是吃喝还是穿着。建造房子所用的砖块,是在最近一条河流的堤岸边做的。房屋大厅的梁木是从广大的森林里砍来的。少数从国外来的东西,也是以物易物,用蜂蜜、鸡蛋、柴薪换来的

但是十字军东征以非常激烈的方式颠覆了古老农耕生活的陈规。假设领主希尔德海姆公爵(Duke of Hildesheim)打算去圣地一趟。他必须跋涉好几千英里,并支付自己的食宿费用。他在家时可以用田庄里的出产来以物易物。但是他不可能带着上千个鸡蛋或拉一车火腿上路,以此来满足威尼斯的船主或布伦纳隘口(Brenner Pass)旅店的老板(这些老板坚持收现金)。因此,领主大人不得不在踏上旅途时带一点金子在身上。他要去哪里找这些金子?他可以向伦巴底人借,他们是古伦巴底王国的后裔,如今做着放款生意。他们坐在交易桌后面(这桌子一般称为“banco”,也就是英文银行bank的来历)。

企者不立,跨者不行。踮起脚跟想要站得高的人,反而站不稳;跳跃式地前行的人,反而走不远。多言数穷,不如守中。一个人说话太多,往往使自己走投无路,倒不如保持内心的虚静,将话放在心中。这些老祖宗留下来的经典语录,无一不在夯实着理想主义者文化的底蕴。

理想主义者需要真正自由的空气,需要自由的环境,在产品真正需要理想主义者用心打磨的时候,我们需要有耐心的为他们尽可能的创造出这样的氛围。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/47250.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【经验总结】将markdown文档转换为word(swagger导出word)

工具准备: 任意markdown编辑器,以typora为例pandoc,官方下载地址 思路整理: 从swagger提取离线md文档将md文档转换为word格式 操作步骤: 一、安装pandoc (markdown编辑器安装略) 前往官网…

Yak与nuclei的深度融合:打造高效漏扫生态,解锁PoC管理新姿势

在Yakit中使用nuclei很简单,只需要几行代码。在Yak Runner中,使用下面代码,指定扫描的目标与选项,便能调用nuclei的漏扫能力: results:nuclei.Scan(target,opts...)~for result in results { dump(result)} 比如以…

UNiapp微信小程序Ucharts

效果图如下 以上为加载接口所得数据的玫瑰图与折线图 具体步骤如下 1,将插件导入Hbuiler 所需要的项目中(插件地址:秋云 ucharts echarts 高性能跨全端图表组件 - DCloud 插件市场) 2,导入成功是这样的 3&#xff0c…

java 根据当前时间获取 yyyy-MM-dd HH:mm:ss 标准格式的时间

在Java中,可以使用java.time包中的LocalDateTime类和DateTimeFormatter类来获取并格式化当前时间为yyyy-MM-dd HH:mm:ss格式。 代码示例 以下是如何获取当前时间并格式化为yyyy-MM-dd HH:mm:ss格式的完整示例: import java.time.LocalDateTime; impor…

app的进程启动为什么不是init的fork,而是zygote的fork

在Android系统中,应用程序(App)的进程启动不是通过init进程的fork,而是由Zygote进程的fork来完成的,这主要是出于性能和资源利用优化的考虑。以下是详细的原因分析: 一、init进程的角色 初始化系统&#…

2024-07-16升级问题:调用自带软件打开文件时 android.os.FileUriExposedException

2024-07-16升级问题:调用手机自带软件打开文件时,出现以下问题: E/AndroidRuntime: FATAL EXCEPTION: mainProcess: rs.tabletcropland, PID: 10997android.os.FileUriExposedException: file:///storage/emulated/0/arcgis/%E7%9F%B3%E7%8B…

ES6基本语法(二)——函数与数组

函数 函数是JavaScript中组织代码的一种方式&#xff0c;它可以提高代码的复用性&#xff0c;并使其更加模块化。 在<script>标签中定义函数 你可以在HTML文件的<script>标签内定义函数&#xff0c;或者在JavaScript文件中定义后再引入到HTML中。 <script&g…

相对定位语法:css+xpath基础语法使用-定位页面元素

文章目录 CSS相对定位获取元素关系定位顺序关系 XPath相对定位基础语法顺序关系-通过索引获取元素选取元素 总结 ✨✨✨学习的道路很枯燥&#xff0c;希望我们能并肩走下来&#xff01; 编程真是一件很奇妙的东西。你只是浅尝辄止&#xff0c;那么只会觉得枯燥乏味&#xff0c…

HTML5应用的安全防护策略与实践

随着HTML5及其相关技术&#xff08;如CSS3和JavaScript&#xff09;的普及&#xff0c;Web应用变得越来越强大和复杂&#xff0c;同时也成为黑客攻击的目标。本文将探讨HTML5应用面临的常见安全威胁&#xff0c;以及如何通过最佳实践和代码示例来增强应用的安全性。 HTML5安全…

uniapp小程序上传pdf文件

<template><view class="mainInnBox"><view class="formBox"><!-- 注意,如果需要兼容微信小程序,最好通过setRules方法设置rules规则 --><u-form :model="form" ref="uForm" :rules="rules"&g…

用于可穿戴传感器的人类活动识别、健康监测和行为建模的大型语言模型

这篇论文题为《用于可穿戴传感器的人类活动识别、健康监测和行为建模的大型语言模型&#xff1a;早期趋势、数据集和挑战的综述》&#xff0c;由埃米利奥费拉拉&#xff08;Emilio Ferrara&#xff09;撰写。论文主要内容如下&#xff1a; 摘要 可穿戴技术的普及使得传感器数…

韦东山嵌入式linux系列-具体单板的 LED 驱动程序

笔者使用的是STM32MP157的板子 1 怎么写 LED 驱动程序&#xff1f; 详细步骤如下&#xff1a; ① 看原理图确定引脚&#xff0c;确定引脚输出什么电平才能点亮/熄灭 LED ② 看主芯片手册&#xff0c;确定寄存器操作方法&#xff1a;哪些寄存器&#xff1f;哪些位&#xff1f;…

STM32 BootLoader 刷新项目 (三) 程序框架搭建及刷新演示

STM32 Customer BootLoader 刷新项目 (三) 程序框架搭建 文章目录 STM32 Customer BootLoader 刷新项目 (三) 程序框架搭建典型工作流程 1. 硬件原理图介绍1.1 USART硬件介绍1.2 LED和按键介绍 2. STM32 CubeMX工程搭建2.1 创建工程2.2 系统配置2.3 USART串口配置2.4 配置按键G…

GD32 MCU上电跌落导致启动异常如何解决

大家是否碰到过MCU上电过程中存在电源波动或者电压跌落导致MCU启动异常的问题&#xff1f;本视频将会为大家讲解可能的原因以及解决方法&#xff1a; GD32 MCU上下电复位波形如下图所示&#xff0c;上电过程中如果存在吃电的模块&#xff0c;比如wifi模块/4G模块/开启某块电路…

【pytorch】thread: [16,0,0] Assertion `t >= 0 t < n_classes` failed

报错信息&#xff1a;C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\Loss.cu:250: block: [0,0,0], thread: [16,0,0] Assertion t > 0 && t < n_classes failed 可能原因&#xff1a;标签label或者预测的结果pred&#xff0c;超出了数据的范围&…

10校大满贯!中国内地高校2024年1-6月CNS发文统计出炉

随着全球科研竞争的日趋激烈&#xff0c;CNS&#xff08;Cell、Nature、Science&#xff09;作为科学领域的三大顶级期刊&#xff0c;不仅是科研成果的展示平台&#xff0c;更是各国科研实力比拼的重要战场。近年来&#xff0c;中国高校在国际科研舞台上的表现愈发抢眼&#xf…

c#中的字符串方法

Concat() String.Concat(字符串1 字符串n) 字符串拼接 Contains () 字符串1.Contains(字符串2) 字符串1是否包含字符串2返回布尔值 CopyTo() 字符串1.CopyTo(0,空数组,0,5); 从哪开始 复制到哪里 从哪开始存 存储的个数 tartsWith 字符串1.StartsWith("字符串") 以…

排队问题--逆序对应用

对于逆序对&#xff0c;我们可以用树状数组的方式来求&#xff0c;但是值得注意的是&#xff0c;我们逆序对一般求的是比这个元素小的个数&#xff08;位置可以是前或者后&#xff09;&#xff0c;那么求比这个元素大的个数怎么办&#xff0c;我们可以用 i - query() !!! 每个元…

生物安全柜验证:气流流型、粒子、浮游菌等参考标准

生物安全柜也是制药行业常见设备&#xff0c;根据GMP的要求&#xff0c;需对生物安全柜定期进行验证确认&#xff0c;确保生物安全柜的性能满足GMP洁净厂房的相关要求。 生物安全柜是实验室的基本设备&#xff0c;也是生物安全实验室的一级安全隔离屏障。其最重要的作用就是气流…

Windows与Linux双机热备软件推荐

网络数据安全在如今信息化的时代越来越变得举足轻重&#xff0c;因此服务器维护和管理也成为企业健康稳定运营的一项重要工作。但实际情况是很多公司并没有配备专业的运维人员&#xff0c;一般都会通过一些管理软件维护或者主机托管给服务商。整理6款服务器的Windows与Linux双机…