苹果工程师首度对外回忆iPhone诞生过程

2024-02-11 01:50

本文主要是介绍苹果工程师首度对外回忆iPhone诞生过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

苹果罕见地分享了关于 iPhone 诞生过程的一些细节。

“Steve 差不多受够了,他想要更加深远的想法和概念。” 苹果公司软件工程师 Greg Christie 如此回忆道。Christie 团队负责为一款将来会成为 iPhone 的设备规划及设计软件。2005 年 2 月份,时任首席执行官的史蒂夫乔布斯给 Christie 下了最后通牒:在两个星期内给出一个方案或者把这个计划拱手其他团队。这个问题当时已经让 Christie 的队伍头疼了几个月时间。

滑动解锁、通信录内直接呼叫联系人、触摸控制的音乐播放器…这些都是当时 Christie 所要负责的软件功能。苹果决心要让自己的智能手机变成一台可以放进口袋的个人计算机,而放弃物理键盘选择以触控为主之后,软件成了最重要的组件之一。

Christie 在 1996 年加入苹果公司,曾在 Newton 团队工作。虽然 Newton 以失败告终,但 “可以放进口袋、以触摸形式操作的个人数字助理” 这一概念勾起了他极大的兴趣。2004 年晚期,当他还在为 Macintosh 开发软件的时候,苹果软件部门的一位资深高管 Scott Forstall 找到了 Christie,问他是否原因参与一个名为 “purple” 的秘密项目。这个项目的产品将是一个整合了音乐播放器的触摸屏手机。

这个团队 “小的令人震惊”,然而他们还是事无巨细地打磨着每一个细节,其中就包括了一些后来与三星的专利大战中苹果声称受到前者侵犯的一些主要专利,比如页面触底 时的弹性效果(Bounce-Back Effect)。在之后几个月里,Christie 的团队每个月都需要向乔布斯汇报两次,汇报地点则是苹果总部的一个无窗绝密会议室里。

iPhone 诞生的地方 图片来自 WSJ

在最终赢得乔布斯的兴趣之后,该团队还向 Bill Campbell(深得乔布斯信赖的另一高管)与 Jony Ive 做了同样的报告。Campbell 认为这款手机会比 Mac 更成功,而 Ive 则对这些新奇的想法以及如何通过软件来实现它们表示非常好奇。

乔布斯几乎主导了历次汇报的大部分演讲时间,他兴奋地发表着意见并对细节着魔般地执着。除此之外,他希望保密工作也需要滴水不漏。除了在极端隐蔽的 会议室里讨论项目之外,乔布斯还 “命令” 所有成员在自己家里的 “隔绝” 空间里进行工作,以免被人意外发现这款设备。另外,所有有关的电子图片都被加密。

回顾起这段 “两年半的马拉松” 经历时,Christie 印象最深的一个时刻是在发布会举行的几天之前。当用两个不同的安保通行证通过一个侧门进入发布会礼堂之后,他看见昏暗大厅的巨屏上显示一张 iPhone 主屏幕的巨大图片。正是那个时刻,Christie 知道了自己所参与的是一个多么具有重大意义的项目。

“我的心跳停止了一瞬间。”

苹果对产品研发向来采取三缄其口的对外策略。此次这家公司允许 Greg Christie 向华尔街日报回忆 iPhone 这款革命性产品的诞生过程并不是因为他们的公关策略突然发生了一百八十度大转变,促成这篇文章的主要原因其实是苹果与三星之间长达两年的专利大战。证明发 布于 2007 年的 iPhone 的先进与创新是苹果公司在专利大战中采取的主要策略之一,选在这个时间“分享” 这个故事无疑是为自 2012 年 8 月之后的第二次美国庭审做好舆论准备。在这一轮庭审中,更多的 “较新款” 设备将被牵涉进来,而关于赔偿金额方面也会进行新的辩论,意味着这场专利大战的代价将越来越大。



这篇关于苹果工程师首度对外回忆iPhone诞生过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/698538

相关文章

Linux线程同步/互斥过程详解

《Linux线程同步/互斥过程详解》文章讲解多线程并发访问导致竞态条件,需通过互斥锁、原子操作和条件变量实现线程安全与同步,分析死锁条件及避免方法,并介绍RAII封装技术提升资源管理效率... 目录01. 资源共享问题1.1 多线程并发访问1.2 临界区与临界资源1.3 锁的引入02. 多线程案例2.1 为

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin