Sunday, March 20, 2011

iPad2 vs Xoom - Internet browsing

This article compares the Internet browsing experience on the two devices (Xoom running Honeycomb 3.0.1 vs iPad2 running iOS4.3), in the following 7 categories:

Operation
The quick control system on Honeycomb browser allows you to go back, forward, refresh, bookmark and other actions using your thumb when holding the tablet. This is not a default setting. User will need to enable it in the settings. Once enabled, the action bar will disappear and thus give you more real web page display. You can popup an action menu by swiping either of your thumbs from edge. The popup menus will display where your thumbnail swipes and is arranged around the thumb so that you can easily click an item.



On iPad2, you move your hand to click on the buttons on the top.

Winner: Xoom




Multitab Browsing
On iPad2, to switch between tabs, you have to click the tabs button then chose a tab from the new tab grid view, this is a bit cumbersome especially if you are familiar with multi-tab browsing on a full pc/mac browser. On honeycomb, tabs are always displayed on the top just like they are on a desktop browser and switching tabs is a 1-click thing.
Also, Xoom has 1GB memory while iPad2 has 512MB, whether this translates to more tabs supported on Xoom is yet subject to test.

Winner: Xoom




Typing
The touch screen keyboard on iPad2 is designed for a phone (just like the whole OS) and thus not suitable for the bigger tablet layout. Typing on it is even slower than typing on iphone, basically you are forced to type a full size keyboard using one finger. On honeycomb, you can download the thumb keyboard input method from market (free). This soft keyboard layout the keys around the bottom left and right corner so that you can type using both thumbs while holding the tablet with both hand, pretty much like when you type on smart phone with both thumbs, and thus achieve the same typing speed.



Winner: Xoom




Screen real estate
Xoom has a higher resolution 1280x800 comparing to ipad2's 1024x768. This means Xoom displays more content than iPad 2 when viewing the same page.

Winner: Xoom



Color Rendering
iPad2 is the clear winner in this category due to the superior IPS screen it's using while Xoom is using TFT which is common on laptops. Basically Xoom gives you the same color as normal laptop, while iPad2 gives you the color as on macs.

Winner: iPad2



Flash
Xoom supports Flash while iPad2 doesn't. It means there a great number of websites that xoom can visit normally while iPad2 simply can't. According to a survey done in 2008 , somewhere between 30% and 40% of all pages tested contained Flash files. Most popular websites already started to provide versions compatible to iPad, but it could be annoying when you bump into one that doesn't.

Winner: Xoom




Speed
According to several tests, when both on the same wifi network, Honeycomb browser on Xoom is on par with if not slightly faster than safari on iPad2. However, when without Wifi availability, Xoom will be able to work on the LTE 4G network (after the coming free upgrade from Motorola) while iPad2 can only work on the slower 3G network.

For now: tied, Winner in the near future: Xoom

Saturday, March 19, 2011

Readability and pair programming

One of the issues regarding readability control is that readability is a subjective concept and thus difficult to rely on a general guideline plus devs' self governing to control. Some code review process has been designed to mitigate such risks and in my other post "Another way of coding explained" I also tried to establish some more objective standards for readability. The most effective way of controlling readability, however, is probably pair programming with regular pair switch while both devs in the pair always focus on readability.

Pairing means constant code review, but for readability control purpose, this is not enough. By definition, readability cannot be reviewed by the dev that wrote the code, because obviously if you wrote the code, you don't really need to read it. You already know all the rational behind the code and everything just makes sense to you. This why regular pair switching is also critical for readability control in pair programming.
By regular pair switch, I mean pair switch every 1-2 days so that most medium and plus size stories got implemented by more than 2 devs. Each switch means a little ramp up for the new dev that gets switched into the pair. The dev that remains on the pair needs to explain the story and all the existing code and design decisions with the new dev. This is a great opportunity to put the readability of the code under test. The new dev raises all readability issues he noticed when reading the code. The old dev does (or should do) the same thing when s/he finds some code more difficult to explain than others.

So this is another reason for regular pair switching and pair programming in general.

Setup a Rails 3 app on an EC2 quick start linux AMI

Just setup a Rails 3, Ruby 1.9.2 on a free ec2 micro instance (http://aws.amazon.com/free)
Started from the quick Basic 32-bit Amazon Linux AMI 2011.02.1 Beta AMI, I setup the following stack in less than 2 hours.
git
ruby 1.9.2
rubygem
MySQL
Apache
Passenger
And my Rails 3 app.

The whole process is mostly smooth. All dependencies can be found on yum.
It looks like that the free (for a year) micro EC2 instance is quite a valid solution for personal ruby projects.