One of the main theme about the iphone UI is its 'springy' interface. You can find it everywhere from the home screen to pretty much all UI screens on iphone. The iphone home screen is called 'spring board', I am pretty sure the word 'spring' is referring how you can swipe the icons off screen and then they bounce back. Most scrollable screens on iphone have this spring effect that allows you to scroll the UI further than the bottom or top and then automatically bounces back.

Palm Pre, in addition to having multi-touch just like the iphone, also copies this spring UI pretty much exactly (download the SDK and try it yourself).

Andoird's UI, however, does not have this spring effect. Since the entire android platform is open sourced, I figured I can bring the same effect to android by modifying its source codes . As it turned out, it's not difficult to do at all. On android, there are actually some codes in view scrolling to limit the scrolling by the height and width of a view. So all I need to do was remove these restrictions and then add a little bit of logic to make the view scroll back when you scroll past the view bound.

Here's what it looks like on android with the same effect:


So Android is perfectly capable of having this spring UI effect and I am sure the developers of android know about this. I think they were really trying to avoid copying too much from the iphone (for whatever reasons). It's also interesting that HTC's new phone Hero , which has a modified android UI (that is developed by HTC) also copied this springy UI effect. I am pretty sure they did that by modifying the android source codes just like I did :-)