SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
APPLICATION DEVELOPMENT FOR MOBILE PHONES
                     & ITS TRENDS




                     SEMINAR REPORT

                            Submitted by

                        VINEETH M.M

      In the partial fulfillment for the award of the degree

                               of

            BACHELOR OF TECHNOLOLGY

                               in

        COMPUTER SCIENCE & ENGINEERING

               SCHOOL OF ENGINEERING




  COCHIN UNIVERSITY OF SCIENCE AND TECHNOLOGY

                         KOCHI-682022
Division of Computer Engineering
                        School of Engineering
                 Cochin University of Science &
                                 Technology
                               Kochi-682022
   ______________________________________________________

                                CERTIFICATE


         Certified that this is a bonafied record of the seminar work titled
                   Application Development For Mobile Phones
                                & Its Trends
                                   Done by
                             Vineeth M.M


  of VII semester Computer Science & Engineering in the year 2010 in partial
fulfillment of the requirements for the award of Degree of Bachelor of Technology
in Computer Science & Engineering of Cochin University of Science & Technology


           Dr.David Peter S                        Mr.Sudheep Elayidom
      Head of the Division                               Seminar Guide
ACKNOWLEDMENT


     I am greatly indebted to Dr .David Peter , head of the Departement, Division of
Computer Science ,CUSAT for permitting me to undertake this work.

        I express my heartfelt gratitude to my respected Seminar Guide Mr Sudheep
Elayidom, for his kind and inspiring advise which helped me to understand the subject
and its semantic significance. I extend my gratitude to my colleagues who helped and co-
ordinated with me in conducting the seminar by their active participation.



                                                                     VINEETH M.M
ABSTRACT



Application Development for mobile phones & its trends


      Mobile application development is the process by which
applications are developed for hand held devices such as personal digital
assistants, enterprise digital assistants or mobile phones. These
applications are either pre-installed on phones during manufacture, or
downloaded by customers from app stores and other mobile software
distribution platforms.
    Each of the platforms for mobile applications also has a development
environment which provides tools to allow a developer to write, test and
deploy applications into the target platform environment. An example is
Qt which is a cross platform development framework released by nokia.
     Trends in this industry has give rise to several design and
development issues.
CONTENTS


Chapter         Index                              Page number


    1.    INTRODUCTION                                   1

    2.    CURRENT PRACTICES                              2

    3.    MOBILE PLATFORMS                               3
          3.1 Platforms supporting devices by multiple
              Manufacturers
              3.1.1 Java ME                               3
              3.1.2 Symbian OS                           3
              3.1.3 Android                               7
              3.1.4 Qt                                   8
              3.1.5 Brew                                 8
          3.2 Platforms supporting devices by one
              Manufacturer
              3.2.1 Black Berry                          13
              3.2.2 iOS                                  13

    4.    PLATFORM DEVELOPMENT
          ENVIRONMENT                                    15

    5.    QT                                             19

          5.1 Qt(framework)                              19
          5.2 History                                    19
          5.3 Platforms                                  20
          5.4 Applications                               20

    6.    DEVELOPMENT TRENDS                             23

    7.    DESIGN AND DEVELOPMENT ISSUES
          FOR MOBILE WEB                                 25

          7.1 Native app / web based                     25
          7.2 Privacy                                    26
          7.3 Emerging wireless standards                26


    8.    CONCLUSION                                     28

    9.    REFERENCES                                     29
SEMINAR REPORT



                                   Chapter 1
                                INTRODUCTION

Application Development for mobile phones & its trends

    Last year I have seen an advertisement of nokia n95 mobile phone. the caption below
a big picture of that particular model was interesting. “This is what computers have
become”. Yes, mobile phones have changed a lot. Most of modern mobile phones serve
as a mini computer. And hence application development for mobile phones becomes a
new industry.
    Mobile computing has caught the attention of the research community for quite some
time and has also reached the commercial industry and mainstream consumers via smart
phones and PDAs. More than ever, such devices can run rich stand-alone applications as
well as distributed client-server applications that access information via a web gateway.
This opens new avenues for future mobile application and service development. During
many years, the development of mobile services was mostly controlled and managed by
the mobile network operators (MNO), phone manufacturers, and some mobile application
and content providers. Recently, this has changed with the arrival of new mobile phones
and platforms such as the iPhone. Development of mobile applications has generated
more interest among the independent and freelance developers. The constant
improvement of hardware related to mobile computing (e.g., better computing power,
larger wireless network bandwidth) clearly enhance capabilities of mobile devices. The
potential of the mobile application market is seen to reach
$9 billion by 2011, according to Compass Intelligence1
       Mobile application development is the process by which applications are
developed for hand held devices such as personal digital assistants, enterprise digital
assistants or mobile phones. These applications are either pre-installed on phones during
manufacture, or downloaded by customers from app stores and other mobile software
distribution platforms.




Division of Computer Engineering SOE                                                   1
SEMINAR REPORT



                                         Chapter 2
                              CURRENT PRACTICES

  To structure the description of the current practices, It is proposed to examine the
current mobile development platforms from the point of view of individual mobile
application developers. Start by classifying the platforms in different categories
depending on the three main components depicted in Figure 1. First, the developer uses
development tools to build its mobile application. Second, the developer publishes its
application on a portal, from which the consumer can download the application onto its
mobile device. This model, includes developers, the application portal, consumers, and
all the processes related to the publishing and purchasing of a mobile application. This
model (Figure 1) supports us to separate and examine three main issues, which are
addressed in different subsections. we look at the different kinds of development tools
that are supported. This helps to characterize the type of technology each platform
provides for developers (e.g., software development kit). More precisely, we determine if
the technology provided has an open access or not (i.e., open source versus proprietary
sources). we describe the different types of portals for each platforms. Characterize
portals that act as intermediaries between developers and consumers.          Differentiate
between centralized and decentralized portals. , we look at the level of integration of each
platform, from no integration to a full distribution model integration.




Division of Computer Engineering SOE                                                      2
SEMINAR REPORT



                                        Chapter 3
                               MOBILE PLATFORMS


     3.1 Platforms supporting devices by multiple manufacturers

3.1.1 Java ME

 This platform generally produces portable applications, although sometimes device-
specific libraries exist (commonly used for games), making them non-portable. It is often
used to provide simple applications on feature phones. Applications (including their data)
cannot be larger than around 1 MB if they are to run on most phones. They must also be
cryptographically signed in order to use APIs such as the file system access API. This is
relatively expensive and is rarely done, even for commercial applications. Java ME runs
atop a Virtual Machine (called the JVM) which allows reasonable, but not complete,
access to the functionality of the underlying phone. The JSR process serves to
incrementally increase the functionality that can be made available to Java ME, while
also providing Carriers and OEMs the ability to prevent access, or limit access to
provisioned software.


3.1.2 Symbian OS

 Symbian OS is one of Nokia's mobile operating systems for mobile devices and
smartphones, with associated libraries, user interface, frameworks and reference
implementations of common tools, originally developed by Symbian Ltd. It was a
descendant of Psion's EPOC and runs exclusively on ARM processors, although an
unreleased x86 port existed.

 In 2008, the former Symbian Software Limited was acquired by Nokia and a new
independent non-profit organisation called the Symbian Foundation was established.
Symbian OS and its associated user interfaces S60, UIQ and MOAP(S) were contributed
by their owners to the foundation with the objective of creating the Symbian platform as
a royalty-free, open source software. The platform has been designated as the successor



Division of Computer Engineering SOE                                                    3
SEMINAR REPORT


to Symbian OS, following the official launch of the Symbian Foundation in April 2009.
The Symbian platform was officially made available as open source code in February
2010.

   Devices based on Symbian OS account for 46.9% of smartphone sales, making it the
world's most popular mobile operating system.

Design

  Symbian features pre-emptive multitasking and memory protection, like other
operating systems (especially those created for use on desktop computers). EPOC's
approach to multitasking was inspired by VMS and is based on asynchronous server-
based events.

Symbian OS was created with three systems design principles in mind:

   •     the integrity and security of user data is paramount,
   •     user time must not be wasted, and
   •     all resources are scarce.

  To best follow these principles, Symbian uses a microkernel, has a request-and-
callback approach to services, and maintains separation between user interface and
engine. The OS is optimised for low-power battery-based devices and for ROM-based
systems (e.g. features like XIP and re-entrancy in shared libraries). Applications, and the
OS itself, follow an object-oriented design: Model-view-controller (MVC).

   Later OS iterations diluted this approach in response to market demands, notably with
the introduction of a real-time kernel and a platform security model in versions 8 and 9.

    There is a strong emphasis on conserving resources which is exemplified by
Symbian-specific programming idioms like descriptors and a cleanup stack. There are
similar techniques for conserving disk space (though the disks on Symbian devices are
usually flash memory). Furthermore, all Symbian programming is event-based, and the
CPU is switched into a low power mode when applications are not directly dealing with


Division of Computer Engineering SOE                                                        4
SEMINAR REPORT


an event. This is achieved through a programming idiom called active objects. Similarly
the Symbian approach to threads and processes is driven by reducing overheads.

     The Symbian kernel (EKA2) supports sufficiently-fast real-time response to build a
single-core phone around it — that is, a phone in which a single processor core executes
both the user applications and the signalling stack. This has allowed Symbian EKA2
phones to become smaller, cheaper and more power efficient than their predecessors

Developing on Symbian OS

Qt

   As of 2010, the SDK for Symbian is standard C++, using Qt. It can be used with either
Qt Creator, or Carbide (the older IDE previously used for Symbian development). A
phone simulator allows testing of Qt apps. Apps compiled for the simulator are compiled
to native code for the development platform, rather than having to be emulated.

Symbian C++

     It is also possible to develop using Symbian C++, although it is not a standard
implementation. Prior to the release of the Qt SDK, this was the standard development
environment. There were multiple platforms based upon Symbian OS that provided
SDKs for application developers wishing to target Symbian OS devices – the main ones
being UIQ and S60. Individual phone products, or families, often had SDKs or SDK
extensions downloadable from the manufacturer's website too.

     The SDKs contain documentation, the header files and library files required to build
Symbian OS software, and a Windows-based emulator ("WINS"). Up until Symbian OS
version 8, the SDKs also included a version of the GCC compiler (a cross-compiler)
required to build software to work on the device.

Symbian OS 9 and the Symbian platform use a new ABI and require a different compiler
– a choice of compilers is available including a newer version of GCC (see external links
below).


Division of Computer Engineering SOE                                                    5
SEMINAR REPORT


    Unfortunately, Symbian C++ programming has a steep learning curve, as Symbian
C++ requires the use of special techniques such as descriptors, active objects and the
cleanup stack. This can make even relatively simple programs harder to implement than
in other environments. Moreover, it was questionable whether these techniques, such as
the memory management paradigm, were actually beneficial. It is possible that the
techniques, developed for the much more restricted mobile hardware of the 1990s, simply
caused unnecessary complexity in source code because programmers are required to
concentrate on low-level routines instead of more application-specific features. These
issues however are no longer the case when using standard C++, with the Qt SDK.

   Symbian C++ programming is commonly done with an IDE. For earlier versions of
Symbian OS, the commercial IDE CodeWarrior for Symbian OS was favoured. The
CodeWarrior tools were replaced during 2006 by Carbide.c++, an Eclipse-based IDE
developed by Nokia. Carbide.c++ is offered in four different versions: Express,
Developer, Professional, and OEM, with increasing levels of capability. Fully featured
software can be created and released with the Express edition, which is free. Features
such as UI design, crash debugging etc. are available in the other, charged-for, editions.
Microsoft Visual Studio 2003 and 2005 are also supported through the Carbide.vs plugin.

Other languages

    Symbian devices can also be programmed using Python, Java ME, Flash Lite, Ruby,
.NET, Web Runtime (WRT) Widgets and Standard C/C++.

   Visual Basic programmers can use NS Basic to develop apps for S60 3rd Edition and
UIQ 3 devices.

    In the past, Visual Basic, VB.NET, and C# development for Symbian were possible
through AppForge Crossfire, a plugin for Microsoft Visual Studio. On 13 March 2007
AppForge ceased operations; Oracle purchased the intellectual property, but announced
that they did not plan to sell or provide support for former AppForge products. Net60, a
.NET compact framework for Symbian, which is developed by redFIVElabs, is sold as a
commercial product. With Net60, VB.NET and C# (and other) source code is compiled


Division of Computer Engineering SOE                                                    6
SEMINAR REPORT


into an intermediate language (IL) which is executed within the Symbian OS using a just-
in-time compiler. (As of 18/1/10 RedFiveLabs has ceased development of Net60 with
this announcement on their landing page: ”At this stage we are pursuing some options to
sell the IP so that Net60 may continue to have a future”.)

    There is also a version of a Borland IDE for Symbian OS. Symbian OS development
is also possible on Linux and Mac OS X using tools and techniques developed by the
community, partly enabled by Symbian releasing the source code for key tools. A plugin
that allows development of Symbian OS applications in Apple's Xcode IDE for Mac OS
X is available.

     Java ME applications for Symbian OS are developed using standard techniques and
tools such as the Sun Java Wireless Toolkit (formerly the J2ME Wireless Toolkit). They
are packaged as JAR (and possibly JAD) files. Both CLDC and CDC applications can be
created with NetBeans. Other tools include SuperWaba, which can be used to build
Symbian 7.0 and 7.0s programs using Java.

    Nokia S60i phones can also run Python scripts when the interpreter Python for S60 is
installed, with a custom made API that allows for Bluetooth support and such. There is
also an interactive console to allow the user to write python scripts directly from the
phone.


3.1.3 Andriod

   Android is a Linux-based platform from the Open Handset Alliance, whose 34
members include Google, HTC, Motorola, Qualcomm, and T-Mobile. It is supported by
over 34 major software, hardware and telecoms companies. The Linux kernel is used as a
hardware abstraction layer (HAL). Application programming is primarily done in Java.
The Android specific Java SDK is required for development although any Java IDE may
be used. Performance critical code can be written in C, C++ or other native code
languages using the Android Native Development Kit (NDK).




Division of Computer Engineering SOE                                                  7
SEMINAR REPORT


3.1.4 Qt (framework)

     Qt uses standard C++ but makes extensive use of a special pre-processor (called the
Meta Object Compiler, or moc) to enrich the language. Qt can also be used in several
other programming languages via language bindings. It runs on all major platforms and
has extensive internationalization support. Non-GUI features include SQL database
access, XML parsing, thread management, network support, and a unified cross-platform
API for file handling.


3.1.5 BREW

     Used for deploying applications on CDMA devices (but also supports GPRS/GSM
models). Distributed via a Brew Content Platform. Little penetration in Europe. BREW
can provide complete control of the handset and access to all its functionality. However
the power provided by native code with direct access to the handset APIs, has caused the
BREW development process to be tailored largely towards recognized software vendors.
While the BREW SDK (Software Development Kit) is freely available, running software
on real mobile hardware (as opposed to the provided emulator) requires a digital
signature which can only be generated with tools issued by a handful of parties, namely
mobile content providers and Qualcomm themselves. Even then, the software will only
work on test enabled devices. To be downloadable on regular phones the software must
be checked, tested and given approval by Qualcomm via their TRUE BREW Testing
program.

BREW application development

      Software for the BREW-enabled handsets can be developed in C or C++ using the
freely downloadable BREW SDK. Java applications are also supported if the handset has
a Java Virtual Machine available. For testing applications during the development
process, the SDK includes a BREW Emulator, or starting with BREW Version 3.1.5 and
above, the BREW Simulator. The BREW environment provides for multiple levels of
application signatures. One signature authenticates the developer. Another signature



Division of Computer Engineering SOE                                                  8
SEMINAR REPORT


verifies that an application has passed TRUE BREW testing and is bestowed through
Qualcomm. The individual telecommunications operators configure the handsets to either
enforce or ignore the presence and verification of this second signature. BREW enabled
Handsets have a test mode that allows applications to bypass verification of the
Qualcomm signature. Qualcomm makes applications that have passed testing available to
BREW enabled wireless network operators. The operators are then able to choose which
of these applications to make available to end-users on their catalog.

     The BREW Emulator (currently called BREW Simulator) does not emulate
handset's hardware. Instead, the BREW application is compiled to native code and linked
with a compatible BREW runtime library. Because of this, applications cannot be tested
for platform bugs related to memory alignment and various firmware related glitches
without a BREW handset operating in test mode.

     For testing purpose, BREW applications can be transferred using a USB or serial
cable to any BREW-compatible handset using BREW AppLoader from Qualcomm. A
BREW application contains several components which, if not present and valid, cause the
application to be automatically deleted on reboot. This includes the compiled binary file,
a file which describes the application, the features it uses and permissions requested, a
file which contains string and image resources if required, and a file containing the
application digital signature.

     BREW Applications may be unloaded from a consumer handset to save handset
memory space. This is referred to as "Disable/Restore", and is a requirement of the
TRUE BREW Test Cycle. Saved files are kept intact using Disable/Restore, and it is
possible to re-load the application without paying for it again. In a "Disable" situation, all
.bar, .mod, and .sig files are deleted from the handset, while any other files remain in
their original place. During the "Restore" operation, the .bar, .mod, and.sig files are
downloaded from the carrier's mobile store, and the previously disabled application will
have full functionality remaining. The Disable/Restore process is only available to
consumer users once the handset's memory is completely full.




Division of Computer Engineering SOE                                                        9
SEMINAR REPORT


3.1.6 Windows Mobile

   Windows Mobile (rebranded as Windows Phone with the launch of Windows Phone
7) is a mobile operating system developed by Microsoft for use in smartphones and
mobile devices.

    The current version is called "Windows Mobile 6.5". It is based on the Windows CE
5.2 kernel, and features a suite of basic applications developed using the Microsoft
Windows API. It is designed to be somewhat similar to desktop versions of Windows,
feature-wise and aesthetically. Additionally, third-party software development is
available for Windows Mobile, and software can be purchased via the Windows
Marketplace for Mobile.

       Originally appearing as the Pocket PC 2000 operating system, most Windows
Mobile devices come with a stylus pen, which is used to enter commands by tapping it on
the screen. Microsoft announced a completely new phone platform, Windows Phone 7, at
the Mobile World Congress in Barcelona on February 15, 2010. Phones running
Windows Mobile 6.x will not be upgradeable to version 7.

Common features

Windows Mobile for Pocket PC carries these standard features in most of its versions:

   •     Today Screen shows the current date, owner information, upcoming
         appointments, e-mail messages, and tasks. (Is now Home screen in later WM6.5
         builds)
   •     The taskbar shows the current time and the volume.
   •     Office Mobile a suite of Mobile versions of Microsoft Office applications
   •     Outlook Mobile comes with Windows Mobile.
   •     Internet Explorer Mobile is an Internet browser developed by Microsoft for
         Pocket PC and Handheld PC that comes loaded by default with Windows Mobile
         and Windows CE for Handheld PC.
   •     Windows Media Player for Windows Mobile.


Division of Computer Engineering SOE                                                    10
SEMINAR REPORT


   •     Client for PPTP VPNs.
   •     Internet Connection Sharing (ICS) which in mobile phones allows attached
         computers to share internet connections via USB and Bluetooth.
   •     Coherent file system similar to that of Windows 9x/Windows NT and support for
         many of the same file types.
   •     Ability to multitask.


3.1.7 Palm OS

       Palm OS     is a mobile operating system initially developed by Palm, Inc. for
personal digital assistants (PDAs) in 1996. Palm OS is designed for ease of use with a
touchscreen-based graphical user interface. It is provided with a suite of basic
applications for personal information management. Later versions of the OS have been
extended to support smartphones. Several other licensees have manufactured devices
powered by Palm OS..

Application development

       Palm OS Garnet applications are primarily coded in C/C++. Two officially
supported compilers exist: a commercial product, CodeWarrior Development Studio for
Palm OS, and an open source tool chain called prc-tools, based on an old version of gcc.
CodeWarrior is criticized for being expensive and is no longer being developed, whereas
PRC-Tools lacks several of CodeWarrior's features. A version of PRC-Tools is included
in a free Palm OS Developer Suite (PODS).

OnBoardC is a C compiler, assembler, linker and programming editor that runs on the
Palm itself.

Palm OS Cobalt applications are also coded in a variation of gcc, but the Cobalt
compilers have fewer limitations.

There are development tools available for Palm programming that do not require low-
level programming in C/C++, such as PocketC/PocketC Architect, CASL, AppForge



Division of Computer Engineering SOE                                                  11
SEMINAR REPORT


Crossfire (which uses Visual Basic, Visual Basic.NET, or C#), Handheld Basic,
Pendragon Forms, Satellite Forms and NSBasic/Palm (Visual Basic like languages). A
Java Virtual Machine was previously available for the Palm OS platform, however on
2008-01-12 Palm, Inc. announced that it would no longer be available. Palm, Inc. further
said "There is no alternate Java Virtual Machine that we are aware of for Palm OS."[38]
Waba and a derivative of it, SuperWaba, provide a Java-like virtual machine and
programming language. A version of the Lua language, called Plua, is also available for
Palm; however, due to the fact that it requires an additional runtime to be installed along
with the application, it is only used for mainstream applications by a minority of software
companies. Quartus Forth is an ISO/ANSI Standard Forth compiler that runs on the Palm
itself. It also has an interactive console for dynamic development and debugging.

    Two environments allow programming in Pascal for Palm OS. The free PP
Compiler[39] runs directly on the handheld computer, while PocketStudio is a Delphi-like
IDE for Windows Computers that has a visual form designer and generates PRC files for
being transferred to handhelds via HotSync.

     As Palm has no connection drivers that enable the transfer of data with a server
DBMS (Oracle, mySQL, MS SQL Server), the programmer can use Middleware software
that enables this connectivity.

     A roughly R4RS-compatible implementation of Scheme, LispMe, provides the
Palm platform with a GPL-licensed onboard Lisp REPL with some Palm OS-specific
adaptations, but although it is functionally a compiler it does not produce code that
operates outside the development environment, so its use is restricted to prototyping.

     A free development tool, LaFac, works directly on the Palm device, using the
Memo Pad for source code editing, and provides support for a limited subset of C, Pascal,
and Basic.




Division of Computer Engineering SOE                                                     12
SEMINAR REPORT




3.2 Platforms supporting devices by one manufacturer

3.2.1 BlackBerry

   The operating system used by BlackBerry devices is a proprietary multitasking
environment developed by RIM. The operating system is designed for use of input
devices such as the track wheel, track ball, and track pad. The OS provides support for
Java MIDP 1.0 and WAP 1.2. Previous versions allowed wireless synchronization with
Microsoft Exchange Server e-mail and calendar, as well as with Lotus Domino e-mail.
The current OS 5.0 provides a subset of MIDP 2.0, and allows complete wireless
activation and synchronization with Exchange e-mail, calendar, tasks, notes and contacts,
and adds support for Novell GroupWise and Lotus Notes.

   Third-party developers can write software using these APIs, and proprietary
BlackBerry APIs as well. Any application that makes use of certain restricted
functionality must be digitally signed so that it can be associated to a developer account
at RIM. This signing procedure guarantees the authorship of an application but does not
guarantee the quality or security of the code. RIM provides tools for developing
applications and themes for BlackBerry. Applications and themes can be loaded onto
BlackBerry devices through BlackBerry App World, Over The Air (OTA) through the
BlackBerry mobile browser, or through BlackBerry Desktop Manager. dominating
position on the North American smartphone market. Also important for BlackBerry are
the BES (Black Berry Enterprise Server) and the Mobile Data System (BlackBerry
MDS).


3.2.2 iOS (Apple)

    iOS is Apple's mobile operating system. Developed originally for the iPhone, it has
since been shipped on the iPod Touch and iPad as well. Apple does not permit the OS to
run on third-party hardware. As of June 7, 2010, Apple's App Store contained more than



Division of Computer Engineering SOE                                                    13
SEMINAR REPORT


225,000 iOS applications, which had collectively been downloaded more than five billion
times.

     The user interface of iOS is based on the concept of direct manipulation, using
multi-touch gestures. Interface control elements consist of sliders, switches, and buttons.
The response to user input is immediate and provides a fluid interface. Interaction with
the OS includes gestures such as swiping, tapping, pinching, and reverse pinching.
Internal accelerometers are used by some applications to respond to shaking the device
(one common result is the undo command) or rotating it in three dimensions (one
common result is switching from portrait to landscape mode).

iOS is derived from Mac OS X, with which it shares the Darwin foundation, and is
therefore a Unix-like operating system by nature.

    In iOS, there are four abstraction layers: the Core OS layer, the Core Services layer,
the Media layer, and the Cocoa Touch layer. The operating system uses roughly 500
megabytes of the device's storage, varying for each model.




Division of Computer Engineering SOE                                                     14
SEMINAR REPORT




                                    Chapter 4

            PLATFORM DEVELOPMENT ENVIRONMENT

       Each of the platforms for mobile applications also has a development
environment which provides tools to allow a developer to write, test and deploy
applications into the target platform environment.

The following table summarizes the elements in each of the development environments.



                                              Integrated
              Programmin Debuggers Emulator Development               Cross-Platform
              g Language available available Environment              Deployment
                                               available
                                                                      All native:
                                                                      BREW,
                                                                      Android,
                                                                      iPhone,
              C, C++ but no Debugger       Emulator Visual Studio,    Windows
AirplaySDK
              threads       available      available Mac OS SDK       Mobile,
                                                                      Symbian,
                                                                      Samsung Bada,
                                                                      Maemo,
                                                                      Palm/Web OS
                             Debugger      Emulator
                                                                      BREW,
                             integrated    is
                                                                      Android,
                             in Visual     available Visual Studio,
  alcheMo     Java                                                    iPhone,
                             Studio,       in        Eclipse, XCode
                                                                      Windows
                             Eclipse or    correspon
                                                                      Mobile
                             XCode         ding IDE
                             Debugger
                             integrated
              Java but       in Eclipse,                             Android only,
                                                    Eclipse, Undroid
              portions of    Standalone    Free                      because of
  Android                                           (Plugin for
              code can be in debugging     Emulator                  Dalvik VM
                                                    Netbeans)
              C, C++         monitor                                 (march 09)
                             also
                             available
  Bedrock     Java           Yes           Yes       Eclipse          Java ME,


Division of Computer Engineering SOE                                                   15
SEMINAR REPORT


                                                                           BREW,
                                                                           BlackBerry,
                                                                           iPhone, PSP,
                                                                           DS, Android,
                                                                           Windows
                                                                           Mobile, Palm
                                                   JDE - BlackBerry
                            Debugger                                BlackBerry only
                                          Free     Java
BlackBerry Java             integrated                              because of the
                                          Emulator Development
                            in JDE                                  RIM API
                                                   Environment
             XML routed
             through                      N/A,
                          None
  Blueprint Yahoo Mobile                  translates                       N/A, translates
                          beyond a                   N/A, any XML
(programmin servers and                   to web or                        to web or mobile
                          schema                     editor
 g language) displayed in                 mobile as                        as needed
                          check
             native                       needed
             browsers
                                          No
                            Debugger      Emulator
                            support for   for the
                            the native    target
             C (the APIs                               Visual Studio
                            ARM target    ARM                              Compile for the
             are provided                              6.0, Visual
                            code.Can      code, has                        specific BREW
   BREW      in C with a                               Studio 2003 .net,
                            use Visual    a                                version available
             C++ style                                 Visual Studio
                            Studio to     simulator                        on the handset.
             interface)                                2005
                            debug the     for the
                            x86 testing   x86
                            code.         testing
                                          code.
                                          Bundled
                                          with
                            Debugger      iPhone
                            integrated    SDK,                             iPhone, iPod
iOS (Apple) Objective-C                                Xcode
                            in Xcode      integrated                       Touch, and iPad.
                            IDE           with
                                          Xcode
                                          IDE
                                          Free                             Yes although
                                          Emulator,                        many VM
                                          Sun Java     Eclipse,LMA         implementations
  Java ME    Java           Yes           Wireless     NetBeans            have device
                                          Toolkit,     Mobility Pack       specific bugs
                                          mpowerpl                         necessitating
                                          ayer                             separate builds
  Lazarus    Object Pascal Yes. Can       Uses the     Lazarus IDE,        Compiled


Division of Computer Engineering SOE                                                      16
SEMINAR REPORT


                          debug on    emulators including             language
                          the IDE via of the    integrated GUI        available for
                          ActiveSync platforms designer and           Windows CE,
                          for                   debugger              linux-based
                          Windows                                     devices and a
                          CE                                          SymbianOS port
                                                                      is under
                                                                      development.
                                                   Macromedia
Macromedia                             Bundled
            ActionScript Yes                       Flash MX2004/8 Yes
 Flash Lite                            with IDE
                                                   / Eclipse
                                                                      Basic Page
            XHTML                                                     rendering with
Microbrowse (WAP 2.0),                                                per page
                       Yes             Many        Many
  r Based   WML (WAP                                                  customizations
            1.2)                                                      for different
                                                                      browsers.
                                                                      Windows
                                                                      Mobile,
                                                   Eclipse, MoBuild
                                                                      Symbian, Java
                                                   (w/ text editors),
  MoSync     C, C++       Yes          Yes                            ME, Moblin,
                                                   Visual Studio
                                                                      Android,
                                                   2005 and later
                                                                      Smartphone
                                                                      2003, Pocket PC
                                       Free
                                       emulator                       Windows
                                       (source     Visual Studio      Mobile,
   .NET
          C#, VB.NET,                  code        2008, 2005,        WindowsCE,
 Compact              Yes
          Basic4ppc                    available), 2003, Basic4ppc Symbian-based
Framework
                                       also        IDE                devices (via
                                       bundled                        third party tools)
                                       with IDE
                                       OS 1.0 -
                                       4.1: Free
                                       Emulator
                                       provided
                                                   Palm OS            Palm OS
                                       by
                                                   Development        handhelds, or
                                       PalmSour
             C, C++,                               System (Eclipse), Windows
  Palm OS                 Yes          ce
             Pascal                                CodeWarrior,       Mobile with
                                       (Access);
                                                   PocketStudio,      StyleTap
                                       OS 5.0: -
                                                   HB++               emulator
                                       5.4
                                       Device-
                                       specific
                                       Simulator


Division of Computer Engineering SOE                                                  17
SEMINAR REPORT


                                       s provided
                                       by Palm
                                       (palmOne
                                       )
                                                                     Interpreted
                                                                     language
                                                                     available
                                                                     natively only on
                                                                     Nokia Series60
                                       Add-on to Several,
                                                                     (and desktops)
   Python    Python       Yes          Nokia       including plugins
                                                                     though there are
                                       Emulator for Eclipse
                                                                     ports to other
                                                                     mobile
                                                                     platforms,
                                                                     including
                                                                     PalmOS
                                       N/A,
           Ruby with
                                       applicatio
           HTML                                                      Yes(Supports
                                       ns can run
           interface                                                 iOS (inc. 3.0),
                                       in Win32 xCode or Eclipse,
           features                                                  Windows
                                       runner, or on-demand
 Rhomobile compiled      Yes                                         Mobile,
                                       in device RhoHub version
           through an                                                Blackberry,
                                       emulators includes full IDE
           interpreter                                               Symbian and
                                       for
           into native                                               Android)
                                       supported
           applications.
                                       platforms.
                                       Free                          Compile per
  Symbian    C++          Yes                      Qt,c++,
                                       Emulator                      target
             Javascript,               Free                          webOS, Palm
   webOS                 Yes                       Eclipse
             CSS, HTML                 emulator                      only
                                       Free
                                       emulator
                                       (source     Visual Studio
                                                                     Windows
 Windows                               code        2008, 2005,
             C, C++       Yes                                        Mobile,
 Mobile                                available), eMbedded VC++
                                                                     WindowsCE
                                       also        (free)
                                       bundled
                                       with IDE




Division of Computer Engineering SOE                                               18
SEMINAR REPORT




                                      Chapter 5
                                             QT
4.1 Qt (framework)

   Qt (pronounced officially as cute though commonly pronounced as Q.T. ) is a cross-
platform application development framework widely used for the development of GUI
programs , and also used for developing non-GUI programs such as console tools and
servers. Qt is most notably used in Google Earth, KDE, Opera (before 10.60 version),
OPIE, Skype, MO-Call, VLC media player and VirtualBox. It is produced by Nokia's Qt
Development Frameworks division, which came into being after Nokia's acquisition of
the Norwegian company Trolltech, the original producer of Qt, on June 17, 2008

    Qt uses standard C++ but makes extensive use of a special pre-processor (called the
Meta Object Compiler, or moc) to enrich the language. Qt can also be used in several
other programming languages via language bindings. It runs on all major platforms and
has extensive internationalization support. Non-GUI features include SQL database
access, XML parsing, thread management, network support, and a unified cross-platform
API for file handling.


4.2 History

    Haavard Nord and Eirik Chambe-Eng (the original developers of Qt and the CEO
and President, respectively, of Trolltech) began development of "Qt" in 1991, three years
before the company was incorporated as Quasar Technologies, then changed the name to
Troll Tech and then to Trolltech.

The toolkit was called Qt because the letter Q looked appealing in Haavard's Emacs font,
and "t" was inspired by Xt, the X toolkit.




Division of Computer Engineering SOE                                                   19
SEMINAR REPORT


The first two versions of Qt had only two flavors: Qt/X11 for Unix and Qt/Windows for
Windows. The Windows platform was only available under a proprietary license, which
meant free/open source applications written in Qt for X11 could not be ported to
Windows without purchasing the proprietary edition. At the end of 2001, Trolltech
released Qt 3.0, which added support for Mac OS X. The Mac OS X support was
available only in the proprietary license until June 2003, when Trolltech released Qt 3.2
with Mac OS X support available under the GPL.

    Nokia acquired Trolltech ASA in 2008 and changed the name first to Qt Software,
then to Qt Development Frameworks. Since then it focused on Qt development to turn it
into the main development platform for its devices, including a port to the Symbian S60
platform. Version 1.0 of the Nokia Qt SDK was released on 23 June 2010.[7] The source
code was made available over Gitorious, a community oriented git source code
repository, in order to gather an even broader community that is not only using Qt but
also helping to improve it.


4.3 Platforms

Qt is released by Nokia on the following platforms:

   •   Linux/X11 – Qt for X Window System (Unix / Linux)
   •   Mac OS X – Qt for Apple Mac OS X. Support for applications on top of Cocoa
       APIs
   •   Windows – Qt for Microsoft Windows
   •   Embedded Linux – Qt for embedded platforms (PDA, Smartphone, etc.)
   •   Windows CE – Qt for Windows CE[14]
   •   Symbian – Qt for the Symbian platform.Qt is to replace Nokia's Avkon as the
       supported UI SDK for the development of Symbian applications.
   •   Maemo – Qt for Maemo, merged with Moblin to MeeGo




Division of Computer Engineering SOE                                                      20
SEMINAR REPORT




4.4 Applications

   •   3DSlicer, a free open source software for visualization and medical image
       computing
   •   AcetoneISO, a software to mount most common images
   •   Autodesk Maya, 3D modelling and animation software
   •   Avidemux, a Free Software program designed for multi-purpose video editing and
       processing
   •   Doxygen, an API document generator
   •   Emergent, a neural network simulator.
   •   Freemat, a free numerical computing environment and programming language
   •   Gadu-Gadu, a popular Polish instant messaging client
   •   GoldenDict, an open-source dictionary software
   •   Google Earth, a 3D map program
   •   Hydrogen, an advanced drum machine.
   •   Last.fm Player, the desktop client for the popular internet radio and music
       community website
   •   Launchy, the open source keystroke launcher for Windows and Linux
   •   LMMS, a free open source sequencer and software synthesis package
   •   LyX, a GUI frontend to LaTeX
   •   Mathematica, Linux version uses Qt for the GUI front-end
   •   Mixxx, cross-platform open source DJ mixing software
   •   MuseScore, a WYSIWYG graphical music notation editor
   •   MythTV, an open source digital video recorder
   •   Nimbuzz, a instant messaging and VoIP application
   •   Opera, cross-platform internet browser
   •   Psi, an instant messaging client for XMPP
   •   Qt Creator, a cross-platform IDE for C++ and QML
   •   Quantum GIS, a free desktop GIS
   •   Rosegarden, a free software digital audio workstation progra


Division of Computer Engineering SOE                                                 21
SEMINAR REPORT


   •   Scribus, a desktop publishing application
   •   Skype, a P2P VOIP application
   •   SMPlayer, a multiplatform multimedia player front-end for MPlayer.
   •   TeamSpeak, cross-platform voice communication software
   •   Texmaker, a cross-platform LaTeX editor
   •   Tlen.pl, a popular Polish instant messaging client
   •   TOra, a database administration tool
   •   UniversalIndentGUI,an application which helps the user to beautify, reformat or
       indent various kinds of code.
   •   Valknut, a program that uses the Direct Connect protocol.
   •   VirtualBox, a PC virtualization application
   •   VisIt, an interactive parallel visualization tool for viewing scientific data
   •   VisTrails, a scientific workflow management and visualization system
   •   VLC Media Player, an open source media player.
   •   VoxOx, a unified communications software.
   •   Xconfig, Linux Kernel configuration tool




Division of Computer Engineering SOE                                                     22
SEMINAR REPORT




                                     Chapter 6
                         DEVELOPMENT TRENDS

       Bellow there are some thoughts on how the Mobile Development industry will
evolve in the nearest future.

Micropayments

       Micro payments within mobile applications can be used to upgrade basic app to a
premium version, purchase game items, digital content or even small gifts for friends.
Mobile bill payments and micropayments for digital content consumption continue to
grow in the future.

Enhanced Security

       Better security for mobile application platforms is expected. This is especially
important when more users are conducting financial transactions and life streaming using
their phones.

Business App Store

       With all the mobile platforms targeting their app store towards average
consumers, the introduction of a business app store is imminent.

Location-Based Technology

       Location-based technology or GPS technology received the most buzz in 2009
and we expect it will continue growing this year.


Division of Computer Engineering SOE                                                  23
SEMINAR REPORT


Social Based Applications

       Social networking activities certainly do not end when you leave your computer.
We are already seeing a great number of people tweeting and updating their Facebook
status on-the-go, not to mention those who are posting videos and photos to services like
Twitpic and 12seconds using their mobile phone.




Augmented Reality (AR)

       Augmented reality (AR) is a term for a live direct or indirect view of a physical
real-world environment whose elements are merged with (or augmented by) virtual
computer-generated imagery – creating a mixed reality.

High Entry Barriers for Fledgling Developers:

        Developers that are new to the scene and without much support will face trouble
getting user adoption. Not only that there are already tons of mobile applications out
there, established developers have better advantages in terms of capability to introduce
new features over a short time span as well as the resources to adapt and test their
applications on new platforms.

Mobile Application Advertising

       The increasing number of mobile application users opens up another advertising
channel for brands and businesses. This is definitely good news for developers.

Importance of Marketing for Applications

       There are already hundreds of thousands of mobile applications out there. In order
to stand a chance, developers or mobile application entrepreneurs need to know how to
market applications developed by them.




Division of Computer Engineering SOE                                                    24
SEMINAR REPORT




                                        Chapter 7
     DESIGN AND DEVELOPMENT ISSUES FOR MOBILE WEB

7.1 Native App and/or Browser Based?

     Just as businesses in the PC-based Web spent years in the 90's wondering if a
desktop app or web browser based service was the best choice, in 2010 the same question
applies to mobile phone applications.

     Organizations are asking themselves: should we build a native mobile phone app, or
should we build a cross-platform browser-based mobile service? If they choose the
former, which platform(s) do they focus on first? The choices include iPhone, Android,
RIM, Palm, Windows Mobile and Symbian.

      In February, mobile search company Taptu released a detailed report showing that
the future of the Mobile Web is likely to be dominated by cross-platform browser-based
mobile web sites - rather than apps built specifically for iPhone, Android, or any other
platform. The company estimated that there were 326,000 Mobile Touch Web sites
worldwide at that time, compared to 148,000 iPhone apps in the App Store and 24,000
apps in the Android market. What's more, Taptu expects the browser-based mobile web
market to grow much faster than the app market.

     One factor to consider is that both options, native app and browser site, still have
something of a 'wild west' element to them. We can see evidence of this in the stand-off
between Apple and Adobe over Flash on mobile phones. Apple's iPhone platform and its
default mobile Safari browser do not run Adobe's Flash technology, despite Flash having
an almost ubiquitous presence on desktop PCs. Apple has been pushing HTML5, the
latest generation of the Web's mark-up language, as a replacement for much of the




Division of Computer Engineering SOE                                                   25
SEMINAR REPORT


functionality in Flash. This battle is yet to be won - but it's not looking good for Adobe,
because it's hard to bet against the next version of HTML.


7.2 Privacy

     Location-based mobile apps have been a big trend in 2010 (we'll cover this in Part 2
of this series), but there are significant privacy implications for these apps. Sites like
Foursquare, BrightKite and Gowalla encourage their users to "check-in" to places, so that
their social network knows where they are at any given time. While these apps have
privacy controls that allow you to (for example) send a check-in update to just a select
group of friends, a lot of times the updates are sent to the entire network.

      In a recent analysis post, Sarah Perez asked: are location-based social networks
privacy disasters waiting to happen? She added that many web and mobile apps are using
location data now, including Google, Facebook and user review site Yelp.

      The privacy dangers were highlighted earlier this year by a social experiment
called PleaseRobMe, which displaying aggregated real-time updates from Foursquare
users who used the social sharing feature to broadcast their updates publicly on Twitter.
Although PleaseRobMe has since been shuttered, the point they were trying to make still
resonates: sharing your physical location with a public network is potentially dangerous.




7.3 Emerging Wireless Standards

       Think your smart phone is cool now? Wait till it gets RFID chips, then it'll truly be
'smart.' That's the promise of two emerging RFID-based mobile technologies called NFC
and DASH7.

       NFC (Near Field Communication) holds great promise as an enabler of mobile
payments. DASH7 is a wireless sensor networking standard that complements NFC; it




Division of Computer Engineering SOE                                                      26
SEMINAR REPORT


will enable things like advanced location-based services, long-distance mobile
advertising and mobile coupons.

       Both NFC and DASH7 may soon be a part of the mobile phone that you carry
around everywhere. Nokia already deploys NFC, and Apple and Google are rumored to
be working on NFC implementation.

       There are a group of other emerging mobile standards and technologies to look
out for, such as WiMax, ZigBee and 4G. They all play an increasingly important part in
the evolving Mobile ecosystem.




Division of Computer Engineering SOE                                                27
SEMINAR REPORT




                                     Chapter 8
                                CONCLUSION




   • Mobile application development is the process by which applications are
      developed for hand held devices such as personal digital assistants, enterprise
      digital assistants or mobile phones.
   • There are a number of mobile phone software platforms available in the industry
   • Each of the platforms for mobile applications also has a development
      environment which provides tools to allow a developer to write, test and deploy
      applications into the target platform environment
   • Qt is a crossplatform application development framework released by nokia
   • Mobile development industry is highly dynamic. Trends in this industry are in
      such a direction that mobile phones replace computers.
   • This industry also faces design and development issues




Division of Computer Engineering SOE                                                    28
SEMINAR REPORT




                                    Chapter 9
                                REFERENCES

   • Je_rey L. Funk. The emerging value network in the mobile phone industry: The
      case of japan and its implications for the rest of the world. Telecommunications
      Policy, 2009.
   • B. Adrian. Overview of the mobile payments market 2002 - 2007. Gartner, 2002.
   • www.nokia.com
   • www.wayneliew.com
   • www.androidphonethemes.com
   • www.articlesbase.com
   • www.asia.cnet.com




Division of Computer Engineering SOE                                                     29

Más contenido relacionado

La actualidad más candente

Meego presentation
Meego presentation   Meego presentation
Meego presentation manju2611
 
Consumer Electronics
Consumer ElectronicsConsumer Electronics
Consumer ElectronicsGirishBasole
 
Seminar on mobile os
Seminar on mobile osSeminar on mobile os
Seminar on mobile osabani12
 
Android Synopsis
Android SynopsisAndroid Synopsis
Android SynopsisNiraj Rahi
 
WindowsMobile_vs_SymbianOS
WindowsMobile_vs_SymbianOSWindowsMobile_vs_SymbianOS
WindowsMobile_vs_SymbianOSpraneethbabji
 
Symbian mobile operating system seminar report
Symbian mobile operating system seminar reportSymbian mobile operating system seminar report
Symbian mobile operating system seminar reportDevesh Singh
 
Meego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiMeego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiFrancesco Baldassarri
 
Collaborative and agile development of mobile applications
Collaborative and agile development of mobile applicationsCollaborative and agile development of mobile applications
Collaborative and agile development of mobile applicationsAyushman Jain
 
Forum Nokia Dev. Camp - Biz Dev_ Paris 17&18 Nov Final
Forum Nokia Dev. Camp - Biz Dev_ Paris 17&18 Nov FinalForum Nokia Dev. Camp - Biz Dev_ Paris 17&18 Nov Final
Forum Nokia Dev. Camp - Biz Dev_ Paris 17&18 Nov FinalDALEZ
 
FYPJ - Cerebral Android App Development (Report)
FYPJ - Cerebral Android App Development (Report)FYPJ - Cerebral Android App Development (Report)
FYPJ - Cerebral Android App Development (Report)Nehemiah Tan
 
android app development training report
android app development training reportandroid app development training report
android app development training reportRishita Jaggi
 
Speed delivery of Android devices and applications with model-driven development
Speed delivery of Android devices and applications with model-driven developmentSpeed delivery of Android devices and applications with model-driven development
Speed delivery of Android devices and applications with model-driven developmentBill Duncan
 
Improving university education in nigeria through mobile academic directory
Improving university education in nigeria through mobile academic directoryImproving university education in nigeria through mobile academic directory
Improving university education in nigeria through mobile academic directoryAnthonyOtuonye
 
Thorsignia - Custom software development services in india
Thorsignia - Custom software development services in indiaThorsignia - Custom software development services in india
Thorsignia - Custom software development services in indiacharan Teja
 
Android introduction
Android introductionAndroid introduction
Android introductionReena Nachare
 
B feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopmentB feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopmentsathesh leo
 
Enhancing The Capability of Chatbots
Enhancing The Capability of ChatbotsEnhancing The Capability of Chatbots
Enhancing The Capability of Chatbotsvivatechijri
 

La actualidad más candente (19)

Meego presentation
Meego presentation   Meego presentation
Meego presentation
 
Consumer Electronics
Consumer ElectronicsConsumer Electronics
Consumer Electronics
 
Seminar on mobile os
Seminar on mobile osSeminar on mobile os
Seminar on mobile os
 
Android Synopsis
Android SynopsisAndroid Synopsis
Android Synopsis
 
WindowsMobile_vs_SymbianOS
WindowsMobile_vs_SymbianOSWindowsMobile_vs_SymbianOS
WindowsMobile_vs_SymbianOS
 
Symbian mobile operating system seminar report
Symbian mobile operating system seminar reportSymbian mobile operating system seminar report
Symbian mobile operating system seminar report
 
Meego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiMeego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea Grandi
 
Collaborative and agile development of mobile applications
Collaborative and agile development of mobile applicationsCollaborative and agile development of mobile applications
Collaborative and agile development of mobile applications
 
Forum Nokia Dev. Camp - Biz Dev_ Paris 17&18 Nov Final
Forum Nokia Dev. Camp - Biz Dev_ Paris 17&18 Nov FinalForum Nokia Dev. Camp - Biz Dev_ Paris 17&18 Nov Final
Forum Nokia Dev. Camp - Biz Dev_ Paris 17&18 Nov Final
 
FYPJ - Cerebral Android App Development (Report)
FYPJ - Cerebral Android App Development (Report)FYPJ - Cerebral Android App Development (Report)
FYPJ - Cerebral Android App Development (Report)
 
android app development training report
android app development training reportandroid app development training report
android app development training report
 
Android
AndroidAndroid
Android
 
Speed delivery of Android devices and applications with model-driven development
Speed delivery of Android devices and applications with model-driven developmentSpeed delivery of Android devices and applications with model-driven development
Speed delivery of Android devices and applications with model-driven development
 
Mobile technology
Mobile technologyMobile technology
Mobile technology
 
Improving university education in nigeria through mobile academic directory
Improving university education in nigeria through mobile academic directoryImproving university education in nigeria through mobile academic directory
Improving university education in nigeria through mobile academic directory
 
Thorsignia - Custom software development services in india
Thorsignia - Custom software development services in indiaThorsignia - Custom software development services in india
Thorsignia - Custom software development services in india
 
Android introduction
Android introductionAndroid introduction
Android introduction
 
B feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopmentB feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopment
 
Enhancing The Capability of Chatbots
Enhancing The Capability of ChatbotsEnhancing The Capability of Chatbots
Enhancing The Capability of Chatbots
 

Destacado

Pp For Christina
Pp For ChristinaPp For Christina
Pp For Christinaguestea2742
 
Organizational Culture - Get Over It!
Organizational Culture - Get Over It!Organizational Culture - Get Over It!
Organizational Culture - Get Over It!John Bordeaux
 
C:\fakepath\psychological disorders
C:\fakepath\psychological disordersC:\fakepath\psychological disorders
C:\fakepath\psychological disordersSteve Kashdan
 
Martin Luther King, Jr
Martin Luther King, JrMartin Luther King, Jr
Martin Luther King, Jrguestcbfa63
 
Echo Conference 2008
Echo Conference 2008Echo Conference 2008
Echo Conference 2008Nathan Smith
 
Test RRG Slideshare Example
Test RRG Slideshare ExampleTest RRG Slideshare Example
Test RRG Slideshare Exampleleecbriggs
 
Children’S Rights Practicum
Children’S Rights PracticumChildren’S Rights Practicum
Children’S Rights Practicumtrammai
 
P161_Vietnam_Economics_Quarter_1_2008
P161_Vietnam_Economics_Quarter_1_2008P161_Vietnam_Economics_Quarter_1_2008
P161_Vietnam_Economics_Quarter_1_2008internationalvr
 
Using copy.com app for uploading and sharing files
Using copy.com app for uploading and sharing filesUsing copy.com app for uploading and sharing files
Using copy.com app for uploading and sharing filesRachabodin Suwannakanthi
 
VietRees_Newsletter_49_Week3_Month09_Year08
VietRees_Newsletter_49_Week3_Month09_Year08VietRees_Newsletter_49_Week3_Month09_Year08
VietRees_Newsletter_49_Week3_Month09_Year08internationalvr
 
Juliuss Story So Far Bens
Juliuss Story So Far BensJuliuss Story So Far Bens
Juliuss Story So Far Bensguest898b1e
 
VietRees_Newsletter_28_Week4_Month04_Year08
VietRees_Newsletter_28_Week4_Month04_Year08VietRees_Newsletter_28_Week4_Month04_Year08
VietRees_Newsletter_28_Week4_Month04_Year08internationalvr
 
Detectiu
DetectiuDetectiu
Detectiuimmaegi
 

Destacado (20)

Pp For Christina
Pp For ChristinaPp For Christina
Pp For Christina
 
Wg2 Proapganda
Wg2 ProapgandaWg2 Proapganda
Wg2 Proapganda
 
Organizational Culture - Get Over It!
Organizational Culture - Get Over It!Organizational Culture - Get Over It!
Organizational Culture - Get Over It!
 
C:\fakepath\psychological disorders
C:\fakepath\psychological disordersC:\fakepath\psychological disorders
C:\fakepath\psychological disorders
 
Magic activity
Magic activityMagic activity
Magic activity
 
Martin Luther King, Jr
Martin Luther King, JrMartin Luther King, Jr
Martin Luther King, Jr
 
Echo Conference 2008
Echo Conference 2008Echo Conference 2008
Echo Conference 2008
 
Test RRG Slideshare Example
Test RRG Slideshare ExampleTest RRG Slideshare Example
Test RRG Slideshare Example
 
Gospelcon 2006
Gospelcon 2006Gospelcon 2006
Gospelcon 2006
 
Children’S Rights Practicum
Children’S Rights PracticumChildren’S Rights Practicum
Children’S Rights Practicum
 
What do you need to run
What do you need to runWhat do you need to run
What do you need to run
 
P161_Vietnam_Economics_Quarter_1_2008
P161_Vietnam_Economics_Quarter_1_2008P161_Vietnam_Economics_Quarter_1_2008
P161_Vietnam_Economics_Quarter_1_2008
 
RubyCocoa
RubyCocoaRubyCocoa
RubyCocoa
 
Using copy.com app for uploading and sharing files
Using copy.com app for uploading and sharing filesUsing copy.com app for uploading and sharing files
Using copy.com app for uploading and sharing files
 
Archives and Digital Archives
Archives and Digital ArchivesArchives and Digital Archives
Archives and Digital Archives
 
VietRees_Newsletter_49_Week3_Month09_Year08
VietRees_Newsletter_49_Week3_Month09_Year08VietRees_Newsletter_49_Week3_Month09_Year08
VietRees_Newsletter_49_Week3_Month09_Year08
 
Juliuss Story So Far Bens
Juliuss Story So Far BensJuliuss Story So Far Bens
Juliuss Story So Far Bens
 
Moral Psychology
Moral PsychologyMoral Psychology
Moral Psychology
 
VietRees_Newsletter_28_Week4_Month04_Year08
VietRees_Newsletter_28_Week4_Month04_Year08VietRees_Newsletter_28_Week4_Month04_Year08
VietRees_Newsletter_28_Week4_Month04_Year08
 
Detectiu
DetectiuDetectiu
Detectiu
 

Similar a Application development for mobile phones

Review On Google Android a Mobile Platform
Review On Google Android a Mobile PlatformReview On Google Android a Mobile Platform
Review On Google Android a Mobile PlatformIOSR Journals
 
Test Cases and Testing Strategies for Mobile Apps –A Survey
Test Cases and Testing Strategies for  Mobile Apps  –A SurveyTest Cases and Testing Strategies for  Mobile Apps  –A Survey
Test Cases and Testing Strategies for Mobile Apps –A SurveyIRJET Journal
 
Railway Safety Protection with Android Mobile Application for 5G New Radio Ne...
Railway Safety Protection with Android Mobile Application for 5G New Radio Ne...Railway Safety Protection with Android Mobile Application for 5G New Radio Ne...
Railway Safety Protection with Android Mobile Application for 5G New Radio Ne...AIRCC Publishing Corporation
 
RAILWAY SAFETY PROTECTION WITH ANDROID MOBILE APPLICATION FOR 5G NEW RADIO NE...
RAILWAY SAFETY PROTECTION WITH ANDROID MOBILE APPLICATION FOR 5G NEW RADIO NE...RAILWAY SAFETY PROTECTION WITH ANDROID MOBILE APPLICATION FOR 5G NEW RADIO NE...
RAILWAY SAFETY PROTECTION WITH ANDROID MOBILE APPLICATION FOR 5G NEW RADIO NE...ijcsit
 
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...IRJET Journal
 
IRJET- Online Programming Environment
IRJET- Online Programming EnvironmentIRJET- Online Programming Environment
IRJET- Online Programming EnvironmentIRJET Journal
 
Voice wiki on mobile project report
Voice wiki on mobile project reportVoice wiki on mobile project report
Voice wiki on mobile project reportRahul E
 
Voice wiki on mobile project report
Voice wiki on mobile project reportVoice wiki on mobile project report
Voice wiki on mobile project reportRahul E
 
IRJET- IoT based Vending Machine with Cashless Payment
IRJET- IoT based Vending Machine with Cashless PaymentIRJET- IoT based Vending Machine with Cashless Payment
IRJET- IoT based Vending Machine with Cashless PaymentIRJET Journal
 
IRJET - Mirroring of Source and Sink Devices in Android Screen Casting
IRJET - Mirroring of Source and Sink Devices in Android Screen CastingIRJET - Mirroring of Source and Sink Devices in Android Screen Casting
IRJET - Mirroring of Source and Sink Devices in Android Screen CastingIRJET Journal
 
Mobile Services with Qt
Mobile Services with QtMobile Services with Qt
Mobile Services with QtEspen Riskedal
 
Java ME Open Source
Java ME Open SourceJava ME Open Source
Java ME Open Sourceguest63b060
 
CSC426 - Software Engineering Lecture Note Cont'd
CSC426   - Software Engineering Lecture Note Cont'dCSC426   - Software Engineering Lecture Note Cont'd
CSC426 - Software Engineering Lecture Note Cont'dBro Shola Ajayi
 
Build once deploy everywhere using the telerik platform
Build once deploy everywhere using the telerik platformBuild once deploy everywhere using the telerik platform
Build once deploy everywhere using the telerik platformAspenware
 
Developers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th editionDevelopers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th editionMarco Tabor
 
Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Marco Tabor
 

Similar a Application development for mobile phones (20)

Review On Google Android a Mobile Platform
Review On Google Android a Mobile PlatformReview On Google Android a Mobile Platform
Review On Google Android a Mobile Platform
 
Test Cases and Testing Strategies for Mobile Apps –A Survey
Test Cases and Testing Strategies for  Mobile Apps  –A SurveyTest Cases and Testing Strategies for  Mobile Apps  –A Survey
Test Cases and Testing Strategies for Mobile Apps –A Survey
 
MeeGo Mobile OS
MeeGo Mobile OSMeeGo Mobile OS
MeeGo Mobile OS
 
Personal_CV
Personal_CVPersonal_CV
Personal_CV
 
[IJCT-V3I2P36] Authors: Amarbir Singh
[IJCT-V3I2P36] Authors: Amarbir Singh[IJCT-V3I2P36] Authors: Amarbir Singh
[IJCT-V3I2P36] Authors: Amarbir Singh
 
Railway Safety Protection with Android Mobile Application for 5G New Radio Ne...
Railway Safety Protection with Android Mobile Application for 5G New Radio Ne...Railway Safety Protection with Android Mobile Application for 5G New Radio Ne...
Railway Safety Protection with Android Mobile Application for 5G New Radio Ne...
 
RAILWAY SAFETY PROTECTION WITH ANDROID MOBILE APPLICATION FOR 5G NEW RADIO NE...
RAILWAY SAFETY PROTECTION WITH ANDROID MOBILE APPLICATION FOR 5G NEW RADIO NE...RAILWAY SAFETY PROTECTION WITH ANDROID MOBILE APPLICATION FOR 5G NEW RADIO NE...
RAILWAY SAFETY PROTECTION WITH ANDROID MOBILE APPLICATION FOR 5G NEW RADIO NE...
 
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...
 
IRJET- Online Programming Environment
IRJET- Online Programming EnvironmentIRJET- Online Programming Environment
IRJET- Online Programming Environment
 
REPORTOF MEMS2
REPORTOF MEMS2REPORTOF MEMS2
REPORTOF MEMS2
 
Voice wiki on mobile project report
Voice wiki on mobile project reportVoice wiki on mobile project report
Voice wiki on mobile project report
 
Voice wiki on mobile project report
Voice wiki on mobile project reportVoice wiki on mobile project report
Voice wiki on mobile project report
 
IRJET- IoT based Vending Machine with Cashless Payment
IRJET- IoT based Vending Machine with Cashless PaymentIRJET- IoT based Vending Machine with Cashless Payment
IRJET- IoT based Vending Machine with Cashless Payment
 
IRJET - Mirroring of Source and Sink Devices in Android Screen Casting
IRJET - Mirroring of Source and Sink Devices in Android Screen CastingIRJET - Mirroring of Source and Sink Devices in Android Screen Casting
IRJET - Mirroring of Source and Sink Devices in Android Screen Casting
 
Mobile Services with Qt
Mobile Services with QtMobile Services with Qt
Mobile Services with Qt
 
Java ME Open Source
Java ME Open SourceJava ME Open Source
Java ME Open Source
 
CSC426 - Software Engineering Lecture Note Cont'd
CSC426   - Software Engineering Lecture Note Cont'dCSC426   - Software Engineering Lecture Note Cont'd
CSC426 - Software Engineering Lecture Note Cont'd
 
Build once deploy everywhere using the telerik platform
Build once deploy everywhere using the telerik platformBuild once deploy everywhere using the telerik platform
Build once deploy everywhere using the telerik platform
 
Developers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th editionDevelopers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th edition
 
Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7
 

Último

ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 

Último (20)

ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 

Application development for mobile phones

  • 1. APPLICATION DEVELOPMENT FOR MOBILE PHONES & ITS TRENDS SEMINAR REPORT Submitted by VINEETH M.M In the partial fulfillment for the award of the degree of BACHELOR OF TECHNOLOLGY in COMPUTER SCIENCE & ENGINEERING SCHOOL OF ENGINEERING COCHIN UNIVERSITY OF SCIENCE AND TECHNOLOGY KOCHI-682022
  • 2. Division of Computer Engineering School of Engineering Cochin University of Science & Technology Kochi-682022 ______________________________________________________ CERTIFICATE Certified that this is a bonafied record of the seminar work titled Application Development For Mobile Phones & Its Trends Done by Vineeth M.M of VII semester Computer Science & Engineering in the year 2010 in partial fulfillment of the requirements for the award of Degree of Bachelor of Technology in Computer Science & Engineering of Cochin University of Science & Technology Dr.David Peter S Mr.Sudheep Elayidom Head of the Division Seminar Guide
  • 3. ACKNOWLEDMENT I am greatly indebted to Dr .David Peter , head of the Departement, Division of Computer Science ,CUSAT for permitting me to undertake this work. I express my heartfelt gratitude to my respected Seminar Guide Mr Sudheep Elayidom, for his kind and inspiring advise which helped me to understand the subject and its semantic significance. I extend my gratitude to my colleagues who helped and co- ordinated with me in conducting the seminar by their active participation. VINEETH M.M
  • 4. ABSTRACT Application Development for mobile phones & its trends Mobile application development is the process by which applications are developed for hand held devices such as personal digital assistants, enterprise digital assistants or mobile phones. These applications are either pre-installed on phones during manufacture, or downloaded by customers from app stores and other mobile software distribution platforms. Each of the platforms for mobile applications also has a development environment which provides tools to allow a developer to write, test and deploy applications into the target platform environment. An example is Qt which is a cross platform development framework released by nokia. Trends in this industry has give rise to several design and development issues.
  • 5. CONTENTS Chapter Index Page number 1. INTRODUCTION 1 2. CURRENT PRACTICES 2 3. MOBILE PLATFORMS 3 3.1 Platforms supporting devices by multiple Manufacturers 3.1.1 Java ME 3 3.1.2 Symbian OS 3 3.1.3 Android 7 3.1.4 Qt 8 3.1.5 Brew 8 3.2 Platforms supporting devices by one Manufacturer 3.2.1 Black Berry 13 3.2.2 iOS 13 4. PLATFORM DEVELOPMENT ENVIRONMENT 15 5. QT 19 5.1 Qt(framework) 19 5.2 History 19 5.3 Platforms 20 5.4 Applications 20 6. DEVELOPMENT TRENDS 23 7. DESIGN AND DEVELOPMENT ISSUES FOR MOBILE WEB 25 7.1 Native app / web based 25 7.2 Privacy 26 7.3 Emerging wireless standards 26 8. CONCLUSION 28 9. REFERENCES 29
  • 6. SEMINAR REPORT Chapter 1 INTRODUCTION Application Development for mobile phones & its trends Last year I have seen an advertisement of nokia n95 mobile phone. the caption below a big picture of that particular model was interesting. “This is what computers have become”. Yes, mobile phones have changed a lot. Most of modern mobile phones serve as a mini computer. And hence application development for mobile phones becomes a new industry. Mobile computing has caught the attention of the research community for quite some time and has also reached the commercial industry and mainstream consumers via smart phones and PDAs. More than ever, such devices can run rich stand-alone applications as well as distributed client-server applications that access information via a web gateway. This opens new avenues for future mobile application and service development. During many years, the development of mobile services was mostly controlled and managed by the mobile network operators (MNO), phone manufacturers, and some mobile application and content providers. Recently, this has changed with the arrival of new mobile phones and platforms such as the iPhone. Development of mobile applications has generated more interest among the independent and freelance developers. The constant improvement of hardware related to mobile computing (e.g., better computing power, larger wireless network bandwidth) clearly enhance capabilities of mobile devices. The potential of the mobile application market is seen to reach $9 billion by 2011, according to Compass Intelligence1 Mobile application development is the process by which applications are developed for hand held devices such as personal digital assistants, enterprise digital assistants or mobile phones. These applications are either pre-installed on phones during manufacture, or downloaded by customers from app stores and other mobile software distribution platforms. Division of Computer Engineering SOE 1
  • 7. SEMINAR REPORT Chapter 2 CURRENT PRACTICES To structure the description of the current practices, It is proposed to examine the current mobile development platforms from the point of view of individual mobile application developers. Start by classifying the platforms in different categories depending on the three main components depicted in Figure 1. First, the developer uses development tools to build its mobile application. Second, the developer publishes its application on a portal, from which the consumer can download the application onto its mobile device. This model, includes developers, the application portal, consumers, and all the processes related to the publishing and purchasing of a mobile application. This model (Figure 1) supports us to separate and examine three main issues, which are addressed in different subsections. we look at the different kinds of development tools that are supported. This helps to characterize the type of technology each platform provides for developers (e.g., software development kit). More precisely, we determine if the technology provided has an open access or not (i.e., open source versus proprietary sources). we describe the different types of portals for each platforms. Characterize portals that act as intermediaries between developers and consumers. Differentiate between centralized and decentralized portals. , we look at the level of integration of each platform, from no integration to a full distribution model integration. Division of Computer Engineering SOE 2
  • 8. SEMINAR REPORT Chapter 3 MOBILE PLATFORMS 3.1 Platforms supporting devices by multiple manufacturers 3.1.1 Java ME This platform generally produces portable applications, although sometimes device- specific libraries exist (commonly used for games), making them non-portable. It is often used to provide simple applications on feature phones. Applications (including their data) cannot be larger than around 1 MB if they are to run on most phones. They must also be cryptographically signed in order to use APIs such as the file system access API. This is relatively expensive and is rarely done, even for commercial applications. Java ME runs atop a Virtual Machine (called the JVM) which allows reasonable, but not complete, access to the functionality of the underlying phone. The JSR process serves to incrementally increase the functionality that can be made available to Java ME, while also providing Carriers and OEMs the ability to prevent access, or limit access to provisioned software. 3.1.2 Symbian OS Symbian OS is one of Nokia's mobile operating systems for mobile devices and smartphones, with associated libraries, user interface, frameworks and reference implementations of common tools, originally developed by Symbian Ltd. It was a descendant of Psion's EPOC and runs exclusively on ARM processors, although an unreleased x86 port existed. In 2008, the former Symbian Software Limited was acquired by Nokia and a new independent non-profit organisation called the Symbian Foundation was established. Symbian OS and its associated user interfaces S60, UIQ and MOAP(S) were contributed by their owners to the foundation with the objective of creating the Symbian platform as a royalty-free, open source software. The platform has been designated as the successor Division of Computer Engineering SOE 3
  • 9. SEMINAR REPORT to Symbian OS, following the official launch of the Symbian Foundation in April 2009. The Symbian platform was officially made available as open source code in February 2010. Devices based on Symbian OS account for 46.9% of smartphone sales, making it the world's most popular mobile operating system. Design Symbian features pre-emptive multitasking and memory protection, like other operating systems (especially those created for use on desktop computers). EPOC's approach to multitasking was inspired by VMS and is based on asynchronous server- based events. Symbian OS was created with three systems design principles in mind: • the integrity and security of user data is paramount, • user time must not be wasted, and • all resources are scarce. To best follow these principles, Symbian uses a microkernel, has a request-and- callback approach to services, and maintains separation between user interface and engine. The OS is optimised for low-power battery-based devices and for ROM-based systems (e.g. features like XIP and re-entrancy in shared libraries). Applications, and the OS itself, follow an object-oriented design: Model-view-controller (MVC). Later OS iterations diluted this approach in response to market demands, notably with the introduction of a real-time kernel and a platform security model in versions 8 and 9. There is a strong emphasis on conserving resources which is exemplified by Symbian-specific programming idioms like descriptors and a cleanup stack. There are similar techniques for conserving disk space (though the disks on Symbian devices are usually flash memory). Furthermore, all Symbian programming is event-based, and the CPU is switched into a low power mode when applications are not directly dealing with Division of Computer Engineering SOE 4
  • 10. SEMINAR REPORT an event. This is achieved through a programming idiom called active objects. Similarly the Symbian approach to threads and processes is driven by reducing overheads. The Symbian kernel (EKA2) supports sufficiently-fast real-time response to build a single-core phone around it — that is, a phone in which a single processor core executes both the user applications and the signalling stack. This has allowed Symbian EKA2 phones to become smaller, cheaper and more power efficient than their predecessors Developing on Symbian OS Qt As of 2010, the SDK for Symbian is standard C++, using Qt. It can be used with either Qt Creator, or Carbide (the older IDE previously used for Symbian development). A phone simulator allows testing of Qt apps. Apps compiled for the simulator are compiled to native code for the development platform, rather than having to be emulated. Symbian C++ It is also possible to develop using Symbian C++, although it is not a standard implementation. Prior to the release of the Qt SDK, this was the standard development environment. There were multiple platforms based upon Symbian OS that provided SDKs for application developers wishing to target Symbian OS devices – the main ones being UIQ and S60. Individual phone products, or families, often had SDKs or SDK extensions downloadable from the manufacturer's website too. The SDKs contain documentation, the header files and library files required to build Symbian OS software, and a Windows-based emulator ("WINS"). Up until Symbian OS version 8, the SDKs also included a version of the GCC compiler (a cross-compiler) required to build software to work on the device. Symbian OS 9 and the Symbian platform use a new ABI and require a different compiler – a choice of compilers is available including a newer version of GCC (see external links below). Division of Computer Engineering SOE 5
  • 11. SEMINAR REPORT Unfortunately, Symbian C++ programming has a steep learning curve, as Symbian C++ requires the use of special techniques such as descriptors, active objects and the cleanup stack. This can make even relatively simple programs harder to implement than in other environments. Moreover, it was questionable whether these techniques, such as the memory management paradigm, were actually beneficial. It is possible that the techniques, developed for the much more restricted mobile hardware of the 1990s, simply caused unnecessary complexity in source code because programmers are required to concentrate on low-level routines instead of more application-specific features. These issues however are no longer the case when using standard C++, with the Qt SDK. Symbian C++ programming is commonly done with an IDE. For earlier versions of Symbian OS, the commercial IDE CodeWarrior for Symbian OS was favoured. The CodeWarrior tools were replaced during 2006 by Carbide.c++, an Eclipse-based IDE developed by Nokia. Carbide.c++ is offered in four different versions: Express, Developer, Professional, and OEM, with increasing levels of capability. Fully featured software can be created and released with the Express edition, which is free. Features such as UI design, crash debugging etc. are available in the other, charged-for, editions. Microsoft Visual Studio 2003 and 2005 are also supported through the Carbide.vs plugin. Other languages Symbian devices can also be programmed using Python, Java ME, Flash Lite, Ruby, .NET, Web Runtime (WRT) Widgets and Standard C/C++. Visual Basic programmers can use NS Basic to develop apps for S60 3rd Edition and UIQ 3 devices. In the past, Visual Basic, VB.NET, and C# development for Symbian were possible through AppForge Crossfire, a plugin for Microsoft Visual Studio. On 13 March 2007 AppForge ceased operations; Oracle purchased the intellectual property, but announced that they did not plan to sell or provide support for former AppForge products. Net60, a .NET compact framework for Symbian, which is developed by redFIVElabs, is sold as a commercial product. With Net60, VB.NET and C# (and other) source code is compiled Division of Computer Engineering SOE 6
  • 12. SEMINAR REPORT into an intermediate language (IL) which is executed within the Symbian OS using a just- in-time compiler. (As of 18/1/10 RedFiveLabs has ceased development of Net60 with this announcement on their landing page: ”At this stage we are pursuing some options to sell the IP so that Net60 may continue to have a future”.) There is also a version of a Borland IDE for Symbian OS. Symbian OS development is also possible on Linux and Mac OS X using tools and techniques developed by the community, partly enabled by Symbian releasing the source code for key tools. A plugin that allows development of Symbian OS applications in Apple's Xcode IDE for Mac OS X is available. Java ME applications for Symbian OS are developed using standard techniques and tools such as the Sun Java Wireless Toolkit (formerly the J2ME Wireless Toolkit). They are packaged as JAR (and possibly JAD) files. Both CLDC and CDC applications can be created with NetBeans. Other tools include SuperWaba, which can be used to build Symbian 7.0 and 7.0s programs using Java. Nokia S60i phones can also run Python scripts when the interpreter Python for S60 is installed, with a custom made API that allows for Bluetooth support and such. There is also an interactive console to allow the user to write python scripts directly from the phone. 3.1.3 Andriod Android is a Linux-based platform from the Open Handset Alliance, whose 34 members include Google, HTC, Motorola, Qualcomm, and T-Mobile. It is supported by over 34 major software, hardware and telecoms companies. The Linux kernel is used as a hardware abstraction layer (HAL). Application programming is primarily done in Java. The Android specific Java SDK is required for development although any Java IDE may be used. Performance critical code can be written in C, C++ or other native code languages using the Android Native Development Kit (NDK). Division of Computer Engineering SOE 7
  • 13. SEMINAR REPORT 3.1.4 Qt (framework) Qt uses standard C++ but makes extensive use of a special pre-processor (called the Meta Object Compiler, or moc) to enrich the language. Qt can also be used in several other programming languages via language bindings. It runs on all major platforms and has extensive internationalization support. Non-GUI features include SQL database access, XML parsing, thread management, network support, and a unified cross-platform API for file handling. 3.1.5 BREW Used for deploying applications on CDMA devices (but also supports GPRS/GSM models). Distributed via a Brew Content Platform. Little penetration in Europe. BREW can provide complete control of the handset and access to all its functionality. However the power provided by native code with direct access to the handset APIs, has caused the BREW development process to be tailored largely towards recognized software vendors. While the BREW SDK (Software Development Kit) is freely available, running software on real mobile hardware (as opposed to the provided emulator) requires a digital signature which can only be generated with tools issued by a handful of parties, namely mobile content providers and Qualcomm themselves. Even then, the software will only work on test enabled devices. To be downloadable on regular phones the software must be checked, tested and given approval by Qualcomm via their TRUE BREW Testing program. BREW application development Software for the BREW-enabled handsets can be developed in C or C++ using the freely downloadable BREW SDK. Java applications are also supported if the handset has a Java Virtual Machine available. For testing applications during the development process, the SDK includes a BREW Emulator, or starting with BREW Version 3.1.5 and above, the BREW Simulator. The BREW environment provides for multiple levels of application signatures. One signature authenticates the developer. Another signature Division of Computer Engineering SOE 8
  • 14. SEMINAR REPORT verifies that an application has passed TRUE BREW testing and is bestowed through Qualcomm. The individual telecommunications operators configure the handsets to either enforce or ignore the presence and verification of this second signature. BREW enabled Handsets have a test mode that allows applications to bypass verification of the Qualcomm signature. Qualcomm makes applications that have passed testing available to BREW enabled wireless network operators. The operators are then able to choose which of these applications to make available to end-users on their catalog. The BREW Emulator (currently called BREW Simulator) does not emulate handset's hardware. Instead, the BREW application is compiled to native code and linked with a compatible BREW runtime library. Because of this, applications cannot be tested for platform bugs related to memory alignment and various firmware related glitches without a BREW handset operating in test mode. For testing purpose, BREW applications can be transferred using a USB or serial cable to any BREW-compatible handset using BREW AppLoader from Qualcomm. A BREW application contains several components which, if not present and valid, cause the application to be automatically deleted on reboot. This includes the compiled binary file, a file which describes the application, the features it uses and permissions requested, a file which contains string and image resources if required, and a file containing the application digital signature. BREW Applications may be unloaded from a consumer handset to save handset memory space. This is referred to as "Disable/Restore", and is a requirement of the TRUE BREW Test Cycle. Saved files are kept intact using Disable/Restore, and it is possible to re-load the application without paying for it again. In a "Disable" situation, all .bar, .mod, and .sig files are deleted from the handset, while any other files remain in their original place. During the "Restore" operation, the .bar, .mod, and.sig files are downloaded from the carrier's mobile store, and the previously disabled application will have full functionality remaining. The Disable/Restore process is only available to consumer users once the handset's memory is completely full. Division of Computer Engineering SOE 9
  • 15. SEMINAR REPORT 3.1.6 Windows Mobile Windows Mobile (rebranded as Windows Phone with the launch of Windows Phone 7) is a mobile operating system developed by Microsoft for use in smartphones and mobile devices. The current version is called "Windows Mobile 6.5". It is based on the Windows CE 5.2 kernel, and features a suite of basic applications developed using the Microsoft Windows API. It is designed to be somewhat similar to desktop versions of Windows, feature-wise and aesthetically. Additionally, third-party software development is available for Windows Mobile, and software can be purchased via the Windows Marketplace for Mobile. Originally appearing as the Pocket PC 2000 operating system, most Windows Mobile devices come with a stylus pen, which is used to enter commands by tapping it on the screen. Microsoft announced a completely new phone platform, Windows Phone 7, at the Mobile World Congress in Barcelona on February 15, 2010. Phones running Windows Mobile 6.x will not be upgradeable to version 7. Common features Windows Mobile for Pocket PC carries these standard features in most of its versions: • Today Screen shows the current date, owner information, upcoming appointments, e-mail messages, and tasks. (Is now Home screen in later WM6.5 builds) • The taskbar shows the current time and the volume. • Office Mobile a suite of Mobile versions of Microsoft Office applications • Outlook Mobile comes with Windows Mobile. • Internet Explorer Mobile is an Internet browser developed by Microsoft for Pocket PC and Handheld PC that comes loaded by default with Windows Mobile and Windows CE for Handheld PC. • Windows Media Player for Windows Mobile. Division of Computer Engineering SOE 10
  • 16. SEMINAR REPORT • Client for PPTP VPNs. • Internet Connection Sharing (ICS) which in mobile phones allows attached computers to share internet connections via USB and Bluetooth. • Coherent file system similar to that of Windows 9x/Windows NT and support for many of the same file types. • Ability to multitask. 3.1.7 Palm OS Palm OS is a mobile operating system initially developed by Palm, Inc. for personal digital assistants (PDAs) in 1996. Palm OS is designed for ease of use with a touchscreen-based graphical user interface. It is provided with a suite of basic applications for personal information management. Later versions of the OS have been extended to support smartphones. Several other licensees have manufactured devices powered by Palm OS.. Application development Palm OS Garnet applications are primarily coded in C/C++. Two officially supported compilers exist: a commercial product, CodeWarrior Development Studio for Palm OS, and an open source tool chain called prc-tools, based on an old version of gcc. CodeWarrior is criticized for being expensive and is no longer being developed, whereas PRC-Tools lacks several of CodeWarrior's features. A version of PRC-Tools is included in a free Palm OS Developer Suite (PODS). OnBoardC is a C compiler, assembler, linker and programming editor that runs on the Palm itself. Palm OS Cobalt applications are also coded in a variation of gcc, but the Cobalt compilers have fewer limitations. There are development tools available for Palm programming that do not require low- level programming in C/C++, such as PocketC/PocketC Architect, CASL, AppForge Division of Computer Engineering SOE 11
  • 17. SEMINAR REPORT Crossfire (which uses Visual Basic, Visual Basic.NET, or C#), Handheld Basic, Pendragon Forms, Satellite Forms and NSBasic/Palm (Visual Basic like languages). A Java Virtual Machine was previously available for the Palm OS platform, however on 2008-01-12 Palm, Inc. announced that it would no longer be available. Palm, Inc. further said "There is no alternate Java Virtual Machine that we are aware of for Palm OS."[38] Waba and a derivative of it, SuperWaba, provide a Java-like virtual machine and programming language. A version of the Lua language, called Plua, is also available for Palm; however, due to the fact that it requires an additional runtime to be installed along with the application, it is only used for mainstream applications by a minority of software companies. Quartus Forth is an ISO/ANSI Standard Forth compiler that runs on the Palm itself. It also has an interactive console for dynamic development and debugging. Two environments allow programming in Pascal for Palm OS. The free PP Compiler[39] runs directly on the handheld computer, while PocketStudio is a Delphi-like IDE for Windows Computers that has a visual form designer and generates PRC files for being transferred to handhelds via HotSync. As Palm has no connection drivers that enable the transfer of data with a server DBMS (Oracle, mySQL, MS SQL Server), the programmer can use Middleware software that enables this connectivity. A roughly R4RS-compatible implementation of Scheme, LispMe, provides the Palm platform with a GPL-licensed onboard Lisp REPL with some Palm OS-specific adaptations, but although it is functionally a compiler it does not produce code that operates outside the development environment, so its use is restricted to prototyping. A free development tool, LaFac, works directly on the Palm device, using the Memo Pad for source code editing, and provides support for a limited subset of C, Pascal, and Basic. Division of Computer Engineering SOE 12
  • 18. SEMINAR REPORT 3.2 Platforms supporting devices by one manufacturer 3.2.1 BlackBerry The operating system used by BlackBerry devices is a proprietary multitasking environment developed by RIM. The operating system is designed for use of input devices such as the track wheel, track ball, and track pad. The OS provides support for Java MIDP 1.0 and WAP 1.2. Previous versions allowed wireless synchronization with Microsoft Exchange Server e-mail and calendar, as well as with Lotus Domino e-mail. The current OS 5.0 provides a subset of MIDP 2.0, and allows complete wireless activation and synchronization with Exchange e-mail, calendar, tasks, notes and contacts, and adds support for Novell GroupWise and Lotus Notes. Third-party developers can write software using these APIs, and proprietary BlackBerry APIs as well. Any application that makes use of certain restricted functionality must be digitally signed so that it can be associated to a developer account at RIM. This signing procedure guarantees the authorship of an application but does not guarantee the quality or security of the code. RIM provides tools for developing applications and themes for BlackBerry. Applications and themes can be loaded onto BlackBerry devices through BlackBerry App World, Over The Air (OTA) through the BlackBerry mobile browser, or through BlackBerry Desktop Manager. dominating position on the North American smartphone market. Also important for BlackBerry are the BES (Black Berry Enterprise Server) and the Mobile Data System (BlackBerry MDS). 3.2.2 iOS (Apple) iOS is Apple's mobile operating system. Developed originally for the iPhone, it has since been shipped on the iPod Touch and iPad as well. Apple does not permit the OS to run on third-party hardware. As of June 7, 2010, Apple's App Store contained more than Division of Computer Engineering SOE 13
  • 19. SEMINAR REPORT 225,000 iOS applications, which had collectively been downloaded more than five billion times. The user interface of iOS is based on the concept of direct manipulation, using multi-touch gestures. Interface control elements consist of sliders, switches, and buttons. The response to user input is immediate and provides a fluid interface. Interaction with the OS includes gestures such as swiping, tapping, pinching, and reverse pinching. Internal accelerometers are used by some applications to respond to shaking the device (one common result is the undo command) or rotating it in three dimensions (one common result is switching from portrait to landscape mode). iOS is derived from Mac OS X, with which it shares the Darwin foundation, and is therefore a Unix-like operating system by nature. In iOS, there are four abstraction layers: the Core OS layer, the Core Services layer, the Media layer, and the Cocoa Touch layer. The operating system uses roughly 500 megabytes of the device's storage, varying for each model. Division of Computer Engineering SOE 14
  • 20. SEMINAR REPORT Chapter 4 PLATFORM DEVELOPMENT ENVIRONMENT Each of the platforms for mobile applications also has a development environment which provides tools to allow a developer to write, test and deploy applications into the target platform environment. The following table summarizes the elements in each of the development environments. Integrated Programmin Debuggers Emulator Development Cross-Platform g Language available available Environment Deployment available All native: BREW, Android, iPhone, C, C++ but no Debugger Emulator Visual Studio, Windows AirplaySDK threads available available Mac OS SDK Mobile, Symbian, Samsung Bada, Maemo, Palm/Web OS Debugger Emulator BREW, integrated is Android, in Visual available Visual Studio, alcheMo Java iPhone, Studio, in Eclipse, XCode Windows Eclipse or correspon Mobile XCode ding IDE Debugger integrated Java but in Eclipse, Android only, Eclipse, Undroid portions of Standalone Free because of Android (Plugin for code can be in debugging Emulator Dalvik VM Netbeans) C, C++ monitor (march 09) also available Bedrock Java Yes Yes Eclipse Java ME, Division of Computer Engineering SOE 15
  • 21. SEMINAR REPORT BREW, BlackBerry, iPhone, PSP, DS, Android, Windows Mobile, Palm JDE - BlackBerry Debugger BlackBerry only Free Java BlackBerry Java integrated because of the Emulator Development in JDE RIM API Environment XML routed through N/A, None Blueprint Yahoo Mobile translates N/A, translates beyond a N/A, any XML (programmin servers and to web or to web or mobile schema editor g language) displayed in mobile as as needed check native needed browsers No Debugger Emulator support for for the the native target C (the APIs Visual Studio ARM target ARM Compile for the are provided 6.0, Visual code.Can code, has specific BREW BREW in C with a Studio 2003 .net, use Visual a version available C++ style Visual Studio Studio to simulator on the handset. interface) 2005 debug the for the x86 testing x86 code. testing code. Bundled with Debugger iPhone integrated SDK, iPhone, iPod iOS (Apple) Objective-C Xcode in Xcode integrated Touch, and iPad. IDE with Xcode IDE Free Yes although Emulator, many VM Sun Java Eclipse,LMA implementations Java ME Java Yes Wireless NetBeans have device Toolkit, Mobility Pack specific bugs mpowerpl necessitating ayer separate builds Lazarus Object Pascal Yes. Can Uses the Lazarus IDE, Compiled Division of Computer Engineering SOE 16
  • 22. SEMINAR REPORT debug on emulators including language the IDE via of the integrated GUI available for ActiveSync platforms designer and Windows CE, for debugger linux-based Windows devices and a CE SymbianOS port is under development. Macromedia Macromedia Bundled ActionScript Yes Flash MX2004/8 Yes Flash Lite with IDE / Eclipse Basic Page XHTML rendering with Microbrowse (WAP 2.0), per page Yes Many Many r Based WML (WAP customizations 1.2) for different browsers. Windows Mobile, Eclipse, MoBuild Symbian, Java (w/ text editors), MoSync C, C++ Yes Yes ME, Moblin, Visual Studio Android, 2005 and later Smartphone 2003, Pocket PC Free emulator Windows (source Visual Studio Mobile, .NET C#, VB.NET, code 2008, 2005, WindowsCE, Compact Yes Basic4ppc available), 2003, Basic4ppc Symbian-based Framework also IDE devices (via bundled third party tools) with IDE OS 1.0 - 4.1: Free Emulator provided Palm OS Palm OS by Development handhelds, or PalmSour C, C++, System (Eclipse), Windows Palm OS Yes ce Pascal CodeWarrior, Mobile with (Access); PocketStudio, StyleTap OS 5.0: - HB++ emulator 5.4 Device- specific Simulator Division of Computer Engineering SOE 17
  • 23. SEMINAR REPORT s provided by Palm (palmOne ) Interpreted language available natively only on Nokia Series60 Add-on to Several, (and desktops) Python Python Yes Nokia including plugins though there are Emulator for Eclipse ports to other mobile platforms, including PalmOS N/A, Ruby with applicatio HTML Yes(Supports ns can run interface iOS (inc. 3.0), in Win32 xCode or Eclipse, features Windows runner, or on-demand Rhomobile compiled Yes Mobile, in device RhoHub version through an Blackberry, emulators includes full IDE interpreter Symbian and for into native Android) supported applications. platforms. Free Compile per Symbian C++ Yes Qt,c++, Emulator target Javascript, Free webOS, Palm webOS Yes Eclipse CSS, HTML emulator only Free emulator (source Visual Studio Windows Windows code 2008, 2005, C, C++ Yes Mobile, Mobile available), eMbedded VC++ WindowsCE also (free) bundled with IDE Division of Computer Engineering SOE 18
  • 24. SEMINAR REPORT Chapter 5 QT 4.1 Qt (framework) Qt (pronounced officially as cute though commonly pronounced as Q.T. ) is a cross- platform application development framework widely used for the development of GUI programs , and also used for developing non-GUI programs such as console tools and servers. Qt is most notably used in Google Earth, KDE, Opera (before 10.60 version), OPIE, Skype, MO-Call, VLC media player and VirtualBox. It is produced by Nokia's Qt Development Frameworks division, which came into being after Nokia's acquisition of the Norwegian company Trolltech, the original producer of Qt, on June 17, 2008 Qt uses standard C++ but makes extensive use of a special pre-processor (called the Meta Object Compiler, or moc) to enrich the language. Qt can also be used in several other programming languages via language bindings. It runs on all major platforms and has extensive internationalization support. Non-GUI features include SQL database access, XML parsing, thread management, network support, and a unified cross-platform API for file handling. 4.2 History Haavard Nord and Eirik Chambe-Eng (the original developers of Qt and the CEO and President, respectively, of Trolltech) began development of "Qt" in 1991, three years before the company was incorporated as Quasar Technologies, then changed the name to Troll Tech and then to Trolltech. The toolkit was called Qt because the letter Q looked appealing in Haavard's Emacs font, and "t" was inspired by Xt, the X toolkit. Division of Computer Engineering SOE 19
  • 25. SEMINAR REPORT The first two versions of Qt had only two flavors: Qt/X11 for Unix and Qt/Windows for Windows. The Windows platform was only available under a proprietary license, which meant free/open source applications written in Qt for X11 could not be ported to Windows without purchasing the proprietary edition. At the end of 2001, Trolltech released Qt 3.0, which added support for Mac OS X. The Mac OS X support was available only in the proprietary license until June 2003, when Trolltech released Qt 3.2 with Mac OS X support available under the GPL. Nokia acquired Trolltech ASA in 2008 and changed the name first to Qt Software, then to Qt Development Frameworks. Since then it focused on Qt development to turn it into the main development platform for its devices, including a port to the Symbian S60 platform. Version 1.0 of the Nokia Qt SDK was released on 23 June 2010.[7] The source code was made available over Gitorious, a community oriented git source code repository, in order to gather an even broader community that is not only using Qt but also helping to improve it. 4.3 Platforms Qt is released by Nokia on the following platforms: • Linux/X11 – Qt for X Window System (Unix / Linux) • Mac OS X – Qt for Apple Mac OS X. Support for applications on top of Cocoa APIs • Windows – Qt for Microsoft Windows • Embedded Linux – Qt for embedded platforms (PDA, Smartphone, etc.) • Windows CE – Qt for Windows CE[14] • Symbian – Qt for the Symbian platform.Qt is to replace Nokia's Avkon as the supported UI SDK for the development of Symbian applications. • Maemo – Qt for Maemo, merged with Moblin to MeeGo Division of Computer Engineering SOE 20
  • 26. SEMINAR REPORT 4.4 Applications • 3DSlicer, a free open source software for visualization and medical image computing • AcetoneISO, a software to mount most common images • Autodesk Maya, 3D modelling and animation software • Avidemux, a Free Software program designed for multi-purpose video editing and processing • Doxygen, an API document generator • Emergent, a neural network simulator. • Freemat, a free numerical computing environment and programming language • Gadu-Gadu, a popular Polish instant messaging client • GoldenDict, an open-source dictionary software • Google Earth, a 3D map program • Hydrogen, an advanced drum machine. • Last.fm Player, the desktop client for the popular internet radio and music community website • Launchy, the open source keystroke launcher for Windows and Linux • LMMS, a free open source sequencer and software synthesis package • LyX, a GUI frontend to LaTeX • Mathematica, Linux version uses Qt for the GUI front-end • Mixxx, cross-platform open source DJ mixing software • MuseScore, a WYSIWYG graphical music notation editor • MythTV, an open source digital video recorder • Nimbuzz, a instant messaging and VoIP application • Opera, cross-platform internet browser • Psi, an instant messaging client for XMPP • Qt Creator, a cross-platform IDE for C++ and QML • Quantum GIS, a free desktop GIS • Rosegarden, a free software digital audio workstation progra Division of Computer Engineering SOE 21
  • 27. SEMINAR REPORT • Scribus, a desktop publishing application • Skype, a P2P VOIP application • SMPlayer, a multiplatform multimedia player front-end for MPlayer. • TeamSpeak, cross-platform voice communication software • Texmaker, a cross-platform LaTeX editor • Tlen.pl, a popular Polish instant messaging client • TOra, a database administration tool • UniversalIndentGUI,an application which helps the user to beautify, reformat or indent various kinds of code. • Valknut, a program that uses the Direct Connect protocol. • VirtualBox, a PC virtualization application • VisIt, an interactive parallel visualization tool for viewing scientific data • VisTrails, a scientific workflow management and visualization system • VLC Media Player, an open source media player. • VoxOx, a unified communications software. • Xconfig, Linux Kernel configuration tool Division of Computer Engineering SOE 22
  • 28. SEMINAR REPORT Chapter 6 DEVELOPMENT TRENDS Bellow there are some thoughts on how the Mobile Development industry will evolve in the nearest future. Micropayments Micro payments within mobile applications can be used to upgrade basic app to a premium version, purchase game items, digital content or even small gifts for friends. Mobile bill payments and micropayments for digital content consumption continue to grow in the future. Enhanced Security Better security for mobile application platforms is expected. This is especially important when more users are conducting financial transactions and life streaming using their phones. Business App Store With all the mobile platforms targeting their app store towards average consumers, the introduction of a business app store is imminent. Location-Based Technology Location-based technology or GPS technology received the most buzz in 2009 and we expect it will continue growing this year. Division of Computer Engineering SOE 23
  • 29. SEMINAR REPORT Social Based Applications Social networking activities certainly do not end when you leave your computer. We are already seeing a great number of people tweeting and updating their Facebook status on-the-go, not to mention those who are posting videos and photos to services like Twitpic and 12seconds using their mobile phone. Augmented Reality (AR) Augmented reality (AR) is a term for a live direct or indirect view of a physical real-world environment whose elements are merged with (or augmented by) virtual computer-generated imagery – creating a mixed reality. High Entry Barriers for Fledgling Developers: Developers that are new to the scene and without much support will face trouble getting user adoption. Not only that there are already tons of mobile applications out there, established developers have better advantages in terms of capability to introduce new features over a short time span as well as the resources to adapt and test their applications on new platforms. Mobile Application Advertising The increasing number of mobile application users opens up another advertising channel for brands and businesses. This is definitely good news for developers. Importance of Marketing for Applications There are already hundreds of thousands of mobile applications out there. In order to stand a chance, developers or mobile application entrepreneurs need to know how to market applications developed by them. Division of Computer Engineering SOE 24
  • 30. SEMINAR REPORT Chapter 7 DESIGN AND DEVELOPMENT ISSUES FOR MOBILE WEB 7.1 Native App and/or Browser Based? Just as businesses in the PC-based Web spent years in the 90's wondering if a desktop app or web browser based service was the best choice, in 2010 the same question applies to mobile phone applications. Organizations are asking themselves: should we build a native mobile phone app, or should we build a cross-platform browser-based mobile service? If they choose the former, which platform(s) do they focus on first? The choices include iPhone, Android, RIM, Palm, Windows Mobile and Symbian. In February, mobile search company Taptu released a detailed report showing that the future of the Mobile Web is likely to be dominated by cross-platform browser-based mobile web sites - rather than apps built specifically for iPhone, Android, or any other platform. The company estimated that there were 326,000 Mobile Touch Web sites worldwide at that time, compared to 148,000 iPhone apps in the App Store and 24,000 apps in the Android market. What's more, Taptu expects the browser-based mobile web market to grow much faster than the app market. One factor to consider is that both options, native app and browser site, still have something of a 'wild west' element to them. We can see evidence of this in the stand-off between Apple and Adobe over Flash on mobile phones. Apple's iPhone platform and its default mobile Safari browser do not run Adobe's Flash technology, despite Flash having an almost ubiquitous presence on desktop PCs. Apple has been pushing HTML5, the latest generation of the Web's mark-up language, as a replacement for much of the Division of Computer Engineering SOE 25
  • 31. SEMINAR REPORT functionality in Flash. This battle is yet to be won - but it's not looking good for Adobe, because it's hard to bet against the next version of HTML. 7.2 Privacy Location-based mobile apps have been a big trend in 2010 (we'll cover this in Part 2 of this series), but there are significant privacy implications for these apps. Sites like Foursquare, BrightKite and Gowalla encourage their users to "check-in" to places, so that their social network knows where they are at any given time. While these apps have privacy controls that allow you to (for example) send a check-in update to just a select group of friends, a lot of times the updates are sent to the entire network. In a recent analysis post, Sarah Perez asked: are location-based social networks privacy disasters waiting to happen? She added that many web and mobile apps are using location data now, including Google, Facebook and user review site Yelp. The privacy dangers were highlighted earlier this year by a social experiment called PleaseRobMe, which displaying aggregated real-time updates from Foursquare users who used the social sharing feature to broadcast their updates publicly on Twitter. Although PleaseRobMe has since been shuttered, the point they were trying to make still resonates: sharing your physical location with a public network is potentially dangerous. 7.3 Emerging Wireless Standards Think your smart phone is cool now? Wait till it gets RFID chips, then it'll truly be 'smart.' That's the promise of two emerging RFID-based mobile technologies called NFC and DASH7. NFC (Near Field Communication) holds great promise as an enabler of mobile payments. DASH7 is a wireless sensor networking standard that complements NFC; it Division of Computer Engineering SOE 26
  • 32. SEMINAR REPORT will enable things like advanced location-based services, long-distance mobile advertising and mobile coupons. Both NFC and DASH7 may soon be a part of the mobile phone that you carry around everywhere. Nokia already deploys NFC, and Apple and Google are rumored to be working on NFC implementation. There are a group of other emerging mobile standards and technologies to look out for, such as WiMax, ZigBee and 4G. They all play an increasingly important part in the evolving Mobile ecosystem. Division of Computer Engineering SOE 27
  • 33. SEMINAR REPORT Chapter 8 CONCLUSION • Mobile application development is the process by which applications are developed for hand held devices such as personal digital assistants, enterprise digital assistants or mobile phones. • There are a number of mobile phone software platforms available in the industry • Each of the platforms for mobile applications also has a development environment which provides tools to allow a developer to write, test and deploy applications into the target platform environment • Qt is a crossplatform application development framework released by nokia • Mobile development industry is highly dynamic. Trends in this industry are in such a direction that mobile phones replace computers. • This industry also faces design and development issues Division of Computer Engineering SOE 28
  • 34. SEMINAR REPORT Chapter 9 REFERENCES • Je_rey L. Funk. The emerging value network in the mobile phone industry: The case of japan and its implications for the rest of the world. Telecommunications Policy, 2009. • B. Adrian. Overview of the mobile payments market 2002 - 2007. Gartner, 2002. • www.nokia.com • www.wayneliew.com • www.androidphonethemes.com • www.articlesbase.com • www.asia.cnet.com Division of Computer Engineering SOE 29