16

为iPhone设计个完美的快推客户端

by newkhonsou@twitter

App Store上的Twitter客户端恐怕要有上百款,而我需要的,其实只有两款:全功能的,和快速发推用的。

全功能的Twitter客户端以前已经分析过了。我最终的选择是Tweetie(推送通知还需要用IM+解决)。

快速发推用的,有著名的qTweeter,很酷,可惜实现机制不容于App Store,而且要常驻内存。App Store现有的快推客户端也有不少,免费的有Tweetfire,iTweetSong等,收费的有Post等,不过总是有一些令人遗憾的问题。

最后选择了iTweetSong,但还心有不甘。索性,设计一个完美的快推客户端,如果有开发者感兴趣,不妨拿去实现。既然要做成最好的,买1.99美金问题不大吧?设计包括QA对应都免费,注明设计者为KKK@www.ifanr.com即可。:)

需求分析

作为全功能twitter客户端的补充,功能不需要全面强大,只专注于最基本的功能:发推。只做一件事,做到最好。

1 快速启动

快速启动是这种软件的立身之本。如果比Fon之类的全功能Twitter客户端启动慢就失去存在的意义了。

2 简洁

发推这么简单一件事,用户肯定不希望看到层层窗口。像Tweetfire的用户选择窗口不是好例子,宁可放弃这个功能。

3 字数统计

发推的最基本功能之一。

4 图推

这也是发推的最基本功能之一。

5 歌推

拿到iPod正在播放的乐曲的歌手和歌曲名并发推。对我来说很实用的功能。而且似乎也比较流行。很多全功能Twitter客户端不具备这个功能,所以是快推客户端的一个卖点(比如免费的iTweetSong,收费的TuneTweet)。

6 网页推,并缩短网址

Twitterrific和Fon有通过书签调用并发推的功能。这也是很实用的功能。在Safari上看到什么有趣的文章,如果有启动快速发推软件的机会,用户一定不会考虑更重型,更慢的Twitterrific和Fon。既然可推网页那么缩短网址功能就是必须的。

7 可离线发推

手机不会总有信号,但是用户不会在离线时就不思考。这似乎也是目前AppStore上没有软件支持的功能。大卖点!

8 发推后自动退出

Send之后,还需要按一下Home显得多余,很贴心的功能(Post已经实现)。连续发推的场合应该比较少,大不了再启动一回。当然,也可以考虑像Post那样在Setting里面加上是否自动退出的开关。

9 自动保存

打了7,80个字,然后按了Home,这些内容一定要保存住,否则用户再进来发现又要打一次,肯定很恼火。

其中高速启动(当然要真的够快),离线推都应该是独一无二的特性。通过书签发推虽然有Twitter客户端实现了,但是在快推软件中似乎还没有。这三个特性足够让AppStore上所有的快推软件甘拜下风了。

UI
最主要的窗口如下图。改自Twitterrific的发推窗口。

还有一些窗口没有画,比如第一次至少蹦出个窗口让用户输入用户名和密码。选择图片什么的也需要另外的窗口。不过不需要特别设计,系统自带的UI就可以了应该。

另外配色比较单调,这个可以适当调整。(配色可以参考Twinkle的发推窗口。)

FastestTweeterUI

功能

为了讲解加了数字标记。大概功能其实应该以看就能猜出来吧。那个乐谱符号是我手画的,比较难看还请包含。:)

FastestTweeterUI2

标记1为剩余自数表示。随输入变化而变化。

标记2显示用户名,让用户知道到底谁在发推。

标记3为状态信息显示,让用户知道软件现在的工作状态。“sending(5)”表示正在发推,队列里一共有5个推。图片添加成功等消息也可以这里表示。

标记4是输入框,不用多说。

标记5用来选择图片。

标记6用来得到当前iPod播放的音乐的名称和歌手,并自动输入在输入框中。

标记7用来缩短输入框中的网址。

标记8用来加上自己当前的地点信息。

标记9是发送并清空输入框。在线既时发送,离线则把当前推排入队列。

标记10为系统自带键盘。

不需触摸的部分(剩余自数,当前用户,和状态表示)放到了画面最上面。这样是为了腾出键盘上面的黄金位置,放那些常用的功能按钮。5个功能按钮,都安排在了整个屏幕中最好按的位置上。

唯一令我有些担心的是“Send”,他应该最常用,所以安排到了最右边。但是因为离键盘很近,所以可能有误按的问题。如果担心,可以考虑给“Send”加确认。

或者,把上面的状态栏,挪到功能按钮和键盘中间。:)

FastestTweeterUI3

设置

用户名,密码,是否打开发送并推出。。。这三项足够了吧?(xpoint提醒说,这里还需要一个选项来设置API。:))

实现要点

速度!!!

启动软件之后,建立网络连接,登陆Twitter都先不要做。先弹出输入框和键盘,让用户达到可输入的状态。

在用户打字的时候,再做连接网络,登陆Twitter等动作。(iPhone的软件是可以多线程动作的,内置的短信可以在发送时输入,Byline也可以在同步时浏览。)

同样道理,“取得当前播放歌曲信息”,“缩短网址”,还有“加入当前位置信息”这几个功能,也都不做成自动的。用户去点那些同能按钮才执行。虽然缩短网址这种东西做成自动的会显得贴心,但是为了速度还是宁可让用户多点一下吧。

发送也是,直接把当前内容排入发送队列,然后清空输入框,达到可输入的状态。(如果发送并退出被用户设置成Off的话)

将来可追加的功能

其实实现了以上的功能已经相当到位了。当然下面的功能也可以考虑实现,但是最好保持克制。不要忘了,这个软件的宗旨是,只做一件事,做到最好。

1 多账户

在设置里加个增加用户的选项,并且可设置当前用户。主窗口的“iFanr Tweeting”相应点击,每点一次切换一个用户。

2 mentions提示

D或者@后面如果输入字母的话,追加个列表显示并过滤Following和Follower的用户。不过技术上似乎有难度。可能必须追加窗口了。

3 离线推发送管理

可能也需要追加窗口。可以删掉未发出但是排在发送队列中的推。

4 视频推

5 Push和启动全功能Twitter功能

等等。

最后,别忘了做个好看的图标,起个一目了然的名字。。。比如:

FastestTweeter

ps 关于离线推的补充:

多谢@lawrencelry 和 @nAODI,他们推荐了一个可离线推的软件birdhouse。

用了一下发现,他的离线推是通过草稿实现的。如果你选择公布,没有网络仍然会报错。下次连接到网络时,你仍然需要再次指示birdhouse一次。

这和我所说的离线推还有不同。

我的设想是有个发推队列,只要按send,无论成功与否,先进入队列再说。离线的话队列不断增加,如果在线就一个一个发。那么send只需要指示一次就够了。

是否在线不需要用户考虑,指示也完全没有必要多次。用户只需要告诉软件一次,我要发这个推就够了。在网络连接正常的情况下把它发出去是软件的任务。

这里有个问题是队列中的发送出错的处理。连接超时过后重试就好了,140字已经检查过了。如果有错,应是用户名密码不正确等等,应该比较少见。所以不想为此追加发送一览和管理窗口。可以弹出个Popup对话框,说以下内容发送失败,用户可以选择“再试”或者“删除并拷贝到剪贴版”。

这个级别的实现应该仍然是独家特性吧?:)

7 条评论了已经

发表评论

名字(必须)
邮箱(不会被公布)(必须)
网址

使用新浪微博登陆

字体为 粗体 是必填项目,邮箱地址 永远不会 公布。

允许部分 HTML 代码:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
URLs(网站链接)必须完整有效 (比如: http://www.ifanr.com),所有标签都必须完整的关闭。

超出部分系统将会自动分段及换行。

请保证评论内容是与日志或 Blog 内容相关的,灌水、攻击性或不恰当的评论 可能 会被编辑或删除。

      小众论坛

      猫窝论坛

    态度

    ifanr 近期的内容调整

    Loading ... Loading ...

    最新评论

    分类目录

    推荐阅读

      订阅到iGoogle或Google Reader 订阅到鲜果 订阅到抓虾 订阅到飞鸽 订阅到Bloglines 订阅到我的雅虎 订阅到NetVibes 订阅到Newsgatar 订阅到Rojo 订阅到网易有道 通过哪吒订阅到MSN,Gtalk,Skype 订阅到QQ邮箱

      weibo

    @iflea 互助交易群


    @范小叨

    • 坐在电视前人是轻松的,坐在电脑前人是紧张的。电视是家庭生活,需要更轻松的享受。而点播和收视类似于拉取和推送,后者更轻松。RT : 大家都觉得电视不能连到网络上不对劲,但是目前包括苹果,都没有成功的把他连到网络上,这里面差了点什么呢?
    • 99美分一部片,租赁还是购买,似乎是个问题 http://www.ifanr.com/18672
    • 9.1 Apple Press Event 全记录,综合了之前的一些八卦,可全面了解现场一些精华细节,推荐阅读。http://ifanr.in/co2mjZ
    • 美国海军在测试的现实增强软件,用来训练机械维修。他们用了一个头盔,可以将计算机生成的 3-D 图像覆盖在需要维修的设备之上,将每个部件标上名称,然后给出一步步的指导。http://www.ifanr.com/18380

    友链

    功能

    小众论坛