Sunday, March 28, 2010

Best of this Week Summary 22 March - 28 March 2010

Sunday, March 21, 2010

Android SDKs, screensizes and resolutions: comparable hardware

Trying to get an overview of the possible combinations of Android SDKs and screensizes and resolutions, *and* what physical devices are comparable, I came to the below overview. If you know some more comparable hardware, please let me know, I'll update the tables.

The first table shows the different screensizes defined as per Supporting Multiple Screens | Android Developers, mapped on real existing devices.





































































Id



Screensize, resolution, physical



Comparable hardware



A




QVGA (240x320, low density, small screen, 3.3”)




-



B




HVGA (320x480, medium density, normal screen, 3.9”)




HTC Hero 1.5 but really has 3.2”



C




WVGA800 (480x800, high density, normal screen, 3.9”)




Google Nexus One but really has 3.7”



D




WVGA854 (480x854 high density, normal screen, 4.1”)




Motorola Droid (aka Milestone) but really has 3.7” and Sony Ericsson Xperia X10 (screensize unclear)



E




WQVGA400 (240x400, low density, normal screen, 3.9”)




-



F




WQVGA432 (240x432, low density, normal screen, 4,1”)




-




The table below shows which SDK supports the above screensizes.


















































SDK



Screensize Id



1.5




B



1.6




B-D



2.0




B-F



2.0.1




B-F



2.1




B-F





Remarks:
  • The total nr of possible sdk+screensize combinations is 19!

  • Android has organized the screensizes and resolutions into three generalized sizes and three generalized densities, see here.

  • To support all these resolutions, you don't have to create icons/images for all possible combinations. By default Android tries to scale resources. Up to a certain limit it could be acceptable to let it do it for you, minimizing the number of images to create.

  • An example setting is minSdkVersion = 3, targetSdkVersion = 4 (where 3 = 1.5, 4 = 1.6). Targeting 1.6 ensures that different screensizes can be supported if the device has 1.6 or higher.

  • Cool skins you can find here. If you look at the configuration files, you can validate whether the screensize and resolutions are actually what you expect.

  • Sources: Droid, Nexus One, Hero, Xperia X10.

Best of this Week Summary 15 March - 21 March 2010

  • Twitter and Digg are moving from MySQL to Cassandra (a highly scalable second-generation distributed database, bringing together Dynamo's fully distributed design and Bigtable's ColumnFamily-based data model; a Facebook opensourced project). The reason for Digg for the move "is the increasing difficulty of building a high-performance, write-intensive application on a data set that is growing quickly, with no end in sight. This growth has forced them into horizontal and vertical partitioning strategies that have eliminated most of the value of a relational database, while still incurring all the overhead".
    Twitter has about the same reason: "No single points of failure", "Highly scalable writes (we have highly variable write traffic)", and "A healthy and productive open source community".
    Twitter tried HBase, Voldemort, MongoDB, MemcacheDB, Redis, Cassandra, and HyperTable amongst others before deciding to go with Cassandra. Interesting to read is how they slowly rollout Cassandra to limited sets of users.
    An introduction to Cassandra to get it up and running can be found here.


  • A short post on how to implement Automatic testing Oracle Service Bus using Hudson, Maven and SoapUI.

  • What to expect from HTML5 for webdevelopers.

Sunday, March 14, 2010

Best of this Week Summary 8 March - 14 March 2010