The team went to D&B for group outing. The next day Spiderman showed up in the office...


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 :-)


1. Round corners look better than sharp corners, round all corners
2. Background that are semi transparent looks better than opaque background, regardless how little the transparency is
3. Gradient, high light, shadow look good, add them to everything
4. Big text > small text, non-color (black, white, gray only) text > color text
5. Colorful icon = good, big and colorful icon = better
6. When in doubt, see Iphone


Good news! Now I can build some cool apps with these free servers.

it can make http/https requests, has cron jobs, and best of all, it's from google :-)



By Jay Liang


Lambda 4 JDT

By Jay Liang

LOL, so it comes down to this for closure in Java. Install this eclipse plugin then you can have the option to collapse inner classes code to closure style. It's not real closure, it's just ... well I don't know what it is. It's cool I guess. :-D


Take a look at , it's a web client for android's app market. You won't be able to download anything from the site, it's just a place where you can view the descriptions of the apps and their ratings/reviews.

It also listed the version number of these apps. Another service, aTrackDog is using its data (I think) to provide a version check service for all apps from the market (there's currently no new version notifications from Google's app market). does not look like a service from google, and there's is no publicly viewable database about the market from google (you can only access the market from a actual G1 phone). I am not sure where Cyrket get its data from. It probably actively harvest data from the market. The data on the site is almost real time, i.e. if I make changes to my app it will show up on cyrket very quickly.

So where did it get the data from so quickly? I am very curious... Perhaps the traffics between the app market and the G1 phone is not encrypted so they were sniffed out from the tubes?

by the way, here is a list of my apps


looks like my guess was correct, this guy posted a blog post about how he can get live app market data

and installing the app market app on the emulator is also possible (judging from his screenshot)?