Sunday
Aug222010

Idea Organizer - Best iPhone Design

Idea Organizer is featured in iOSpirations's Best iPhone Design Gallery.

 

Sunday
Aug222010

You shall Git

Git is quickly becoming the de facto standard for version control in software development.  There used to be a time when cvs was the prevalent solution.  Then svn came along and slowly but surely, everyone switched over to svn because it had solved certain issues that cvs is plagued with.  But git is more than just a switch from cvs to svn, it's fundamentally better than svn.  Anyone who is still working with svn only falls into one camp -- they have not used git in any real capacity yet.  The one main advantage of git (and this factor alone is enough for anyone to consider staying away from svn) is its distributed nature.  In other words, there is no central repository to speak of like you do with svn.  All version info is stored inside a folder at the root of your project called .git.  Another big thing is that with Git you don't have .svn file sprinkled all over your project folders.  These two factors alone allow you to quickly version control your project without any need to set up a repository and deploy your source by removing just one folder.

The superiority of Git means that it will totally replace svn faster than svn did to cvs.

Tuesday
Jul272010

Problem exporting your Push Certificate into p12

If you have an issue exporting your push ceritifcate into .p12 format from keychain access (the option to export to p12 is disabled), check to make sure you have selected My Certificates on the left pane.  We add push notifications to our apps from time to time, but some times we still miss this step and waste a few minutes on this.

Wednesday
Jul142010

Chinese iPad - Gotta love it

 

Can't afford an iPad or wanna stay away from Apple's closed ecosystem? I hereby present you the Chinese iPad - iRobot.  Obviously there is no competition when it comes to this versus the actual iPad in terms of build quality and large display, but if iPad had some of the features of iRobot (such as camera, ethernet slot, and SD expansion slot), it would really make it unstoppable in this market.

Brief Tech Spec:

CPU by Anyka
256MB RAM
2GB solid state drive space, with expansion slot
7" TFT Display (Resolution: 800x480)
1.3 Megapixel camera
Wireless card
Ethernet slot
Android OS 1.5


Original Detailed Tech Spec:

主控芯片 安凯主控
    内存 ●256MB
   内置容量 ●2GB(另支持外扩卡1GB-16GB)   
   显示屏 ●7"高亮高清宽屏(800X480分辩率)/触摸

  带130万像素摄像头

   Bitmap Touch-screen,ConvertibleDisply(800*480)
  Google谷歌操作系统Android1.5(2.1)
   网络接口

 ●Wireless LAN 802.11无线上网   以及有线接口
    无线上网 ●标配WIFI  

同时支持有线上网:可连接网线上网,具有更大拓展性!!!


   输入设备 ●触摸   
   接口 ●1个USB2.0输出接口  1个耳机输出口   
   扩充接口 ●TF卡    
   BitmapBitmap
   电池容量 ●3300mAh    
   颜色 ●银    
   净重 ●0.35Kg(含电池)   
   输入电源 ● INPUT 5V 2A    
   支持音频格式 ● 支持MP3、WMA、APE、FLAC、AAC、AC3、WAV等多种音频格式

  本机可以支持30多种语言
   视频格式 ●最大可支持到1080X720(720P),支持MKV(H.264 HP)、AVI、 
   FLV、MPEG-1、MPEG-2等多种视频格式
   网上视频 ● 支持浏览网页,FLV下载(限若干主流站点)独特网站视频在线播放技术 
   图片浏览 ● 支持JPEG、BMP、GIF、PNG、TIFF格式图片浏览、自动浏览 
   定位应用 ● 支持Goolge地图定位,追踪目前位置、检视即时交通状况和目的地详细方向 
   软件下载 ● 附带google market(android应用软件市场),目前2万多个应用程序下载。

 

Photo of an iRobot alongside an iPad.

More photos of Chinese iPad: http://item.taobao.com/item.htm?id=5775058978

Wednesday
Jul142010

The Corrupt App Review Process

We got into iPhone development with passion and love for Apple's products and their development platform.  In the short time of developing products for iPhone, we have run into rejections that went from technical glitch (internal tool used by the App Review Team thinks we are using private API when we are not) to violation of Apple's subjective interpretation of what makes for objectional contents to downright corruption.
This post is not another post ranting about the arbitrary and inconsistent nature of the App Review process.  We understand the imperfect nature of things and appreciate having an app review process manage the quality of app going into the store.  But we have a problem when a small group of people abuse their power for self-interest.  It's true, absolute power corrupts absolutely, and the App Review Team has too much power.

Long story short:

• We submitted our app "Are We Same?" (originally called "We All Look Same") on June 1st.
• A week later we received an email stating that the app was rejected for violating Section 3.3.17 of the License Agreement, the infamous "the app is deemed to contain objectionable content".
• Not sure what's objectionable about our app as no specific reason is stated in the email -- we went about changing the app title, icon and a few other things we thought might remotely throw people off.  Resubmitted app for approval.
• Right around this time, an App Review Team rep called.  He explained that any use of photos for rating purposes is simply not allowed.  Suggested that we use language instead of people's photos for the identification of ethnicity/cultural heritage.  We failed to convince him that's such a criteria is bogus.  He suggested that we talked to the manager.
• After the phone call, we sent an email to the rep for the manager to review detailing our conversation (per rep's suggestion) and made our case on why our app should not be termed objectionable.
• A few days later we got to talk to the manager.  Similar thing ensued.  Main reason for rejection: The app involves using photos to identify ethnicty, that may offend some people.  Apple is a conservative company so would rather not deal with apps of this nature.  We offered the manager the option of us releasing our app for free and/or removing the app immediately if any complaint is received.  His response: one complaint is one complaint too many.
• We told contributors and peers about what happened as many of them checked with us on the status of the app.  When they found out what happened, most were disappointed and couldn't understand why.  A few ridiculed us for developing for iPhone instead of Android - we find ourselves having to defend that Apple is not evil.  A few asked us to release the app on Cydia store.
• We decided not to do any of the above.  Let's just put it to rest and repurpose the contents, which also means 1+ month of work down the drain.  We had to collect the photos from friends and volunteers around us, rather than using stock, which is painfully time-consuming but we feel it's the right thing to do.  If people are willing to contribute their photos after we show them the app, it validates that the legitimacy of it.
• A week later, out of the blue a friend who is not aware of what happened to our app sent me a link to a Korean app. I looked at the app and could right away tell the app uses photos for identification purposes.  Wait, isn't that not allowed?
• Out of curiosity, we went searching on the App Store using the keyword "ethnicity".  Gulp -- found three other apps that not only use photos but involve the subject of ethnicty as well.  (Filipino or Not?, Guess My Race? and Who Am I?)
• OK, not a big deal - we thought, maybe a few reviewers let them slipped by.  This is nothing new with the App Review process, we just have to help them correct the mistakes.
• We resubmitted app promptly and called the same App Review Team rep.  We told him what we foundWe also explained to him that from the reviews no one seems to find those apps objectionable.  He said: "You have a good point there" and asked us to email him the links to the apps we found.

• Another week or so of waiting went by, we finally emailed the rep to check in on the status.  The rep called right away and explained that our app will remain rejected because it is not the same as the other apps.  While the app Guess My Race involves using photos to identify ethnicity, it's educational as it has multiple choices and explanation right after you select your answer. It's also done by a Harvard cultural anthropologist. Our app - on the other hand, uses photos and ethnicity for game play. Interesting...so what about the criteria of "the use of people's photos for rating purposes being objectionable"? Let's skip right over that. Wait...the app Filipino or Not? makes use of photos, ethnicity and it's a game.  Well, they used famous people, the rep responded.  It's clear to us that the reason was made up on the fly and cannot stand on its own.
• At this point, it became painfully clear that the App Review Team chooses to ignore all the previous reasons on why our app was rejected and now uncovered the reasons for the rejection of our app by picking out all the differences between our app and the others.  Such behavior is far more serious than the arbitrary and the inconsistent patterns that we have witnessed - which can be corrected easily, it's downright lacking integrity.

In upcoming posts, we will talk about what we learned from all these and the effects of the tyrannical nature of App Review process on the app development ecosystem.