没有上来写东西n久了。 刚刚这个星期完成了第一个iPad app的开发 iNotes for iPad。觉得有必要上来说说关于为什么我要开发这个app以及这个app的开发过程。因为学习了37signal和dhh所提倡的方法, promoting your thoughts by teaching people,在教别人做一个事情的时候(对我来说就是iPad的开发)来传播你的思想方法和产品。而且,刚刚昨天离开了工作3年的公司开始自己的soho旅程,没有什么不可以说的了(在职的时候,不能说太多工作上的东西)。因此,在未来的一个星期内,我会总结出开发iPad app的心得和我对iPad 软件的一些看法。
首先,先自我介绍一下吧,我是以下iPhone/iPad apps的开发者:
Rutter's Finder iphone apps
Techron2Go iphone app
VoiceCard iphone app
iNotes for iPad (Coming Soon/即将推出)
参与了iPhone开发整整一年,从一开始的好奇(在公司用自己的macbook从对obj-c一无所知到4天搞出了第一个demo給老板看,再用自己的macbook在公司开发了整整1个月,老板才答应买了一台iMac),到现在开发出了多个产品。公司从没有移动开发人员到现在的5-6个开发人员,到现在移动产品成为公司的杀手级产品,只花了一年时间。对iOS的开发太喜爱了,我把自己的未来赌在了这个平台之上。特别看完了iOS 4的api后,深信苹果的一句话,"iPhone 4 changes everything again"。这句话同样适用于iOS app开发之上,为什么?因为新的api+创意可以令你和大开发团队例如, tap tap revenge回到了同一起跑线上。
iNotes是我的第一个iPad程序,当我看到了乔教主对这个设备进行演示和了解完api document后,我想到,iPhone是在普通消费者的应用层面上带来了巨大的革命,而iPad这个设备,是即将在商业领域上带来巨大的影响甚至是革命。例如,教育界,医疗界,房地产界等等的行业应用。而连接设备和这是行业的专业人士的就是我们开发者。深深考虑了这些的时候,我觉得我必须要开发iPad的软件,iNotes就是我的第一个主意,因为最容易令大家想到的iPad的应用场合就是笔记记录。
虽然iPhone/iPad自带的Notes软件很漂亮,但是我发现,整个软件就是一个笔记本,每个记录是一页,在我使用一段时间后,问题很快就来了。例如,我在公司用它来做工作会议记录,回到家后,也用它来做家庭琐事记录,但很快的里面就开始乱七八糟了。你做下一个会议记录的时候,翻看上次记录就要在list里跳来跳去。因为,我觉得有必要做一个笔记app,里面包含不同的笔记本,例如会议记录是连续的一个本子,家庭记录是另外一个本子。这就形成了iNotes第一个功能需求,Notes are orginized in different notebooks. 默认的notes软件更像是一个便签式的记录工具,而iNotes是一个不一样的角色。
搜索了很多iPad上的笔记软件后,发现很多以手写为主的note程序,例如做得很好的Penultimate,但使用后,我立即发现这类app的缺点也非常明显。手写的确很有趣,但因为iPad的手写工具是手指头,例如写中文的精度太低了,要把字写得好,必须把字写得很大,一旦写大了,一页纸自然不能写多少东西。另外一个更大的缺点是,这些手写文字都被保存为图像,不能后来进行搜索或者格式转换,成为图像后,字的信息量就失去了。所以,iNotes的第二个功能需求就出来了,我的app要兼容手写但不提倡用户用来写文字,多数是用来画线,画图,和画出文字的重点部分。这样才能包装笔记的文字信息量,和以后的可搜索性。
当我把自己套进学生这个角色来用iNotes的时候,我会用它来记录上课笔记,例如这个学期的数学课的笔记,一个学期完后,我就有个一个数学课的笔记本子。到了期末,要和同学之间共享这个本子。因为当年学生时期做得最多的就是复印班里一些同学的笔记。这样,笔记共享这个功能就出来了,iNotes的第三大功能 - 输出PDF后通过email分享以及拷贝到pc上打印。
在这三大骨架功能确定后,我在这些基础上再添加了其他小功能,插入图片,网页快照(用来讨论和分析网页),地图快照(快速记录和分享地理信息),文本框功能(手写的字太大了,用来做说明时,不方便,可拖动的小文本框比较好)。
iNotes功能设计基本上就是这些。也是我对其需求的思考过程。这个文章就写到这里,下一文就开始谈谈开发技术上的一些心得。希望这些可以为一些希望加入这个圈子的开发者带来帮助,和为正在做开发的一些程序员带来一点共鸣,我们可以产生一个可以互动,互助的开发圈子。
iNotes的一些屏幕截图已经贴到了附件中,欢迎大家的各种意见。
- 大小: 189.4 KB
- 大小: 219.6 KB
- 大小: 196.2 KB
分享到:
相关推荐
- **特殊表单(Custom_*):**iNotes 提供了一系列特殊表单(如 Custom_ActionBar),可以用来实现对客户端界面的快速定制,例如修改操作栏菜单、添加主头等。 #### 实战演练 为了帮助理解,课程中还包含了一些...
【iNotes Web Access】是IBM Domino服务器提供的一种Web应用程序,让用户能够通过Web浏览器访问和管理他们的电子邮件、日历、联系人、任务和其他协作工具。它为远程用户提供了与使用传统Lotus Notes客户端相似的功能...
domino inotes邮箱的功能说明与可定制文档。
IBM Lotus iNotes 是一种基于Web的企业级电子邮件系统,为用户提供关键的业务通信服务。确保iNotes的高可用性对于任何依赖邮件系统的组织至关重要,因为它涉及到24/7的不间断服务。为了实现这一点,我们需要结合IBM ...
DominoWebAccess(iNotes)配置实战.pdf
针对"如何禁止某些iNotes用户访问Domino服务器"的问题,这里提供一种在Domino Server 6.5环境下实现这一目标的方法。首先,我们需要理解Domino Server的安全机制,它通过服务器文档和端口配置来设定用户访问权限。 ...
总之,Domino Web Access/iNotes是一个强大且灵活的Web邮件和协作平台,通过适当的配置和管理,能够为用户提供便捷的远程访问和协作体验。在现代企业环境中,DWA可以帮助提升生产力,同时满足移动办公和远程工作的...
iNotes是一款基于Java技术开发的多平台笔记应用。在Java编程世界中,iNotes可能是一个用Java语言构建的跨平台应用程序,旨在提供便捷的笔记管理功能。Java的跨平台特性使得iNotes能在Windows、Mac OS X以及Linux等...
《C++ iNotes》资源汇总是一份全面且深入的C++学习资料集合,旨在帮助开发者、学生和爱好者系统地理解和掌握这一强大的编程语言。C++,由Bjarne Stroustrup于1979年创建,是C语言的增强版,它引入了面向对象编程的...
C++是一种强大的、通用的编程语言,被广泛应用于系统软件、应用软件、游戏开发、设备驱动程序等各个领域。这本"C++笔记——iNotes"很可能是为了帮助学习者掌握C++的基础和进阶概念而编写的。在深入探讨之前,我们...
启用Web服务是Domino Web Access (iNotes)配置中的第一步。这里提供了两种方法来启用Web服务。 ##### 方法一:修改服务器notes.ini配置文件 1. **打开并编辑服务器的Domino/notes.ini配置文件** - 首先需要定位...
Domino Web Access iNotes配置手册 Domino Web Access iNotes配置手册
总之,iNotes-spring 示例项目为 Java 和 Spring 开发者提供了一个实践平台,帮助他们掌握 Spring 框架的各个方面,从而提升开发技能并加深对 Spring 工作原理的理解。通过深入研究项目源码,开发者可以了解到一个...
首先,制作一款APP,必须要有相关的idea,也就是说,第一步是APP的idea形成。 其次,就是通过那些idea来进行APP的主要功能设计以及大概界面构思和设计。 接着是大功能模块代码编写以及大概的界面模块编写。在界面...
首先,制作一款APP,必须要有相关的idea,也就是说,第一步是APP的idea形成。 其次,就是通过那些idea来进行APP的主要功能设计以及大概界面构思和设计。 接着是大功能模块代码编写以及大概的界面模块编写。在界面...
首先,制作一款APP,必须要有相关的idea,也就是说,第一步是APP的idea形成。 其次,就是通过那些idea来进行APP的主要功能设计以及大概界面构思和设计。 接着是大功能模块代码编写以及大概的界面模块编写。在界面...
《iNotes-for-Android: Android编程的个人实践》是一款由大学生在大学三年级期间开发的Android应用程序,它展示了Android编程的基本技巧和实践经验。这个项目命名为"iNotes-for-Android",显然是一个笔记应用,旨在...
这个主题主要围绕一个名为“iNotes”的项目,它似乎是一个个人笔记应用或者服务,由用户ihsansencan在GitHub上托管。通过对该项目的分析,我们可以发现一些关于安全漏洞和HTML利用的知识点,这对于开发者和网络安全...
iNotes后端服务器检查API文档: : 开始步骤如果未安装,请安装nodejs 如果没有安装,请安装git 使用git clone ...然后将example.env文件重命名为.env 设置.env值运行npm i命令以安装所有依赖项运行npm start命令