下载客户端
下载客户端
关于我们 寻求报道 加入我们
公司 2009-8-16 09:00

为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对话框,说以下内容发送失败,用户可以选择“再试”或者“删除并拷贝到剪贴版”。

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

有好的产品或者项目希望我们报道,猛戳这里 寻求报道

文章评论(-)
后参与讨论
正在加载中

Mozilla副总裁:移动版Firefox近况

2009-8-17 09:21下一篇

Palm Pre屏幕键盘的最新进展

2009-8-14 09:03上一篇