Writing scalable Android applications part 1