Qian's Blog

July 30, 2009

修改TwitterFox的API参数上Twitter

Filed under: 未分类 — Tags: , , , , — Qian He @ 4:06 pm

之前讲了如何在Mac上修改Twitteriffic的API参数来访问Twitter,这次我们来讲一下如何修改TwitterFox在Firefox平台下使用Twitter。

定义:$API = “nest.onedd.net/api”(或其它string,请参见http://blog.heqian.name/?p=49

  1. 下载TwitterFox的插件包“twitterfox-1.8.3-fx.xpi”
  2. 修改后缀名为“.zip”,解压缩
  3. 替换“\chrome\TwitterFox.jar\content\twitterfox.js”中所有的“http://twitter.com”和“https://twitter.com”字段为“http://$API
  4. 替换“\components\nsTwitterFox.js”中所有的“http://twitter.com”和“https://twitter.com”字段为“http://$API

OK, done. Just install it to Firefox.

July 15, 2009

关于Web Application和Native Application的思考

Filed under: 未分类 — Tags: , , , , — Qian He @ 1:00 am

如今Web Application(以下简称“WA”)大行其道,在使用这些Web Application的过程中,一种趋势渐渐形成,那就是将WA本地化,也就是转化成Native Application(以下简称“NA”)。转化的方式,就我看到的而言,有以下几种:

  • 在NA中嵌入browser,然后根据获得的web信息进行layout调整,增强native的用户体验。典型的例子是:Mac的Fluid,Mozilla的Prism
  • 在NA中调用WA提供的API,然后纯用native的GUI。经典的例子是:Twitter Clients for iPhone、PC、Mac,Facebook App for iPhone……

为什么在WA的大趋势下,还有这样可能被认为是“走回头路”的逆流呢?我认为,原因在于资源和用户体验。

首先,browser的资源消耗一直是个问题,就我现在写Blog的时候而言,Safari的内存消耗是175.72MB,这对小型的WA是不可接受的。试想,为了使用一个像Gmail这样WA,用户需要花费上百MB的内存,而笔者现在开着的Apple Mail(a mail client)消耗的内存是50.03MB,你会选择哪个?另外,为了展现WA的效果,browser不得不加载足够的信息,如HTML、XML、JavaScript、CSS,带来了不少额外的网络资源消耗,虽然对于使用宽带的普通PC or Mac用户不是问题,但是对于使用移动设备(如:手机、laptop无线上网等)的用户而言,这是一个不能回避的话题。与此同时,性能也是一个问题,即便现在各种browser都以提高JavaScript运行效率作为提高性能的重点,但是对于比较复杂的WA,操作延时也是用户可以感知到的。相对于在“完整的”browser上使用小型WA,NA不仅运行效率高,而且消耗资源小。

其次是用户体验。虽然WA可以随时修改用户体验而免去了部署的麻烦,但是不得不打开browser来实现操作也是有问题的。例如,现在我需要使用Google的Tasks服务,这个服务很小,仅需要显示一个To-do List就OK了,但是我却不得不打开一个占满屏幕的browser。Twitter也是这样,本来我只需要查看大家的tweets和简单的发送tweet而已,一个侧边栏足以完成任务,而我也得打开一个browser,这也是我不能接受的。在看到WA的弊端的同时,我们也要注意到NA的弊端,那就是每次修改用户体验都要重新发布新NA,这一点也很恼火,Twitter Clients的频繁更新也很让我“血沸”(方言,贬义词)。

所以,纵观WA和NA,各有优势。在强调lightweight时,我们不妨通过server提供的API,同时以NA来提高性能和用户体验;对于大型复杂的WA,我们可能只能靠browser来帮助我们完成。

Fluid和Prism是很好的一种尝试,是一种在WA和NA之间的tradeoff,既有NA的高效率,也有WA的灵活。我将在未来几天里尝试Fluid给我带来的新的用户体验。

July 7, 2009

关于如何在Mac和iPhone上翻墙tweet

Filed under: 未分类 — Tags: , , , , — Qian He @ 12:01 am

今天,Twitter再次被封,本也是预料之中的事情。但是也不得不费点周折,在Mac和iPhone上翻墙tweet。

用Hotspot Shield翻墙的方法我就不详细介绍了,这种方法的本质就是VPN,既费流量又麻烦,对于iPhone来说更是不可接受的。

相比于其他方法(第三方web,如:TwitZap、iTweet),我觉得比较好的办法是使用第三方的API。在Mac上用Twitteriffic使用第三方API的方法如下:

修改

/Applications/Twitterrific.app/Contents/Resources/defaults.plist

<key>protocol</key>
<string>https://</string>
<key>baseUrl</key>
<string>twitter.com</string>

修改为:

<key>protocol</key>
<string>http://</string>
<key>baseUrl</key>
<string>nest.onedd.net/api</string>

当然,你也可以还是用Twitter的API,但是需要自己解析DN为IP:

<key>protocol</key>
<string>http://</string>
<key>baseUrl</key>
<string>128.121.146.228</string>

这样就OK啦,虽然用http协议比较不安全,但是Twitter里又有什么值得“安全”的呢?

至于iPhone嘛,Twinkle是走自己的服务器,然后转发到Twitter,所以还能用,但是服务器不是很稳定~

另外,可以使用LaTwit、Twitterrific for iPhone和TwitBird修改API的base URL,URL同上高亮字段。

July 5, 2009

Angels & Demons

Filed under: 未分类 — Tags: , , , , — Qian He @ 2:56 am

高中的时候,曾有三套书迷住过我:The Lord of the Rings, Harry Potter, and the novels written by Dan Brown (Digital Fortress,  Angels & Demons, Deception Point, and The Da Vinci Code)

晚上下了Angels & Demons的电影版,重温了一遍当年被历史和文化震颤的感觉。不同的是,这一次,我更关注关于宗教的话题。

我是一个唯物主义者,虽然也曾经动摇过,因为那时很多东西我还不能理解,很多疑惑又不能通过我当时生活环境中的人得到解答。即便到了现在,依然有不少问题是科学所不能解决的。一个困惑了我久的例子:Big Bang学说中,基点来自哪里?Big Bang之前,宇宙又是什么样子?Big Bang为何会发生?

在现阶段,科学貌似不能解决所有问题,但是这并不意味着这些问题就无解。个人认为,与其把这些不能解决的问题都归结为“神”的杰作,还不如努力去探究这个未知的领域。

正如Angels & Demons中Robert Langdon说的那样:

I’m an academic, my mind tells me I will never understand God.

但是,也许:

Faith is a gift that I have yet to receive.

Who knows? 我还是不要庸人自扰了,洗洗睡吧……

Powered by WordPress