Introduction to bada: A Developer’s Guide – (draft preview, July 2010)
Part 1: About bada
0
Introduction to bada: A Developer’s Guide – (draft preview, July 2010)
Chapter 1: The mobile difference
In this chapter we present detailed information about what the ‘difference’ of mobile software is made up of and we describe the essential characteristics as opposed to ‘conventional’ fixedsoftware for desktops or web applications. We also summarise some recommended mobile software development bestpractices. Where appropriate we give forward references to later chapters where we deal with specific topics and how bada implements or supports the various aspects of development.
1.1 The mobile context
Some 20 years from the birth of mobile, hardware and telecoms have changed out ofrecognition – mobile usage has changed the way people behave. But the exploitation of mobile services has hardly begun. The apps revolution of last few years, dominated by iPhone, is a signpost – but the real revolution will be the arrival of apps and services for the mass market. bada could be the game changer. With the bada platform and the accompanying ecosystem we pick up the characteristicsof mobile app development as you will see in this chapter and throughout the book. By using bada, you will be equipped with a proper environment and tools that lay the ideal foundations for your successful mobile applications. Mobile hardware is different from desktop hardware. It’s not just that mobile phones fit in your pocket. The relentless drive to fit more and more functionality into tinierand tinier physical packages has led to almost continuous innovation. Mobile storage (memory), mobile display, and mobile power technologies are different from their big brothers on the desktop. When you are developing for mobile, it is essential to understand how these differences can impact the way you design your apps and the way you write your code. But to some extent these differences areonly skin deep, they are not what really differentiates mobile from fixed. Users use mobile differently. Users consume mobile services differently. Users buy and pay for their mobiles and mobile software differently. In fact this is a crucial difference – that users are 1
Introduction to bada: A Developer’s Guide – (draft preview, July 2010)
willing to BUY mobile software! Again, thesedifferences impact the way you design your apps and write your code. Take mobile services. We can differentiate between types of services that are only meaningful in a mobile context and others that are traditionally used in fixed or web browser-based environments and can now be extended to the mobile dimension. Take location-based or map services as a representative example for the former group. Theidea of location-based services (LBS) has been around for over a decade now. The added-value of such services is clear and unchallenged. It is the provision of information that is related to a user’s current position and addresses an immediate need. Services and information can be delivered filtered according to specific locations. Only a few such services, however, turned out to be really big hits.Technology and the whole ecosystem just was not ready back then. Today, however, everything is prepared such that LBS could deliver their promise. An example for the second group are the booming social network services (SNS) stemming from the Web 2.0 movement that gave birth to blogs, facebook, MySpace, YouTube, Twitter, you name it. Such applications and social networks can now be increasinglyinvoked and used from mobile handsets either by web sites customised for mobile browsers or standalone apps. This suggests how different mobile apps can be from desktop applications. On the desktop, your wordprocessor or spreadsheet or database application, and your first person shooter or adventure game, are big, complex, kitchen-sink type applications; they do everything, integrate with…