过去两个月,我一直负责公司的第一个iPhone程序项目,昨天这个程序终于经过了Apple复杂的发行程序,现在已经在苹果的app商店里上架了。呵呵。如果你刚好有iTouch或者iPhone,不妨把这个小程序装到你的机子上面吧,这个程序现在是完全免费的,你可以在这里找到它。你也可以在你的机子上面的AppStore里面搜索:”IELTS 31 Formulas”,然后安装它。

这个程序在我的技术blog中有更详细的介绍,现在摘录如下:

This application is based on Titanium 1.4. Big thanks to the brilliant Appcelerator Team.

I open sourced this app on our github repos. We also built a website for this app at http://www.31formulas.com

目前我们已经开始准备第二个iPhone项目,在第二个iPhone程序中我们会有更强大的功能,敬请期待 :)

Bowline is a framework for making cross platform desktop applications in Ruby, HTML and JavaScript.

If you’ve ever wished creating a desktop application was as simple as creating a Rails website, Bowline’s for you.

Bowline respects MVC, you can design your views in HTML5/CSS3 – then bind them to your Ruby models. There’s no request/response cycle – any changes in models automatically get reflected in the view.

See : http://bowlineapp.com/

Experiment on this framework:

Requirements:

* Mac OSX >=10.5 or Ubuntu —–> [I am on Ubuntu 9.04]
* Ruby 1.9 —————————–> [I use RVM to switch ruby between different version]
* Bowline gem ———————–> sudo gem install bowline

RVM

* Install RVM to manage Ruby easily, then you decide which version you will use.

OK, Now create an application in an easy way:
>> bowline-gen app helloworld
>> cd helloworld
>> bowline-bundle
>> ./script/run

Unluckily, On Ubuntu 9.0.4, There is an error about a needed lib when I run the application, see
/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.11′ not found (required by /home/andy/.bowline/bowline-desktop)

I searched around and found it’s something wrong with gcc version, or these is still a webkit lib involved issue under Ubuntu9.0.4, anyway, it’s interesting to me, I am now wondering if we can reference some bowline experience to create iphone/ipad application based on ruby on rails. not sure, I am researching in advance.

Been working on Renren Connect application for a while, when talking about its API, I think every coin has two sides, so let’s see its sides:

A(davantage) side :
1. Configure cross domain file to resolve JS cross-domain issue between application domain and renren domain. Not sure if a similar solution can solve our ajax load cross domain-issue.. or meet our other future use. The file as below:

1
2
3
4
5
6
7
8
9
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<script src="http://static.connect.renren.com/js/v1.0/XdCommReceiver.jsp" type="text/javascript"></script>
</body>
</html>

2. Learn from Renren “markable language”, it’s an clear way to capsule complex code block. It may help us to build standard function/display lib in future, I guess its a good way to reuse component among applications. sample is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xn="http:///www.renren.com/2009/xnml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <title>Renren Connect</title>
</head>
<body>
  <xn:login-button autologoutlink="true"></xn:login-button>
  <script type="text/javascript" src="http://static.connect.renren.com/js/v1.0/FeatureLoader.jsp"></script>
  <script type="text/javascript">
    XN_RequireFeatures(["EXNML"], function()
    {
      XN.Main.init("16356ddc758343a39400837e79f1a18e", "/xd_receiver.html");
    });
</script>
</body>
</html>

Above two technologies are a bit impressive to me, we may use it in future to organize our platform somehow.

D(isadvantage) side:
1. I think the first “D”, which is also bad, is the development document. It’s partially out-of-date, that results in many stupid tries for their API. So we should learn the lesson and plan to write handful document in a clear way..

2. The second “D” is Renren doesn’t have convenient sandbox for testing the third party application, we can’t easily test or improve it when it’s released, cause Renren only has one single configuration for each one application, that also means we have to take risk for further development which may change your application directly when it’s released.

Summary:
Great Technology + Clear Convenience = Comfortable Awesome

I’ve read RenRen development Doc and tried some simple feature for a while, its platform is interesting and exciting, but much of its document is out of date(I guess it’s not been maintained for a time). so there are pains to test most of its APIs, here I will roughly introduce what we can do based on RenRen open platform.

First of all, RenRen platform supports five types of APPLICATION, which are:
– RenRen Canvas. It means application/content is embedded in RenRen’s web container via XNML/IFrame/OpenSocial-Gadget etc.
– Mobile Wap application.
– RenRen Connect. It means an external website is connected to RenRen, the two sites can share many different infos according to the channel/bridge API.
– Desktop Application.
– Mobile Client Application.

Obviously, RenRen Connect is what developer need upon first step. So the question is how does it work? Follow me, I will go through the imagined application to show what feature developer can build according to RenRen connect API, now go:

1. Tom is a RenRen user, he just find an “application” which tells him he can improve his oral English, that’s interesting, he clicks it in order to add the application to his list.

2. Then he find EQenglish.com, he uses his RenRen account to login EQenglish, He find he can order an speaking evaluation for free on the website, and what’s more, he even can push this message and/or the study status to his RenRen friends.

3. Tom goes through EQenglish website to check EQ learning methods, He can easily share the web page to his RenRen friends.

4. Andy is an EQenglish user, he bundles his EQ account and RenRen account on EQenglish website, so he can push his study status to his RenRen friends.

5. Andy finally buy a course, then all EQ learners who have RenRen accounts can receive an email/notification, in which it broadcasts “Andy buy a course ***” something like that.

6. Once Andy discussed an EQ lesson, his comments is synced to his RenRen status, all of his Friends there can see his status.

7. Tom finds Andy’s EQ profile via the discussion thread, the surprise is Andy’s is his School mate, they have the same IELTS exam time. They connect with each other on RenRen.

8. What’s more, Tom finds a section in EQ website, He can pick up all his Friends list, and suggest them to use EQ service. Also aside the lesson discussion thread, there is a live stream box connecting to RenRen page. so He can easily comment with friend..

Etc..

Above is a rough introduction of RenRen connect feature developer can build(it is based on RenRen connect’s API, not just my imagination).Click here to review RenRen Conncet Production Description.

点击下面的连接注册Dropbox:
https://www.dropbox.com/referrals/NTQ4OTQyNjk5

为什么要使用Dropbox?因为非常非常有用,赶紧了解一下啦~点击查看

这里面有个明显的阳谋,那就是:你通过上面的连接注册并且使用的话,我能得到额外赠送的使用空间,哈哈~

谢谢!

我的一代小i从08年挺到现在,昨天刷机至3.1.2OS以后焕然一新,随后爱不释手,一直玩到深夜。不管是从性能还是整体的感觉,这个版本的一代iphone真是帅到极致。

两年前夏天的一个下午,我从两点到凌晨两点,一直再研究刷机,即使到现在我也一直弄不明白破解和越狱有什么区别,那次我花了12个小时,开始对复杂的刷机过程心生惧怕。随后过了大概一年,就是现在的一年之前,很好奇iphone能不能在ubuntu上面同步itunes,结果机子就横在哪里,不得已,花了大概三个小时刷机并且试图回复所有的联系人和照片,即便那次更新成功,心里仍然留下了不小的伤痕,这叫一个麻烦。更要命的是后来的机子一直不稳定,经常crash。

而这一次,我仅仅用了30分钟,并且在这三十分钟里面我还解决了一个比较奇怪的问题,感叹科技的进步,渐渐的,生活只需要一个action,action背后的逻辑似乎越来越不需要暴露出来。

刷机TIPS: 解决刷机时候1604错误的方法。(同时秀一下新刷的iphone下面使用twitbird的截图 :) )

© 2011 Refactoring Thoughts Suffusion theme by Sayontan Sinha
普人特福的博客cnzz&51la for wordpress,cnzz for wordpress,51la for wordpress