Presentation on 6 month Training Project (e-Notice App)Priyanka Kapoor
Its an android application that I made for college. Its main purpose is to intimate students instantly about any notice, posted by college admins. In this way, students will be updated about college events and happenings all the time.
Engineering Research Publication
Best International Journals, High Impact Journals,
International Journal of Engineering & Technical Research
ISSN : 2321-0869 (O) 2454-4698 (P)
www.erpublication.org
MeeGo is a Linux-based open source mobile operating system which is designed to act as an operating system for hardware platforms such as mobile phones, net books, tablets, connected TVs and in-vehicle infotainment system.
It was first announced at Mobile world Congress in Feb 2010 by Intel and Nokia in joint press conference.
The stated aim is to merge the efforts of Intel's Moblin and Nokia's Maemo former projects into one new common project. i.e. “MeeGo”
Presentation on 6 month Training Project (e-Notice App)Priyanka Kapoor
Its an android application that I made for college. Its main purpose is to intimate students instantly about any notice, posted by college admins. In this way, students will be updated about college events and happenings all the time.
Engineering Research Publication
Best International Journals, High Impact Journals,
International Journal of Engineering & Technical Research
ISSN : 2321-0869 (O) 2454-4698 (P)
www.erpublication.org
MeeGo is a Linux-based open source mobile operating system which is designed to act as an operating system for hardware platforms such as mobile phones, net books, tablets, connected TVs and in-vehicle infotainment system.
It was first announced at Mobile world Congress in Feb 2010 by Intel and Nokia in joint press conference.
The stated aim is to merge the efforts of Intel's Moblin and Nokia's Maemo former projects into one new common project. i.e. “MeeGo”
Meego Italian Day 2011 – Andrea Grandi - Qt: l’infrastruttura di programmazione multipiattaforma.
Panoramica di Qt: libreria multipiattaforma per lo sviluppo di programmi con interfaccia grafica tramite l’uso di widget. Perchè usarla? Quali sono i vantaggi? Che linguaggio di programmazione utilizza? E sotto che licenza viene rilasciata? Insomma, tutto quello che abbiamo sempre voluto sapere su Qt, ma non abbiamo mai osato chiedere. Inoltre qualche nozione teorica su Qt Quick e QML.
Andrea Grandi è studente di Informatica presso l’Università di Firenze e ha lavorato per qualche anno come sviluppatore di software. Dal 2007 fa parte della community di Maemo, in cui si impegna attivamente per aiutare i nuovi utenti, organizzare eventi e sviluppare applicazioni; recentemente è stato eletto membro del Maemo Community Council. Ha iniziato da alcuni anni a lavorare con Qt/C++ per creare programmi destinati ai dispositivi Maemo sino ad accumulare un’esperienza tale da essere nominato Nokia Qt Ambassador. Inoltre è socio fondatore del Pistoia Linux User Group.
http://www.meegoit.com/2011
Collaborative and agile development of mobile applicationsAyushman Jain
This is the presentation I used in the 16 December IBM India webcast on mobile development and also the Dr. Dobb's webcast I did in November.
It talks about mobile industry trends and technologies and shows how IBM Rational tools can help in developing and testing native or hybrid or web based mobile applications. It also talks about new technologies such as Phonegap and Dojo mobile.
Thorsignia - Custom software development services in indiacharan Teja
Thorsignia is a leading IT and Multimedia company that provides an integrated range of services. We render finest quality outputs to our clients through our domain expertise.
The usage of chatbots has increased tremendously since past few years. A conversational interface is an interface that the user can interact with by means of a conversation. The conversation can occur by speech but also by text input. When a chatty interface uses text, it is also described as a chatbot or a conversational medium. During this study, the user experience factors of these so called chatbots were investigated. The prime objective is “to spot the state of the art in chatbot usability and applied human-computer interaction methodologies, to research the way to assess chatbots usability". Two sorts of chatbots are formulated, one with and one without personalisation factors. the planning of this research may be a two-by-two factorial design. The independent variables are the two chatbots (unpersonalised versus personalised) and thus the speci?c task or goal the user are ready to do with the chatbot within the ?nancial ?eld (a simple versus a posh task). The results are that there was no noteworthy interaction effect between personalisation and task on the user experience of chatbots. A signi?cant di?erence was found between the two tasks with regard to the user experience of chatbots, however this variation wasn't because of personalisation.
Meego Italian Day 2011 – Andrea Grandi - Qt: l’infrastruttura di programmazione multipiattaforma.
Panoramica di Qt: libreria multipiattaforma per lo sviluppo di programmi con interfaccia grafica tramite l’uso di widget. Perchè usarla? Quali sono i vantaggi? Che linguaggio di programmazione utilizza? E sotto che licenza viene rilasciata? Insomma, tutto quello che abbiamo sempre voluto sapere su Qt, ma non abbiamo mai osato chiedere. Inoltre qualche nozione teorica su Qt Quick e QML.
Andrea Grandi è studente di Informatica presso l’Università di Firenze e ha lavorato per qualche anno come sviluppatore di software. Dal 2007 fa parte della community di Maemo, in cui si impegna attivamente per aiutare i nuovi utenti, organizzare eventi e sviluppare applicazioni; recentemente è stato eletto membro del Maemo Community Council. Ha iniziato da alcuni anni a lavorare con Qt/C++ per creare programmi destinati ai dispositivi Maemo sino ad accumulare un’esperienza tale da essere nominato Nokia Qt Ambassador. Inoltre è socio fondatore del Pistoia Linux User Group.
http://www.meegoit.com/2011
Collaborative and agile development of mobile applicationsAyushman Jain
This is the presentation I used in the 16 December IBM India webcast on mobile development and also the Dr. Dobb's webcast I did in November.
It talks about mobile industry trends and technologies and shows how IBM Rational tools can help in developing and testing native or hybrid or web based mobile applications. It also talks about new technologies such as Phonegap and Dojo mobile.
Thorsignia - Custom software development services in indiacharan Teja
Thorsignia is a leading IT and Multimedia company that provides an integrated range of services. We render finest quality outputs to our clients through our domain expertise.
The usage of chatbots has increased tremendously since past few years. A conversational interface is an interface that the user can interact with by means of a conversation. The conversation can occur by speech but also by text input. When a chatty interface uses text, it is also described as a chatbot or a conversational medium. During this study, the user experience factors of these so called chatbots were investigated. The prime objective is “to spot the state of the art in chatbot usability and applied human-computer interaction methodologies, to research the way to assess chatbots usability". Two sorts of chatbots are formulated, one with and one without personalisation factors. the planning of this research may be a two-by-two factorial design. The independent variables are the two chatbots (unpersonalised versus personalised) and thus the speci?c task or goal the user are ready to do with the chatbot within the ?nancial ?eld (a simple versus a posh task). The results are that there was no noteworthy interaction effect between personalisation and task on the user experience of chatbots. A signi?cant di?erence was found between the two tasks with regard to the user experience of chatbots, however this variation wasn't because of personalisation.
Slides from presentation I did at Gospelcon, now called The Internet Ministry Conference. More on that here. http://godbit.com/article/gospelcon-2006-slides
This is the presentation I gave to the Seminar in Information and Library Work at Suranaree University of Technology on September 27, 2011. It's explained that what, why and how we can use an information and communication technology to develop digital archives system.
MeeGo is a Linux-based open source mobile operating system which is designed to act as an operating system for hardware platforms such as mobile phones, net books, tablets, connected TVs and in-vehicle infotainment system.
It was first announced at Mobile world Congress in Feb 2010 by Intel and Nokia in joint press conference.
The stated aim is to merge the efforts of Intel's Moblin and Nokia's Maemo former projects into one new common project. i.e. “MeeGo”
Most of the developers use the cross-platform mobile development solutions to develop the mobile
application once and run it on many platforms. Many of these cross-platform solutions are still under
research and development. Also, these solutions are based on different approaches such as Cross-
Compilation approach, Virtual Machine approach, and Web-Based approach. There are many survey
papers about the cross-platform mobile development solutions but they do not include the most recent
tools, including Component-Based approach, Cloud-Based approach, and Merged approach. The main aim
of this paper is helping the researchers to know the most recent approaches and the open research issues.
This paper surveys the existing cross platform mobile development tools, introduces a comprehensive
categorization to the cross-platform tools, defines the pros and cons of each approach and compares the
cross-platform mobile development solutions.
RAILWAY SAFETY PROTECTION WITH ANDROID MOBILE APPLICATION FOR 5G NEW RADIO NE...ijcsit
In every night of non-traffic hours, different jobs are conducting maintenance works in “Railway” trackside area. This project will explain a specific section of track under the sole control an Engineer’s Person-in-Charge as procedures. And how to provide protection methods by which a person or persons
on or near a track are safeguarded from potential train movements or a train is safeguarded from other train movements or obstructions, or persons or equipment are safeguarded from traction power.Consolidated past several investigation reports and according to related is rules, workflow or procedures etc. to summarize. There are protection tools left on trackside area incident caused by the workers are forgetting and poor management. Proposed are different project themes in the light of their expertise, experience and observation in their daily works. The proposed themes are compared, assessed
and prioritized under the criteria - “Manageable”, “Measurable”, “Result of Benefit”, “Standardization” and “Priority” in the Decision Matrix. Establish some solve problem methods for
comparing to find out which that lower-cost plan accordingly. I came up with a conclusion and the ideas as develop a mobile application and create a unique QR code label with equipment naming to facilitate each worker management of protection tools. This is also fulfilled in popular terms of Creativity and
Innovations. Used the MIT App Inventor (Massachusetts Institute of technology) an intuitive and visual programming preform for mobile application are development. Stage 1: program for individual mobile user application. Stage 2: build-up Network centralized storage with supervising console operation.
Stage 3: testing system under with 5G network compatibility, bandwidth and network speed is applicable people will be able to use more of the network dedicated to each mobile phone.Finally, successful to apply trial works a fruitful outcome after implementation of the project solution. There was no missing of protection tools on trackside area within the trial period. With the safety-first culture boosted by us, I believe we can achieve a common goal: Everyone Going Home Safe and Well Every day.
In every night of non-traffic hours, different jobs are conducting maintenance works in “Railway” trackside area. This project will explain a specific section of track under the sole control an Engineer’s Person-in-Charge as procedures. And how to provide protection methods by which a person or persons on or near a track are safeguarded from potential train movements or a train is safeguarded from other train movements or obstructions, or persons or equipment are safeguarded from traction power.Consolidated past several investigation reports and according to related is rules, workflow or procedures etc. to summarize. There are protection tools left on trackside area incident caused by the workers are forgetting and poor management. Proposed are different project themes in the light of their expertise, experience and observation in their daily works. The proposed themes are compared, assessed and prioritized under the criteria - “Manageable”, “Measurable”, “Result of Benefit”, “Standardization” and “Priority” in the Decision Matrix. Establish some solve problem methods for comparing to find out which that lower-cost plan accordingly. I came up with a conclusion and the ideas as develop a mobile application and create a unique QR code label with equipment naming to facilitate each worker management of protection tools. This is also fulfilled in popular terms of Creativity and Innovations. Used the MIT App Inventor (Massachusetts Institute of technology) an intuitive and visual programming preform for mobile application are development. Stage 1: program for individual mobile user application. Stage 2: build-up Network centralized storage with supervising console operation. Stage 3: testing system under with 5G network compatibility, bandwidth and network speed is applicable people will be able to use more of the network dedicated to each mobile phone.Finally, successful to apply trial works a fruitful outcome after implementation of the project solution. There was no missing of protection tools on trackside area within the trial period. With the safety-first culture boosted by us, I believe we can achieve a common goal: Everyone Going Home Safe and Well Every day.
Shows the value of mobile apps, and explain what it takes to create your own. Focuses on Qt, licensing, app stores, cost of development etc.
First given at FOSSDay2010 in Göthenburg
Build once deploy everywhere using the telerik platformAspenware
The Telerik Platform is a suite of tools for developing, testing, deploying and analyzing hybrid mobile applications. Hybrid mobile applications are most commonly built using PhoneGap, which interprets HTML5/CSS3/JavaScript and compiles it into a package that can be delivered in the app stores. PhoneGap also utilizes Apache Cordova JavaScript APIs to access certain native mobile features of the device. The Telerik Platform uses AppBuilder to abstract the complexity of PhoneGap/Cordova and provides a more intuitive way to build hybrid mobile applications. If you are looking to expand your .NET and web based development skills into the mobile market this is the session for you.
Lessons learned:
-What a hybrid mobile apps can do
-How Icenium helps build a hybrid mobile app
-How you can leverage your current web knowledge and assets to create a mobile app
Developers Guide To The Galaxy 8th editionMarco Tabor
Completely updated and extended edition of this non-commercial overview on mobile technologies and development approaches. Helpful for developers and decision makers without technical background.
Mobile Developer's Guide To The Galaxy Vol.7Marco Tabor
The 7th edition of the Mobile Developer´s Guide To the Galaxy has been presented on the Mobile World Congress 2011. On 160 pages, it gives an updated overview on mobile technologies, the differences between the numerous mobile platforms and possible development approaches. The new edition contains new chapters about app development for BlackBerry, about cross-platform development and about how to create accessible mobile software.
It is an open project hosted and coordinated by the German product and service provider Enough Software. Currently 17 experts from the mobile ecosystem contributed their know how, everyone is invited to join.
Send your feedback and input directly to: developers@enough.de
Similar to Application development for mobile phones (20)
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
The Indian economy is classified into different sectors to simplify the analysis and understanding of economic activities. For Class 10, it's essential to grasp the sectors of the Indian economy, understand their characteristics, and recognize their importance. This guide will provide detailed notes on the Sectors of the Indian Economy Class 10, using specific long-tail keywords to enhance comprehension.
For more information, visit-www.vavaclasses.com
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
Ethnobotany and Ethnopharmacology:
Ethnobotany in herbal drug evaluation,
Impact of Ethnobotany in traditional medicine,
New development in herbals,
Bio-prospecting tools for drug discovery,
Role of Ethnopharmacology in drug evaluation,
Reverse Pharmacology.
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