SlideShare una empresa de Scribd logo
1 de 67
Descargar para leer sin conexión
Mobile SoftwareMobile Software
EngineeringEngineering
By
Prof. Dr.Prof. Dr. O.P.VyasO.P.Vyas
DAAD Fellow (Germany), AOTS Fellow (Japan)DAAD Fellow (Germany), AOTS Fellow (Japan)
Indian Institute of Information TechnologyIndian Institute of Information Technology
AllahabadAllahabad
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
 Mobile Software: Evolution or Revolution
 Smartphone Vs Other Mobile DevicesSmartphone Vs Other Mobile Devices
 Mobile OS: Android OS, Windows Phone,Mobile OS: Android OS, Windows Phone, iOSiOS
 Mobile Software: Cross Device ApplicationsMobile Software: Cross Device Applications
 Mobile Apps Characteristics & Issues
 Software trends : Native Apps & Web AppsSoftware trends : Native Apps & Web Apps
 Mobile Information Architecture: PatternsMobile Information Architecture: Patterns
Mobile Software EngineeringMobile Software Engineering
2
 Mobile Information Architecture: PatternsMobile Information Architecture: Patterns
 Why Mobile SE ? Mobile SE Approaches
 Mobile SE trends : Usability Lifecycle & UX DesignMobile SE trends : Usability Lifecycle & UX Design
 Mobile Interaction Design: MobileMobile Interaction Design: Mobile IxDIxD PatternsPatterns
 Mobile Software Testing : Native & Web AppsMobile Software Testing : Native & Web Apps
 Mobile Web & Responsive Web Design
 Implementation issuesImplementation issues:: Software ProjectsSoftware Projects
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Our Approach …Our Approach …
 Concepts of Mobile Software & need for EngineeringConcepts of Mobile Software & need for Engineering
approachapproach
 Significant issues: Mobile UX design, InformationSignificant issues: Mobile UX design, Information
ArchitectureArchitecture
 Implementations: Mobile Apps Design & DevelopmentImplementations: Mobile Apps Design & Development
 Responsive Web DesignResponsive Web Design Responsive Web DesignResponsive Web Design
 Tools & Frameworks:Tools & Frameworks: PhonegapPhonegap,, MosyncMosync && jQueryjQuery
 Modeling with UMLModeling with UML
 Tools & TechniquesTools & Techniques
Overview of Mobile Platform:
– Writing codes: Implementing using Tools & Framework
Tools : J2ME, Javascript, jQuery, HTML5,….. 3
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Types of Mobile Apps
•• Native AppsNative Apps
A native app as one that is
specifically designed to
run on a device’s
operating system and
machine firmware, and
•• Web AppsWeb Apps
A Web app, or browser
application, is one in
which all or some parts
of the software are
downloaded from themachine firmware, and
typically needs to be
adapted for different
devices.
Ex. Address book,Address book,
calendar andcalendar and
calculatorcalculator
downloaded from the
Web each time it is run.
 It can usually be
accessed from all Web-
capable mobile devices.
Ex. Weather Widgets,Weather Widgets,
Social Networking andSocial Networking and
Online GamesOnline Games.
9/22/20134
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Technical difference between the two?
• For instance, a native
application developed for
the iPhone will need to run
on its proprietary iOS
platform, or on Symbian
for many Nokia devices,
and so forth.
• One interesting point to note
is that while architectural
differences will likely remain
between a native and Web
application for some time, the
user experiences provided by
both interfaces are
increasingly blurred, as most
native apps utilize real-time
and so forth.
• A Web app, however, is
typically coded in a
browser-rendered
language such as HTML
combined with
JavaScript.
native apps utilize real-time
Web connectivity and Web
apps provide offline modes
that can be accessed without
network connectivity.
• As a result, some of these
apps are now referred to as
hybrid apps.
9/22/20135
Best practices for Mobile Apps development: http://www.w3.org/TR/mwabp/
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Mobile SE approach or Business AppsMobile SE approach or Business Apps
Example Business Apps
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
User-Centered Mobile Design Life cycle
7
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
UX Design
8
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Things To Know About UX Design
UX design is an amazing discipline, but it cannot, or will not,
accomplish certain things.
 UX Design Is Not One Size Fits All
– User experience design won’t work in every situation for every
user because, as human beings, we are all different.
– What works for one person might have the opposite effect on
another.
– And just as we can’t design a user experience, we can’t replicate
the user experience for one website exactly on another website.
User experiences will be different between websites or Mobile
Software. a design must be tailored to the goals, values,
production process and products of its website / Mobile
Software.
9
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Things To Know About UX Design
 Can’t Be Directly Assessed With Traditional
Metrics
– You can’t determine the effectiveness of a user experience
design based solely on statistics such as page views, bounce
rates and conversion rates. We can make assumptions, and we
can ask users for anecdotal evidence, but we can’t install an
app (at least not yet) that automatically records user
experience statistics directly.experience statistics directly.
 Not the Same Thing as Usability
– User experience and usability have become synonymous, but
these two fields are clearly distinct. UX addresses how a user
feels when using a system, while usability is about the user-
friendliness and efficiency of the interface.
• Usability is big part of the user experience and plays a major role
in experiences that are effective and pleasant, but then human
factors science, psychology, information architecture and user-
centered design principles also play major roles.
10
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Tasks And Techniques Of UX Designers
• UX designers perform various tasks at various points in the
process. Following are the few things that they deliver.
 Evaluation of Current System
 A/B Testing
 User Surveys
 Wireframes and Prototypes Wireframes and Prototypes
 User Flows
 Storytelling
 Design Patterns
 User Profiles and Personas
 Content Inventory
 Content Style Guides
11
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Mobile Business Apps
Anatomy of Best AppsAnatomy of Best Apps
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Mobile Apps uses cross technology
tools for particular application
domain…
From DatabaseDatabase, Cloud Computing,, Cloud Computing, Data MiningData Mining, to
Visualization TechniquesVisualization Techniques…..
Large number of different technology Solutions areLarge number of different technology Solutions are
being integrated in Business Appsbeing integrated in Business Apps……
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Database for Mobile: SQLite
• SQLite is a relational database management system contained in a small
(~350 KB) C programming library.
• In contrast to other database management systems, SQLite is not a separate
process that is accessed from the client application, but an integral part of it.
• SQLite is a popular choice as embedded database for local/client storage in
application software such as web browsers.
• It is arguably the most widely deployed database engine, as it is used today by
several widespread browsers, operating systems, and embedded systems, among
others.others.
• SQLite has many bindings to programming languages.& source code in the public
domain.[
– Corona includes support for SQLite databases on all
platforms. This is based on the built-in sqlite support on
the iPhone, and a compiled version of SQLite on
Android. Note that this increases the size of the Android binary by 300K.
• SQLite is available in all versions of Android, iPhone, and iPad, as
well as in the Corona Simulator.
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Cloud Computing for Mobile Apps
• Could Computing is providing very significant extension support
to Mobile Apps.
• Mobile Apps are getting immensely benefitted by using existing
Cloud platforms and tools- some public, some proprietary for
many Business Apps.
• Cloud-based development platforms in PaaS and IaaS public
clouds –clouds –
–– such assuch as Google, Amazon Web Services, Microsoft, andGoogle, Amazon Web Services, Microsoft, and
Salesforce.comSalesforce.com ---- are really in their awkward teenage years.are really in their awkward teenage years.
–– But they show cost savings and better efficiencies.But they show cost savings and better efficiencies.
–– The ability to quickly get applications into production and toThe ability to quickly get applications into production and to
scale those applications as required.scale those applications as required.
–– The ability to collaborate with other developers, architects,The ability to collaborate with other developers, architects,
and designers on the development of the applicationand designers on the development of the application.
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Big Data AnalyticsBig Data Analytics
&&
Mobile AppsMobile AppsMobile AppsMobile Apps
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
What is Big Data?
• Big data is a popular term used to describe the exponential
growth and availability of data, both structured and unstructured.
• And big data may be as important to business – and society – as
the Internet has become.
– Why? More data may lead to moreMore data may lead to more
accurateaccurate analyses.
– More accurate analyses may lead to moreanalyses may lead to more– More accurate analyses may lead to moreanalyses may lead to more
confident decisionconfident decision making.
– And better decisions can mean greater
operational efficiencies, cost reductions and
reduced risk.
• As far back as 2001, industry analyst Doug Laney (currently with
Gartner) articulated the now mainstream definition of big data as
the three Vs: volume, velocity and varietythree Vs: volume, velocity and variety
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Big Data Analytics
• Big Data analytics involves group of technologies for
– Data Analytics
– Business Intelligence
– Business Strategies– Business Strategies
• Lot of Big Data analytics are available on Cloud platforms.
Many popular must have Business apps are
making use of Big Data analytics.
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Mobile Business Apps
Mobile Software Engineering can be worthwhile for Business productivity
Apps, which are critical to success of an enterprise.
 More and more organizations aim at leveraging mobile devices
and applications for their respective business……
The explosion of consumer appsapps can be seen in just about every
industry,
 And Mobile Business Apps are running rampant in the B2B worldB2B world as
well, including spaces such as:well, including spaces such as:
 Business Apps: CRM, ERP, HR systems
 Productivity: Docs, spreadsheets, presentations
 Retail: Location-intelligent Mobile Commerce
 Media: Magazines & newspapers going 100% digital
 Travel: Mobile bookings, check-ins, maps, deals, etc.
 Education: Tablets and apps in classrooms
 Healthcare: Patient records, physician notes, etc.
 Finance: Apps for real-time trading, portfolio analysis
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Business App:Business App: CloudOnCloudOn
• CloudOn lets you run Microsoft
Office on the iPad.
• Available on: Android and iOS
• There are a few apps that run
Microsoft Office on the iPad and
Android tablets.
•• CloudOnCloudOn is popular because•• CloudOnCloudOn is popular because
– 1) it's free,
– 2) it supports many of
Office's more advanced
features,
– 3) it's designed to work
on a touch interface.
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
CloudOn: Features
• CloudOn lets you add Microsoft Office,
Adobe Reader, and several other apps
to your iPad through the use of cloud
computing.
• CloudOn also lets you use your cloud
storage accounts to handle your files.
• It installs easily.
• full power of applications like Microsoft
We used CloudOn for a while in
TestingTesting (you need to set up an
account, obviously).
We did experience some issues
with CloudOn crashing on
occasion, without any common
cause, but hopefully this will beOffice,
• the convenience of cloud storage and
more—all in your very own workspace
in the cloud.
• While you need to have decent
connectivity to take advantage of the
workspace remotely from your iPad,
this is a viable solution when you'reviable solution when you're
traveling or away from your maintraveling or away from your main
computerscomputers and need to access or
modify files quickly.
cause, but hopefully this will be
addressed quickly.
The ability to quickly access our
Dropbox account and edit a Word
document on the iPad was
fantastic, and the ability to then e-
mail that modified file to others
makes this an ideal tool for quick,
on-demand work when all you have
available is your iPad.
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Business App: Box
• Box safely stores your files,
pics, and documents in the
CloudCloud.
• Price: Free
• Available on: Android,
BlackBerry, iOS, Mac,
Windows, and Windows PhoneWindows Phone
•• Very popular app, No list ofVery popular app, No list of mustmust--•• Very popular app, No list ofVery popular app, No list of mustmust--
have work appshave work apps is completeis complete
without Box !!without Box !!
•• Box letsBox lets you store files in theyou store files in the
cloud,cloud, share documents withshare documents with
coworkers, evencoworkers, even edit files withedit files with
other apps installedother apps installed on youron your
device.device.
•• Box is also way ahead of theBox is also way ahead of the
competition when it comes tocompetition when it comes to
securing work files, too.securing work files, too.
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Box
• With 10GB free, Box makes
it easy to access and edit
your files, share content and
stay connected with your
team from anywhere on any
device.
• Share important files with
your coworkers
Box allows you to do all these things
and more!
More than 150,000 companies—
including 92% of the FORTUNE
500—rely on Box for simple, secure
content sharing.
Box for Android lets you:
* AccessAccess, view, edit, share andyour coworkers
* Have your presentation at
your fingertips
* Comment on documents on
the go
* View updates to your
spreadsheet instantly
* AccessAccess, view, edit, share and
manage files directly on your Android
phone or tablet
* SecureSecure your content with file-level
encryption, passcode and auto logout
when the app is closed
* Upload multiple imagesUpload multiple images, videos
and files from your SD card
* Save files to your SDSave files to your SD card for
offline access
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Box Apps: Family of AppsBox Apps: Family of Apps
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Mobile Apps: Roambi Analytics
 Mobile Business Intelligence
software for iPad and iPhone.
Connect with your business data
for secure mobile access
 If you've heard of "big data" and maybe
you've heard of "analytics."
 That's whereThat's where RoambiRoambi AnalyticsAnalytics
comes in.comes in.comes in.comes in.
 It lets you takeIt lets you take hardhard--toto--readread
datadata from anywhere andfrom anywhere and
transforms it into charts ortransforms it into charts or
graphsgraphs making that data moremaking that data more
meaningful, all on yourmeaningful, all on your iPhoneiPhone..
 Uses various Data AnalyticsUses various Data Analytics
approaches to covert data intoapproaches to covert data into
InsightInsight 25
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Roambi Analytics
• This Business App makes use of various technologies like Cloud
Computing and Data Mining.
•• RoambiRoambi is Business Intelligence & Business Analytics App, which uses
recent data mining techniques for Analyzing the data, finding the hidden
trends and doing Predictive Analytics.
 The applications connect to popular information systems including Excel
or Salesforce.com and business intelligence systems such as Cognos
and corporate databases such as Microsoft SQL.[2]
• The app is currently used by over 20% of the Fortune 50 and has been
downloaded more than 600,000 times.
• Roambi’s platform allows users to upload their data (from Excel
spreadsheets, Salesforce.com, or other data) to the online Roambi
Publisher.[1]
• Users then select from pre-designed templates to deliver the data in
different forms (pie chart, graphs etc.)
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Mobile Business Apps
 Still think that mobile apps are for games, music and
“entertainment purposes” only?
 Do you really think that mobile applications won’t be
relevant to a industry, a company, software teamrelevant to a industry, a company, software team and youryour
career as Software Engineercareer as Software Engineer,, a year from now?career as Software Engineercareer as Software Engineer,, a year from now?
 Think again.
27
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Business AppsBusiness Apps
•• Google NowGoogle Now is one of the most innovative apps on any platform.
–– Rather than waiting for you to look for information, it monitorsRather than waiting for you to look for information, it monitors
your activity to try to predict what you need and when.your activity to try to predict what you need and when.
–– It then presents that information with a clean and conciseIt then presents that information with a clean and concise
interface.interface.
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
EvernoteEvernote..
Access anywhere.
Remember everything.
One of the most popular apps on the market, Evernote has evolved way
past just classic note-taking.
Evernote's extended family includes Penultimate, a hand-writing app for
taking notes on tablet; Web Clipper, which allows you to clip web pages
coupon-style; Peek, a notecard-like study aid; and Skitch, an image mark-
up tool.
Platforms: Android, iOS.
Cost: Free, $5 per month for premium features.
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Mobile Apps development
• The high quality requirements of mobile business apps
require them to be thoroughly engineered.
• Unfortunately, today’s software engineering approaches are
often too heavy-weight to allow developing high-quality
mobile business apps in the context of mobile projects,
which often face
– small budgets,– small budgets,
– extremely limited effort, and
– short time-to-market requirements.
35
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Process Models for Mobile Software
 Waterfall ModelWaterfall Model
 Spiral ModelSpiral Model
 Fountain ModelFountain Model
 Agile ProcessAgile Process
ModelModel
– Scrum approach &
other agile
techniques, e.g.,
testdriven Fountain ModelFountain Model testdriven
development,
 Mobile SoftwareMobile Software
ModelModel
 MM--BusinessBusiness
Procedure ModelProcedure Model
(2005)(2005)
 mConcApptmConcAppt (2011)(2011)
36
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Mobile Software EngineeringMobile Software Engineering
• The effectiveeffective and lightweightlightweight Mobile Software Engineering
approach uses
–– Requirement elicitationRequirement elicitation
–– Interaction designInteraction design
• Specify Interaction Design
• Communicate Interaction Design
–– Development of AppsDevelopment of Apps
–– Testing the AppTesting the App
• Software testing
• User Testing: Alpha & Beta testing
• App specific Testing
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Requirement Elicitation in Apps
 Requirement ElicitationRequirement Elicitation
Functional requirementsFunctional requirements
NonNon--functional requirementsfunctional requirements
Domain requirementsDomain requirements
• Mobile Software Enginering Approach mConcApptmConcAppt combines
RE and UI and interaction designRE and UI and interaction design activities for mobile business
apps and produces a so called interaction concept as basis for
implementation and further activities.
• Method is user centred to provide high
usability and user experience
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Functional and nonFunctional and non--functional requirementsfunctional requirements
 Functional requirementsFunctional requirements
 Statements of services the system should provide,
how the system should react to particular inputs and
how the system should behave in particular
situations.
 May state what the system should not do.
 NonNon--functional requirementsfunctional requirements NonNon--functional requirementsfunctional requirements
 Constraints on the services or functions offered by theConstraints on the services or functions offered by the
system such as timing constraints, constraints on thesystem such as timing constraints, constraints on the
development process, standards, etc.development process, standards, etc.
 Often apply to the system as a whole rather thanOften apply to the system as a whole rather than
individual features or services.individual features or services.
 Domain requirementsDomain requirements
 Constraints on the system from the domain ofConstraints on the system from the domain of
operationoperation
39
Chapter 4
Requirements
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Functional requirements of AppFunctional requirements of App
DescribeDescribe functionalityfunctionality or servicesor services
proposed by App.proposed by App.
Depend on the type ofDepend on the type of AppApp, expected, expected
users and the type of system where theusers and the type of system where the
App is used.App is used.App is used.App is used.
Functional user requirements may beFunctional user requirements may be
highhigh--level statements of what thelevel statements of what the AppApp
should do.should do.
Functional system requirements shouldFunctional system requirements should
describe the services of andescribe the services of an AppApp in detail.in detail.
40
Chapter 4
Requirements
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Non-functional requirements
 These define system properties and constraints
e.g. reliability, response time and storage
requirements.
Constraints are I/O device capability etc.
 Process requirements may also be specified mandating a
particular IDE, programming language or development method.particular IDE, programming language or development method.
 Non-functional requirements may be more critical than functional
requirements.
 If these are not met, the App may be
useless.
41
Chapter 4
Requirements
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Elicit Requirements for Business App
• Aim of the activities of this phase is primarily
to prepare and conduct a requirements
elicitation workshop and to document the
elicited results.
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
• Validate Interaction Design:
validated by actual end
users.
Mobile Software EngineeringMobile Software Engineering
• The app conception as whole is
iterative process.
• Elicit Requirements (gather of
requirements relevant for
interaction design).
•• Specify Interaction DesignSpecify Interaction Design:
comprise of actual development
of interaction concept in tight
collaboration with responsiblecollaboration with responsible
persons for other software
engineering disciplines.
•• Communicate InteractionCommunicate Interaction
Design:Design: to support collaboration,
show how evolution of steps of
interaction concept should be
communicated to roles involved in
app development.
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Specify Interaction Design
Regarding the specification of
the interaction design
 it is mandatory that the
interaction designer himself is
a user of the addressed device
class and operating system.
To provide high-quality
results, it is not sufficient to
know operating systemknow operating system
programming guidelines.
When starting to design the
mobile business app,
it is a key influencing factor toinfluencing factor to
decide which functionality has todecide which functionality has to
be realized in the backendbe realized in the backend
systemsystem and which functionality
has to be on the mobile device.
Early communication of ideas
and sketches increases the
quality of the results.
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Front End & Back End in AppsFront End & Back End in Apps
•• Regarding mobile business apps, theRegarding mobile business apps, the frontend,frontend,
which is usually represented by an appwhich is usually represented by an app, strongly, strongly
depends on the performance of the backenddepends on the performance of the backend
system.system.
•• This dependency may have aThis dependency may have a major impact on themajor impact on the
interaction design and creativeinteraction design and creative solutions might besolutions might beinteraction design and creativeinteraction design and creative solutions might besolutions might be
necessary.necessary.
•• Project management should be aware of theseProject management should be aware of these
special circumstances and solve conflictsspecial circumstances and solve conflicts
regarding the overall goals of the project as wellregarding the overall goals of the project as well
as provide prioritization between systemas provide prioritization between system
capabilitiescapabilities and financial budget.and financial budget.
•• App Testing needs to be accordingly conducted...App Testing needs to be accordingly conducted...
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Mobile Software TestingMobile Software TestingMobile Software TestingMobile Software Testing
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
User testing
• User or customer testing is a stage in the testing process in
which users or customers provide input and advice on system
testing.
• User testing is essential, even when comprehensive system and
release testing have been carried out.
– The reason for this is that influences from
the user’s working environment have athe user’s working environment have a
major effect on the reliability, performance,
usability and robustness of a system.
These cannot be replicated in a testing
environment.
48Chapter 8 Software
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Types of user testing
• Alpha testing
– Users of the software work with the
development team to test the software at
the developer’s site.
• Beta testing
– A release of the software is made available
to users to allow them to experiment and to
raise problems that they discover with the
system developers.
• Acceptance testing
– Customers test a system to decide whether
or not it is ready to be accepted from the 49Chapter 8 Software
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
User testing
• User or customer testing is a stage in the testing process inthe testing process in
which users or customers provide input and advicewhich users or customers provide input and advice on
system testing.
• User testing is essential, even when comprehensive system and
release testing have been carried out.
– The reason for this is that influences from
the user’s working environment have athe user’s working environment have a
major effect on the reliability,
performance, usability and robustness of a
system. These cannot be replicated in a
testing environment.
50Chapter 8 Software
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Types of user testingTypes of user testing
• Alpha testing
–– Users of the software work with the developmentUsers of the software work with the development
team to test the software at the developer’s site.team to test the software at the developer’s site.
• Beta testing
–– A release of the software is made available toA release of the software is made available to
users to allow them to experiment and to raiseusers to allow them to experiment and to raiseusers to allow them to experiment and to raiseusers to allow them to experiment and to raise
problems that they discover with the systemproblems that they discover with the system
developers.developers.
• Acceptance testing
–– Customers test a system to decide whether or notCustomers test a system to decide whether or not
it is ready to be accepted from the systemit is ready to be accepted from the system
developers and deployed in the customerdevelopers and deployed in the customer
environment. Primarily for custom systems.environment. Primarily for custom systems.
51Chapter 8 Software
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
App TestingApp Testing
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Functional TestingFunctional Testing
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Developing Web AppsDeveloping Web Apps
Using Mobile Web
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
What is Mobile Web App
• A mobile web app is a mobile application that combines the
versatility of the web with the functionality of touch-enabled
devices.
• A Web app is typically coded in a browser-rendered language
such as HTML combined with JavaScript.
• HTML5 will be the new standard for HTML.
• The previous version of HTML, HTML 4.01, came in 1999. The• The previous version of HTML, HTML 4.01, came in 1999. The
web has changed a lot since then.
• HTML5 is still a work in progress. However, the major browsers
support many of the new HTML5 elements and APIs.
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
HTML 5
• Some rules for HTML5 were established:
–– New features should be based onNew features should be based on HTML,HTML,
CSS, DOM, and JavaScriptCSS, DOM, and JavaScript
–– Reduce the need for externalReduce the need for external pluginsplugins (like(like
Flash)Flash)Flash)Flash)
–– Better error handlingBetter error handling
–– More markup to replace scriptingMore markup to replace scripting
–– HTML5 should be device independentHTML5 should be device independent
–– The development process should be visibleThe development process should be visible
to the publicto the public
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
HTML5 - New Features
• Some of the most interesting new features in HTML5:
–– TheThe <canvas><canvas> element for 2D drawingelement for 2D drawing
–– TheThe <video><video> andand <audio><audio> elements for media playbackelements for media playback
–– Support for local storageSupport for local storage
–– New contentNew content--specific elements, likespecific elements, like <article>, <footer>,<article>, <footer>,
<header>, <<header>, <navnav>, <section>>, <section>
–– New form controls, like calendar, date, time, email,New form controls, like calendar, date, time, email, urlurl,,
searchsearch
• Browser Support for HTML5
– HTML5 is not yet an official standard, and no browsers have
full HTML5 support.
– But all major browsers (Safari, Chrome, Firefox, Opera,
Internet Explorer) continue to add new HTML5 features to
their latest versions.
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
CSS media features
• CSS with its various media features makes it convenient to
develop Mobile Web Apps.
– One of the most important features of style
sheets is that they specify how a documentspecify how a document
is to be presented on different mediais to be presented on different media:
– on the screen, on paper, with a speech– on the screen, on paper, with a speech
synthesizer, with a braille device, etc.
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
CSS Media typesCSS Media types
• The names chosen for CSS media types reflect target devices
for which the relevant properties make sense
• all Suitable for all devices.
• braille Intended for braille tactile feedback devices.
• embossed Intended for paged braille printers.
• handheld Intended for handheld devices (typically small screen,• handheld Intended for handheld devices (typically small screen,
limited bandwidth).
• projection Intended for projected presentations, for example
projectors.
• tv Intended for television-type devices (low resolution, color,
limited-scrollability screens, sound available)
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Web Apps & Mobile Web FrameworkWeb Apps & Mobile Web Framework
• These days, Web-based Apps for mobile browsers have some
street cred—especially now that hip cat HTML5 and his sidekicks,
CSS3 and JavaScript, are in the house.
• Let’s see more mobile web app world closely by taking a mobile
framework—code tools designed to help you get your job done
quickly.
• As It’s an in-progress standard, We know that HTML5 clarifies and
improves upon the two-decade-old markup language, adding,improves upon the two-decade-old markup language, adding,
especially, support for web apps without putting much backward
compatibility at risk.
• HTML5 introduces new semantic elements like <section>,<section>,
<article>, <nav>, and <header>.<article>, <nav>, and <header>.
• It simplifies the syntax for some tags, gives us the power of media
with <audio> and <video> tags, and unleashes interactivity
through new JavaScript APIs like geolocationJavaScript APIs like geolocation and offline
storage.
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Why use Mobile Web App frameworks?
• Let’s face it. Building complex, interactive web apps fromBuilding complex, interactive web apps from
scratchscratch—especially mobile web apps—can be a daunting
proposition.
• A web development framework—that is, a packaged collection of
interactive elements and code tools—can help give us a leg up.
• A framework can help us manage cross-platform inconsistencies
• A framework can help us make a website or app look mobile-
friendly.friendly.
– Mobile-oriented frameworks generally help alter
and style HTML elements to look and feel more
mobile, often saving us quite a lot of time.
• A framework can help us make a website or app feel mobile.
– Frameworks can take the drudgery out of
transitions and effects that make a website or app
feel more native, or, at least, consistent..
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Choose and use Web frameworks with
care
• Frameworks are powerful mojo, but they also have some
drawbacks.
• Many are quite hefty, and can bloat your site’s payload by
hundreds of kilobytes.
• Some employ a kitchen-sink approach, including tons of widgets
and cutesy animations that not only are large in byte units, butand cutesy animations that not only are large in byte units, but
can cause serious performance woes on lesser devices.
• Finally, make sure you evaluate a framework’s device support.
• Some only support one or a few major, cutting-edge platforms.
–– jQueryjQuery Mobile Framework !!Mobile Framework !!
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Mobile Web: jQuery Mobile
• jQuery Mobile is a touch-optimized web frameworkweb framework
(additionally known as a JavaScript library or a mobile
framework) currently being developed by the jQuery project
team.
• The development focuses on creating a framework compatible
with a wide variety of smartphones and tablet computers, made
necessary by the growing but heterogeneous tablet and
smartphone market.smartphone market.
• The jQuery Mobile framework is compatible with other mobile
app frameworks and platforms such as PhoneGap, Worklight[4]
and more.
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
jQueryjQuery MobileMobile
• Data Attributes used can be as follows:
– data-role – Specifies the role of the element, like
header, content, footer etc.
– data-position – specifies whether the element
should be fixed, in which case it will render at the
top (for header) or bottom (for footer)top (for header) or bottom (for footer)
– data-transition – specifies which transition to use
when loading new pages, can be set to: slide,
slideup, slidedown, pop, flip or fade
– data-theme – specifies which design theme to use
for elements within container, can be set to: a, b, c,
d, e
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
• Q: Are there other mobile frameworks out there?
• A: There are many coming every day. Some other mobile web frameworks
include Sencha Touch, Wink, iUI, DHTMLX Touch, and JQTouch..
• Q: What exactly makes up a mobile web framework?
• A: It depends on the framework, but most involve a combination of
JavaScript, CSS, and image (or other) assets to aid in the styling of the
mobile experience. Some frameworks also include a server-side component
to help generate (as opposed to adapt) content..
• Q: So, jQuery Mobile is a mobile version of the original jQuery library??
Mobile Web Framework
• Q: So, jQuery Mobile is a mobile version of the original jQuery library??
• A: jQuery Mobile builds on top of jQuery. It does not replace it. You’ll notice
that when we start building stuff with jQuery Mobile, the first JavaScript file
we include is the core jQuery library.
• Q: So, jQuery Mobile is a JavaScript development framework that
extends jQuery.
• A: Yes, there is JavaScript in the jQuery Mobile framework. But jQuery
Mobile is not a JavaScript framework. It’s bigger than that. It’s a user
interface framework. That means it also includes stylesheets, icons, and
other pieces of the puzzle.
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
• Q: Do we really need to use a framework??
• A: No, not at all! In fact, we encourage you to build applike mobile websites from
scratch. However, the nice thing about frameworks, and jQuery Mobile in particular,
is that they take care of a lot of obnoxious, platform-specific quirks and bugs for us.
Their team of devs has laserlike focus on the foibles of different mobile browsers.
• We have limited time and space here, folks. Trying to pull off what we need to do for
the Web App without a framework of any sort would be pretty hairy, not to mention
the chaos of extra testing that would be required (as we wouldn’t have that
underpinning of tested cross-platform support).
Mobile Web Framework
• Q: What exactly is Mobile Web App an Mobile app or Mobile Website?
• A: The subtleties of differentiation between app and site are so vague that the
answer sometimes seems almost arbitrary. Mobile App using mobile Website?
• Q: So, But what if it were a site? I couldn’t use jQuery Mobile then, right?
• A: jQuery Mobile is a user interface framework. It doesn’t care whether you call
what you’re making with it an app or a site. Its job is to make things feel usable
and not break across various mobile platforms, using a combination of CSS,
JavaScript, and HTML5..
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad
Mobile Software Engineering
Prof. O P Vyas Indian Institute of Information Technology, Allahabad

Más contenido relacionado

La actualidad más candente

Saravanan B_Testing
Saravanan B_TestingSaravanan B_Testing
Saravanan B_TestingSaravanan B
 
Native app development for business
Native app development for businessNative app development for business
Native app development for businessShelly Megan
 
How to-choose-the-right-technology-architecture-for-your-mobile-application
How to-choose-the-right-technology-architecture-for-your-mobile-applicationHow to-choose-the-right-technology-architecture-for-your-mobile-application
How to-choose-the-right-technology-architecture-for-your-mobile-applicationlverb
 
Mobile application development
Mobile application developmentMobile application development
Mobile application developmentEric Cattoir
 
Top low code mobile app development platforms
Top low code mobile app development platformsTop low code mobile app development platforms
Top low code mobile app development platformsRupesh Dhiwar
 
Mobility Architect_Rajasekaran Sagadevan_10+
Mobility Architect_Rajasekaran Sagadevan_10+Mobility Architect_Rajasekaran Sagadevan_10+
Mobility Architect_Rajasekaran Sagadevan_10+Raja Sekaran
 
Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platformi4consulting.org
 
PR1358-ChethanRaj-Ver.01
PR1358-ChethanRaj-Ver.01PR1358-ChethanRaj-Ver.01
PR1358-ChethanRaj-Ver.01Chethan Raj
 
Hybrid Smart phone application development analysis
Hybrid Smart phone application development analysisHybrid Smart phone application development analysis
Hybrid Smart phone application development analysisSandeep Krishna
 
Simon_Pythoud_Resume_EN
Simon_Pythoud_Resume_ENSimon_Pythoud_Resume_EN
Simon_Pythoud_Resume_ENSimon Pythoud
 

La actualidad más candente (20)

Saravanan B_Testing
Saravanan B_TestingSaravanan B_Testing
Saravanan B_Testing
 
Shiva_CV
Shiva_CVShiva_CV
Shiva_CV
 
Profile_Stephen_05564o
Profile_Stephen_05564oProfile_Stephen_05564o
Profile_Stephen_05564o
 
Mobile Web Apps
Mobile Web AppsMobile Web Apps
Mobile Web Apps
 
General_Resume
General_ResumeGeneral_Resume
General_Resume
 
First Synopsis Format
First Synopsis FormatFirst Synopsis Format
First Synopsis Format
 
Mobile Application Development - Guide 2020
Mobile Application Development - Guide 2020Mobile Application Development - Guide 2020
Mobile Application Development - Guide 2020
 
Native app development for business
Native app development for businessNative app development for business
Native app development for business
 
How to-choose-the-right-technology-architecture-for-your-mobile-application
How to-choose-the-right-technology-architecture-for-your-mobile-applicationHow to-choose-the-right-technology-architecture-for-your-mobile-application
How to-choose-the-right-technology-architecture-for-your-mobile-application
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Anshul Mahajan_iOS
Anshul Mahajan_iOSAnshul Mahajan_iOS
Anshul Mahajan_iOS
 
Top low code mobile app development platforms
Top low code mobile app development platformsTop low code mobile app development platforms
Top low code mobile app development platforms
 
Mobility Architect_Rajasekaran Sagadevan_10+
Mobility Architect_Rajasekaran Sagadevan_10+Mobility Architect_Rajasekaran Sagadevan_10+
Mobility Architect_Rajasekaran Sagadevan_10+
 
StefanoFiorini
StefanoFioriniStefanoFiorini
StefanoFiorini
 
Anshul Mahajan
Anshul MahajanAnshul Mahajan
Anshul Mahajan
 
Vision mobile beyond_siri
Vision mobile beyond_siriVision mobile beyond_siri
Vision mobile beyond_siri
 
Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platform
 
PR1358-ChethanRaj-Ver.01
PR1358-ChethanRaj-Ver.01PR1358-ChethanRaj-Ver.01
PR1358-ChethanRaj-Ver.01
 
Hybrid Smart phone application development analysis
Hybrid Smart phone application development analysisHybrid Smart phone application development analysis
Hybrid Smart phone application development analysis
 
Simon_Pythoud_Resume_EN
Simon_Pythoud_Resume_ENSimon_Pythoud_Resume_EN
Simon_Pythoud_Resume_EN
 

Destacado

Mse july13 (1/3)
Mse july13 (1/3)Mse july13 (1/3)
Mse july13 (1/3)IIITA
 
Se lect1 btech
Se lect1 btechSe lect1 btech
Se lect1 btechIIITA
 
Software Production Layout_Se lect7 btech
Software Production Layout_Se lect7 btechSoftware Production Layout_Se lect7 btech
Software Production Layout_Se lect7 btechIIITA
 
Se lect13 btech
Se lect13 btechSe lect13 btech
Se lect13 btechIIITA
 
Se lect14 btech
Se lect14 btechSe lect14 btech
Se lect14 btechIIITA
 
Software Quality and Testing_Se lect18 btech
Software Quality and Testing_Se lect18 btechSoftware Quality and Testing_Se lect18 btech
Software Quality and Testing_Se lect18 btechIIITA
 
Se lect9 btech
Se lect9 btechSe lect9 btech
Se lect9 btechIIITA
 
CASE tools_Se lect15 btech
CASE tools_Se lect15 btechCASE tools_Se lect15 btech
CASE tools_Se lect15 btechIIITA
 
Patent search from product specification final
Patent search from product specification finalPatent search from product specification final
Patent search from product specification finalIIITA
 
Software PROJECT MANAGEMENT_Se lect10 btech
Software PROJECT MANAGEMENT_Se lect10 btechSoftware PROJECT MANAGEMENT_Se lect10 btech
Software PROJECT MANAGEMENT_Se lect10 btechIIITA
 
Design dbms
Design dbmsDesign dbms
Design dbmsIIITA
 
Software Process Model_Se lect4 btech
Software Process Model_Se lect4 btechSoftware Process Model_Se lect4 btech
Software Process Model_Se lect4 btechIIITA
 
Software Design_Se lect16 btech
Software Design_Se lect16 btechSoftware Design_Se lect16 btech
Software Design_Se lect16 btechIIITA
 
Software Evolution_Se lect2 btech
Software Evolution_Se lect2 btechSoftware Evolution_Se lect2 btech
Software Evolution_Se lect2 btechIIITA
 

Destacado (15)

Mse july13 (1/3)
Mse july13 (1/3)Mse july13 (1/3)
Mse july13 (1/3)
 
Se lect1 btech
Se lect1 btechSe lect1 btech
Se lect1 btech
 
Lista de verbos para la ruta
Lista de verbos para la rutaLista de verbos para la ruta
Lista de verbos para la ruta
 
Software Production Layout_Se lect7 btech
Software Production Layout_Se lect7 btechSoftware Production Layout_Se lect7 btech
Software Production Layout_Se lect7 btech
 
Se lect13 btech
Se lect13 btechSe lect13 btech
Se lect13 btech
 
Se lect14 btech
Se lect14 btechSe lect14 btech
Se lect14 btech
 
Software Quality and Testing_Se lect18 btech
Software Quality and Testing_Se lect18 btechSoftware Quality and Testing_Se lect18 btech
Software Quality and Testing_Se lect18 btech
 
Se lect9 btech
Se lect9 btechSe lect9 btech
Se lect9 btech
 
CASE tools_Se lect15 btech
CASE tools_Se lect15 btechCASE tools_Se lect15 btech
CASE tools_Se lect15 btech
 
Patent search from product specification final
Patent search from product specification finalPatent search from product specification final
Patent search from product specification final
 
Software PROJECT MANAGEMENT_Se lect10 btech
Software PROJECT MANAGEMENT_Se lect10 btechSoftware PROJECT MANAGEMENT_Se lect10 btech
Software PROJECT MANAGEMENT_Se lect10 btech
 
Design dbms
Design dbmsDesign dbms
Design dbms
 
Software Process Model_Se lect4 btech
Software Process Model_Se lect4 btechSoftware Process Model_Se lect4 btech
Software Process Model_Se lect4 btech
 
Software Design_Se lect16 btech
Software Design_Se lect16 btechSoftware Design_Se lect16 btech
Software Design_Se lect16 btech
 
Software Evolution_Se lect2 btech
Software Evolution_Se lect2 btechSoftware Evolution_Se lect2 btech
Software Evolution_Se lect2 btech
 

Similar a Mse sept13 (3/3)

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
 
V-mobile | Mobile App Development Company
V-mobile | Mobile App Development CompanyV-mobile | Mobile App Development Company
V-mobile | Mobile App Development CompanyHaykuhi Tangyan
 
iPad Apps for the Enterprise
iPad Apps for the EnterpriseiPad Apps for the Enterprise
iPad Apps for the EnterpriseSukumar Jena
 
Solid information architecture design| Top software development companies in...
Solid information architecture design|  Top software development companies in...Solid information architecture design|  Top software development companies in...
Solid information architecture design| Top software development companies in...HEXAMIND TECHNOLOGIES
 
Understanding Native Mobile App Development
Understanding Native Mobile App DevelopmentUnderstanding Native Mobile App Development
Understanding Native Mobile App DevelopmentMobulous Technologies
 
Beyond App Development
Beyond App DevelopmentBeyond App Development
Beyond App DevelopmentOsman Celik
 
Top 10 Mobile App Development Frameworks for 2023.
Top 10 Mobile App Development Frameworks for 2023.Top 10 Mobile App Development Frameworks for 2023.
Top 10 Mobile App Development Frameworks for 2023.Techugo
 
Mobiuso - Keys to Sucess in Partnering with an Overseas Studio
Mobiuso - Keys to Sucess in Partnering with an Overseas StudioMobiuso - Keys to Sucess in Partnering with an Overseas Studio
Mobiuso - Keys to Sucess in Partnering with an Overseas StudioD.CAMP
 
Key Architectural Aspects of a Enterprise Mobility Solution
Key Architectural Aspects of a Enterprise Mobility SolutionKey Architectural Aspects of a Enterprise Mobility Solution
Key Architectural Aspects of a Enterprise Mobility Solutionroshanjk
 
Web vs Mobile App Development: Choosing the Right Platform for Your Business
Web vs Mobile App Development: Choosing the Right Platform for Your BusinessWeb vs Mobile App Development: Choosing the Right Platform for Your Business
Web vs Mobile App Development: Choosing the Right Platform for Your BusinessBaek Yongsun
 
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptxMOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptxmuthulakshmi cse
 
Cross-Platform App Development
Cross-Platform App DevelopmentCross-Platform App Development
Cross-Platform App DevelopmentTechAhead Corp
 
2013 Good Design is Good Business mobile and RSA
2013 Good Design is Good Business mobile and RSA2013 Good Design is Good Business mobile and RSA
2013 Good Design is Good Business mobile and RSARoger Snook
 
Process of iOS App Development
Process of iOS App DevelopmentProcess of iOS App Development
Process of iOS App DevelopmentWDP Technologies
 

Similar a Mse sept13 (3/3) (20)

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
 
Fundamentals of Mobile App Development Technology
Fundamentals of Mobile App Development TechnologyFundamentals of Mobile App Development Technology
Fundamentals of Mobile App Development Technology
 
V-mobile | Mobile App Development Company
V-mobile | Mobile App Development CompanyV-mobile | Mobile App Development Company
V-mobile | Mobile App Development Company
 
IT Technologies Career perspective
IT Technologies   Career perspectiveIT Technologies   Career perspective
IT Technologies Career perspective
 
iPad Apps for the Enterprise
iPad Apps for the EnterpriseiPad Apps for the Enterprise
iPad Apps for the Enterprise
 
Solid information architecture design| Top software development companies in...
Solid information architecture design|  Top software development companies in...Solid information architecture design|  Top software development companies in...
Solid information architecture design| Top software development companies in...
 
Understanding Native Mobile App Development
Understanding Native Mobile App DevelopmentUnderstanding Native Mobile App Development
Understanding Native Mobile App Development
 
Beyond App Development
Beyond App DevelopmentBeyond App Development
Beyond App Development
 
Beyond App Development
Beyond App DevelopmentBeyond App Development
Beyond App Development
 
Top 10 Mobile App Development Frameworks for 2023.
Top 10 Mobile App Development Frameworks for 2023.Top 10 Mobile App Development Frameworks for 2023.
Top 10 Mobile App Development Frameworks for 2023.
 
Mobiuso - Keys to Sucess in Partnering with an Overseas Studio
Mobiuso - Keys to Sucess in Partnering with an Overseas StudioMobiuso - Keys to Sucess in Partnering with an Overseas Studio
Mobiuso - Keys to Sucess in Partnering with an Overseas Studio
 
Key Architectural Aspects of a Enterprise Mobility Solution
Key Architectural Aspects of a Enterprise Mobility SolutionKey Architectural Aspects of a Enterprise Mobility Solution
Key Architectural Aspects of a Enterprise Mobility Solution
 
Web vs Mobile App Development: Choosing the Right Platform for Your Business
Web vs Mobile App Development: Choosing the Right Platform for Your BusinessWeb vs Mobile App Development: Choosing the Right Platform for Your Business
Web vs Mobile App Development: Choosing the Right Platform for Your Business
 
Native Android Development
Native Android DevelopmentNative Android Development
Native Android Development
 
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptxMOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
 
CV
CVCV
CV
 
Cross-Platform App Development
Cross-Platform App DevelopmentCross-Platform App Development
Cross-Platform App Development
 
2013 Good Design is Good Business mobile and RSA
2013 Good Design is Good Business mobile and RSA2013 Good Design is Good Business mobile and RSA
2013 Good Design is Good Business mobile and RSA
 
How many types of software development in Oman.docx
How many types of software development in Oman.docxHow many types of software development in Oman.docx
How many types of software development in Oman.docx
 
Process of iOS App Development
Process of iOS App DevelopmentProcess of iOS App Development
Process of iOS App Development
 

Último

Tree View Decoration Attribute in the Odoo 17
Tree View Decoration Attribute in the Odoo 17Tree View Decoration Attribute in the Odoo 17
Tree View Decoration Attribute in the Odoo 17Celine George
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvRicaMaeCastro1
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - I-LEARN SMART WORLD - CẢ NĂM - CÓ FILE NGHE (BẢN...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - I-LEARN SMART WORLD - CẢ NĂM - CÓ FILE NGHE (BẢN...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - I-LEARN SMART WORLD - CẢ NĂM - CÓ FILE NGHE (BẢN...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - I-LEARN SMART WORLD - CẢ NĂM - CÓ FILE NGHE (BẢN...Nguyen Thanh Tu Collection
 
ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6Vanessa Camilleri
 
Comparative Literature in India by Amiya dev.pptx
Comparative Literature in India by Amiya dev.pptxComparative Literature in India by Amiya dev.pptx
Comparative Literature in India by Amiya dev.pptxAvaniJani1
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...DhatriParmar
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWQuiz Club NITW
 
How to Uninstall a Module in Odoo 17 Using Command Line
How to Uninstall a Module in Odoo 17 Using Command LineHow to Uninstall a Module in Odoo 17 Using Command Line
How to Uninstall a Module in Odoo 17 Using Command LineCeline George
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Association for Project Management
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQuiz Club NITW
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationdeepaannamalai16
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 
An Overview of the Calendar App in Odoo 17 ERP
An Overview of the Calendar App in Odoo 17 ERPAn Overview of the Calendar App in Odoo 17 ERP
An Overview of the Calendar App in Odoo 17 ERPCeline George
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDhatriParmar
 
ARTERIAL BLOOD GAS ANALYSIS........pptx
ARTERIAL BLOOD  GAS ANALYSIS........pptxARTERIAL BLOOD  GAS ANALYSIS........pptx
ARTERIAL BLOOD GAS ANALYSIS........pptxAneriPatwari
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB...
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB...BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB...
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB...Nguyen Thanh Tu Collection
 

Último (20)

Tree View Decoration Attribute in the Odoo 17
Tree View Decoration Attribute in the Odoo 17Tree View Decoration Attribute in the Odoo 17
Tree View Decoration Attribute in the Odoo 17
 
Plagiarism,forms,understand about plagiarism,avoid plagiarism,key significanc...
Plagiarism,forms,understand about plagiarism,avoid plagiarism,key significanc...Plagiarism,forms,understand about plagiarism,avoid plagiarism,key significanc...
Plagiarism,forms,understand about plagiarism,avoid plagiarism,key significanc...
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - I-LEARN SMART WORLD - CẢ NĂM - CÓ FILE NGHE (BẢN...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - I-LEARN SMART WORLD - CẢ NĂM - CÓ FILE NGHE (BẢN...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - I-LEARN SMART WORLD - CẢ NĂM - CÓ FILE NGHE (BẢN...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - I-LEARN SMART WORLD - CẢ NĂM - CÓ FILE NGHE (BẢN...
 
ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6
 
Introduction to Research ,Need for research, Need for design of Experiments, ...
Introduction to Research ,Need for research, Need for design of Experiments, ...Introduction to Research ,Need for research, Need for design of Experiments, ...
Introduction to Research ,Need for research, Need for design of Experiments, ...
 
Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"
 
Comparative Literature in India by Amiya dev.pptx
Comparative Literature in India by Amiya dev.pptxComparative Literature in India by Amiya dev.pptx
Comparative Literature in India by Amiya dev.pptx
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITW
 
How to Uninstall a Module in Odoo 17 Using Command Line
How to Uninstall a Module in Odoo 17 Using Command LineHow to Uninstall a Module in Odoo 17 Using Command Line
How to Uninstall a Module in Odoo 17 Using Command Line
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentation
 
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of EngineeringFaculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 
An Overview of the Calendar App in Odoo 17 ERP
An Overview of the Calendar App in Odoo 17 ERPAn Overview of the Calendar App in Odoo 17 ERP
An Overview of the Calendar App in Odoo 17 ERP
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
 
ARTERIAL BLOOD GAS ANALYSIS........pptx
ARTERIAL BLOOD  GAS ANALYSIS........pptxARTERIAL BLOOD  GAS ANALYSIS........pptx
ARTERIAL BLOOD GAS ANALYSIS........pptx
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB...
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB...BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB...
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB...
 

Mse sept13 (3/3)

  • 1. Mobile SoftwareMobile Software EngineeringEngineering By Prof. Dr.Prof. Dr. O.P.VyasO.P.Vyas DAAD Fellow (Germany), AOTS Fellow (Japan)DAAD Fellow (Germany), AOTS Fellow (Japan) Indian Institute of Information TechnologyIndian Institute of Information Technology AllahabadAllahabad Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 2.  Mobile Software: Evolution or Revolution  Smartphone Vs Other Mobile DevicesSmartphone Vs Other Mobile Devices  Mobile OS: Android OS, Windows Phone,Mobile OS: Android OS, Windows Phone, iOSiOS  Mobile Software: Cross Device ApplicationsMobile Software: Cross Device Applications  Mobile Apps Characteristics & Issues  Software trends : Native Apps & Web AppsSoftware trends : Native Apps & Web Apps  Mobile Information Architecture: PatternsMobile Information Architecture: Patterns Mobile Software EngineeringMobile Software Engineering 2  Mobile Information Architecture: PatternsMobile Information Architecture: Patterns  Why Mobile SE ? Mobile SE Approaches  Mobile SE trends : Usability Lifecycle & UX DesignMobile SE trends : Usability Lifecycle & UX Design  Mobile Interaction Design: MobileMobile Interaction Design: Mobile IxDIxD PatternsPatterns  Mobile Software Testing : Native & Web AppsMobile Software Testing : Native & Web Apps  Mobile Web & Responsive Web Design  Implementation issuesImplementation issues:: Software ProjectsSoftware Projects Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 3. Our Approach …Our Approach …  Concepts of Mobile Software & need for EngineeringConcepts of Mobile Software & need for Engineering approachapproach  Significant issues: Mobile UX design, InformationSignificant issues: Mobile UX design, Information ArchitectureArchitecture  Implementations: Mobile Apps Design & DevelopmentImplementations: Mobile Apps Design & Development  Responsive Web DesignResponsive Web Design Responsive Web DesignResponsive Web Design  Tools & Frameworks:Tools & Frameworks: PhonegapPhonegap,, MosyncMosync && jQueryjQuery  Modeling with UMLModeling with UML  Tools & TechniquesTools & Techniques Overview of Mobile Platform: – Writing codes: Implementing using Tools & Framework Tools : J2ME, Javascript, jQuery, HTML5,….. 3 Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 4. Types of Mobile Apps •• Native AppsNative Apps A native app as one that is specifically designed to run on a device’s operating system and machine firmware, and •• Web AppsWeb Apps A Web app, or browser application, is one in which all or some parts of the software are downloaded from themachine firmware, and typically needs to be adapted for different devices. Ex. Address book,Address book, calendar andcalendar and calculatorcalculator downloaded from the Web each time it is run.  It can usually be accessed from all Web- capable mobile devices. Ex. Weather Widgets,Weather Widgets, Social Networking andSocial Networking and Online GamesOnline Games. 9/22/20134 Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 5. Technical difference between the two? • For instance, a native application developed for the iPhone will need to run on its proprietary iOS platform, or on Symbian for many Nokia devices, and so forth. • One interesting point to note is that while architectural differences will likely remain between a native and Web application for some time, the user experiences provided by both interfaces are increasingly blurred, as most native apps utilize real-time and so forth. • A Web app, however, is typically coded in a browser-rendered language such as HTML combined with JavaScript. native apps utilize real-time Web connectivity and Web apps provide offline modes that can be accessed without network connectivity. • As a result, some of these apps are now referred to as hybrid apps. 9/22/20135 Best practices for Mobile Apps development: http://www.w3.org/TR/mwabp/ Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 6. Mobile SE approach or Business AppsMobile SE approach or Business Apps Example Business Apps Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 7. User-Centered Mobile Design Life cycle 7 Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 8. UX Design 8 Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 9. Things To Know About UX Design UX design is an amazing discipline, but it cannot, or will not, accomplish certain things.  UX Design Is Not One Size Fits All – User experience design won’t work in every situation for every user because, as human beings, we are all different. – What works for one person might have the opposite effect on another. – And just as we can’t design a user experience, we can’t replicate the user experience for one website exactly on another website. User experiences will be different between websites or Mobile Software. a design must be tailored to the goals, values, production process and products of its website / Mobile Software. 9 Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 10. Things To Know About UX Design  Can’t Be Directly Assessed With Traditional Metrics – You can’t determine the effectiveness of a user experience design based solely on statistics such as page views, bounce rates and conversion rates. We can make assumptions, and we can ask users for anecdotal evidence, but we can’t install an app (at least not yet) that automatically records user experience statistics directly.experience statistics directly.  Not the Same Thing as Usability – User experience and usability have become synonymous, but these two fields are clearly distinct. UX addresses how a user feels when using a system, while usability is about the user- friendliness and efficiency of the interface. • Usability is big part of the user experience and plays a major role in experiences that are effective and pleasant, but then human factors science, psychology, information architecture and user- centered design principles also play major roles. 10 Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 11. Tasks And Techniques Of UX Designers • UX designers perform various tasks at various points in the process. Following are the few things that they deliver.  Evaluation of Current System  A/B Testing  User Surveys  Wireframes and Prototypes Wireframes and Prototypes  User Flows  Storytelling  Design Patterns  User Profiles and Personas  Content Inventory  Content Style Guides 11 Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 12. Mobile Business Apps Anatomy of Best AppsAnatomy of Best Apps Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 13. Mobile Apps uses cross technology tools for particular application domain… From DatabaseDatabase, Cloud Computing,, Cloud Computing, Data MiningData Mining, to Visualization TechniquesVisualization Techniques….. Large number of different technology Solutions areLarge number of different technology Solutions are being integrated in Business Appsbeing integrated in Business Apps…… Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 14. Database for Mobile: SQLite • SQLite is a relational database management system contained in a small (~350 KB) C programming library. • In contrast to other database management systems, SQLite is not a separate process that is accessed from the client application, but an integral part of it. • SQLite is a popular choice as embedded database for local/client storage in application software such as web browsers. • It is arguably the most widely deployed database engine, as it is used today by several widespread browsers, operating systems, and embedded systems, among others.others. • SQLite has many bindings to programming languages.& source code in the public domain.[ – Corona includes support for SQLite databases on all platforms. This is based on the built-in sqlite support on the iPhone, and a compiled version of SQLite on Android. Note that this increases the size of the Android binary by 300K. • SQLite is available in all versions of Android, iPhone, and iPad, as well as in the Corona Simulator. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 15. Cloud Computing for Mobile Apps • Could Computing is providing very significant extension support to Mobile Apps. • Mobile Apps are getting immensely benefitted by using existing Cloud platforms and tools- some public, some proprietary for many Business Apps. • Cloud-based development platforms in PaaS and IaaS public clouds –clouds – –– such assuch as Google, Amazon Web Services, Microsoft, andGoogle, Amazon Web Services, Microsoft, and Salesforce.comSalesforce.com ---- are really in their awkward teenage years.are really in their awkward teenage years. –– But they show cost savings and better efficiencies.But they show cost savings and better efficiencies. –– The ability to quickly get applications into production and toThe ability to quickly get applications into production and to scale those applications as required.scale those applications as required. –– The ability to collaborate with other developers, architects,The ability to collaborate with other developers, architects, and designers on the development of the applicationand designers on the development of the application. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 16. Big Data AnalyticsBig Data Analytics && Mobile AppsMobile AppsMobile AppsMobile Apps Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 17. What is Big Data? • Big data is a popular term used to describe the exponential growth and availability of data, both structured and unstructured. • And big data may be as important to business – and society – as the Internet has become. – Why? More data may lead to moreMore data may lead to more accurateaccurate analyses. – More accurate analyses may lead to moreanalyses may lead to more– More accurate analyses may lead to moreanalyses may lead to more confident decisionconfident decision making. – And better decisions can mean greater operational efficiencies, cost reductions and reduced risk. • As far back as 2001, industry analyst Doug Laney (currently with Gartner) articulated the now mainstream definition of big data as the three Vs: volume, velocity and varietythree Vs: volume, velocity and variety Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 18. Big Data Analytics • Big Data analytics involves group of technologies for – Data Analytics – Business Intelligence – Business Strategies– Business Strategies • Lot of Big Data analytics are available on Cloud platforms. Many popular must have Business apps are making use of Big Data analytics. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 19. Mobile Business Apps Mobile Software Engineering can be worthwhile for Business productivity Apps, which are critical to success of an enterprise.  More and more organizations aim at leveraging mobile devices and applications for their respective business…… The explosion of consumer appsapps can be seen in just about every industry,  And Mobile Business Apps are running rampant in the B2B worldB2B world as well, including spaces such as:well, including spaces such as:  Business Apps: CRM, ERP, HR systems  Productivity: Docs, spreadsheets, presentations  Retail: Location-intelligent Mobile Commerce  Media: Magazines & newspapers going 100% digital  Travel: Mobile bookings, check-ins, maps, deals, etc.  Education: Tablets and apps in classrooms  Healthcare: Patient records, physician notes, etc.  Finance: Apps for real-time trading, portfolio analysis Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 20. Business App:Business App: CloudOnCloudOn • CloudOn lets you run Microsoft Office on the iPad. • Available on: Android and iOS • There are a few apps that run Microsoft Office on the iPad and Android tablets. •• CloudOnCloudOn is popular because•• CloudOnCloudOn is popular because – 1) it's free, – 2) it supports many of Office's more advanced features, – 3) it's designed to work on a touch interface. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 21. CloudOn: Features • CloudOn lets you add Microsoft Office, Adobe Reader, and several other apps to your iPad through the use of cloud computing. • CloudOn also lets you use your cloud storage accounts to handle your files. • It installs easily. • full power of applications like Microsoft We used CloudOn for a while in TestingTesting (you need to set up an account, obviously). We did experience some issues with CloudOn crashing on occasion, without any common cause, but hopefully this will beOffice, • the convenience of cloud storage and more—all in your very own workspace in the cloud. • While you need to have decent connectivity to take advantage of the workspace remotely from your iPad, this is a viable solution when you'reviable solution when you're traveling or away from your maintraveling or away from your main computerscomputers and need to access or modify files quickly. cause, but hopefully this will be addressed quickly. The ability to quickly access our Dropbox account and edit a Word document on the iPad was fantastic, and the ability to then e- mail that modified file to others makes this an ideal tool for quick, on-demand work when all you have available is your iPad. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 22. Business App: Box • Box safely stores your files, pics, and documents in the CloudCloud. • Price: Free • Available on: Android, BlackBerry, iOS, Mac, Windows, and Windows PhoneWindows Phone •• Very popular app, No list ofVery popular app, No list of mustmust--•• Very popular app, No list ofVery popular app, No list of mustmust-- have work appshave work apps is completeis complete without Box !!without Box !! •• Box letsBox lets you store files in theyou store files in the cloud,cloud, share documents withshare documents with coworkers, evencoworkers, even edit files withedit files with other apps installedother apps installed on youron your device.device. •• Box is also way ahead of theBox is also way ahead of the competition when it comes tocompetition when it comes to securing work files, too.securing work files, too. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 23. Box • With 10GB free, Box makes it easy to access and edit your files, share content and stay connected with your team from anywhere on any device. • Share important files with your coworkers Box allows you to do all these things and more! More than 150,000 companies— including 92% of the FORTUNE 500—rely on Box for simple, secure content sharing. Box for Android lets you: * AccessAccess, view, edit, share andyour coworkers * Have your presentation at your fingertips * Comment on documents on the go * View updates to your spreadsheet instantly * AccessAccess, view, edit, share and manage files directly on your Android phone or tablet * SecureSecure your content with file-level encryption, passcode and auto logout when the app is closed * Upload multiple imagesUpload multiple images, videos and files from your SD card * Save files to your SDSave files to your SD card for offline access Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 24. Box Apps: Family of AppsBox Apps: Family of Apps Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 25. Mobile Apps: Roambi Analytics  Mobile Business Intelligence software for iPad and iPhone. Connect with your business data for secure mobile access  If you've heard of "big data" and maybe you've heard of "analytics."  That's whereThat's where RoambiRoambi AnalyticsAnalytics comes in.comes in.comes in.comes in.  It lets you takeIt lets you take hardhard--toto--readread datadata from anywhere andfrom anywhere and transforms it into charts ortransforms it into charts or graphsgraphs making that data moremaking that data more meaningful, all on yourmeaningful, all on your iPhoneiPhone..  Uses various Data AnalyticsUses various Data Analytics approaches to covert data intoapproaches to covert data into InsightInsight 25 Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 26. Roambi Analytics • This Business App makes use of various technologies like Cloud Computing and Data Mining. •• RoambiRoambi is Business Intelligence & Business Analytics App, which uses recent data mining techniques for Analyzing the data, finding the hidden trends and doing Predictive Analytics.  The applications connect to popular information systems including Excel or Salesforce.com and business intelligence systems such as Cognos and corporate databases such as Microsoft SQL.[2] • The app is currently used by over 20% of the Fortune 50 and has been downloaded more than 600,000 times. • Roambi’s platform allows users to upload their data (from Excel spreadsheets, Salesforce.com, or other data) to the online Roambi Publisher.[1] • Users then select from pre-designed templates to deliver the data in different forms (pie chart, graphs etc.) Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 27. Mobile Business Apps  Still think that mobile apps are for games, music and “entertainment purposes” only?  Do you really think that mobile applications won’t be relevant to a industry, a company, software teamrelevant to a industry, a company, software team and youryour career as Software Engineercareer as Software Engineer,, a year from now?career as Software Engineercareer as Software Engineer,, a year from now?  Think again. 27 Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 28. Business AppsBusiness Apps •• Google NowGoogle Now is one of the most innovative apps on any platform. –– Rather than waiting for you to look for information, it monitorsRather than waiting for you to look for information, it monitors your activity to try to predict what you need and when.your activity to try to predict what you need and when. –– It then presents that information with a clean and conciseIt then presents that information with a clean and concise interface.interface. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 29. EvernoteEvernote.. Access anywhere. Remember everything. One of the most popular apps on the market, Evernote has evolved way past just classic note-taking. Evernote's extended family includes Penultimate, a hand-writing app for taking notes on tablet; Web Clipper, which allows you to clip web pages coupon-style; Peek, a notecard-like study aid; and Skitch, an image mark- up tool. Platforms: Android, iOS. Cost: Free, $5 per month for premium features. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 30. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 31. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 32. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 33. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 34. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 35. Mobile Apps development • The high quality requirements of mobile business apps require them to be thoroughly engineered. • Unfortunately, today’s software engineering approaches are often too heavy-weight to allow developing high-quality mobile business apps in the context of mobile projects, which often face – small budgets,– small budgets, – extremely limited effort, and – short time-to-market requirements. 35 Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 36. Process Models for Mobile Software  Waterfall ModelWaterfall Model  Spiral ModelSpiral Model  Fountain ModelFountain Model  Agile ProcessAgile Process ModelModel – Scrum approach & other agile techniques, e.g., testdriven Fountain ModelFountain Model testdriven development,  Mobile SoftwareMobile Software ModelModel  MM--BusinessBusiness Procedure ModelProcedure Model (2005)(2005)  mConcApptmConcAppt (2011)(2011) 36 Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 37. Mobile Software EngineeringMobile Software Engineering • The effectiveeffective and lightweightlightweight Mobile Software Engineering approach uses –– Requirement elicitationRequirement elicitation –– Interaction designInteraction design • Specify Interaction Design • Communicate Interaction Design –– Development of AppsDevelopment of Apps –– Testing the AppTesting the App • Software testing • User Testing: Alpha & Beta testing • App specific Testing Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 38. Requirement Elicitation in Apps  Requirement ElicitationRequirement Elicitation Functional requirementsFunctional requirements NonNon--functional requirementsfunctional requirements Domain requirementsDomain requirements • Mobile Software Enginering Approach mConcApptmConcAppt combines RE and UI and interaction designRE and UI and interaction design activities for mobile business apps and produces a so called interaction concept as basis for implementation and further activities. • Method is user centred to provide high usability and user experience Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 39. Functional and nonFunctional and non--functional requirementsfunctional requirements  Functional requirementsFunctional requirements  Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations.  May state what the system should not do.  NonNon--functional requirementsfunctional requirements NonNon--functional requirementsfunctional requirements  Constraints on the services or functions offered by theConstraints on the services or functions offered by the system such as timing constraints, constraints on thesystem such as timing constraints, constraints on the development process, standards, etc.development process, standards, etc.  Often apply to the system as a whole rather thanOften apply to the system as a whole rather than individual features or services.individual features or services.  Domain requirementsDomain requirements  Constraints on the system from the domain ofConstraints on the system from the domain of operationoperation 39 Chapter 4 Requirements Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 40. Functional requirements of AppFunctional requirements of App DescribeDescribe functionalityfunctionality or servicesor services proposed by App.proposed by App. Depend on the type ofDepend on the type of AppApp, expected, expected users and the type of system where theusers and the type of system where the App is used.App is used.App is used.App is used. Functional user requirements may beFunctional user requirements may be highhigh--level statements of what thelevel statements of what the AppApp should do.should do. Functional system requirements shouldFunctional system requirements should describe the services of andescribe the services of an AppApp in detail.in detail. 40 Chapter 4 Requirements Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 41. Non-functional requirements  These define system properties and constraints e.g. reliability, response time and storage requirements. Constraints are I/O device capability etc.  Process requirements may also be specified mandating a particular IDE, programming language or development method.particular IDE, programming language or development method.  Non-functional requirements may be more critical than functional requirements.  If these are not met, the App may be useless. 41 Chapter 4 Requirements Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 42. Elicit Requirements for Business App • Aim of the activities of this phase is primarily to prepare and conduct a requirements elicitation workshop and to document the elicited results. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 43. • Validate Interaction Design: validated by actual end users. Mobile Software EngineeringMobile Software Engineering • The app conception as whole is iterative process. • Elicit Requirements (gather of requirements relevant for interaction design). •• Specify Interaction DesignSpecify Interaction Design: comprise of actual development of interaction concept in tight collaboration with responsiblecollaboration with responsible persons for other software engineering disciplines. •• Communicate InteractionCommunicate Interaction Design:Design: to support collaboration, show how evolution of steps of interaction concept should be communicated to roles involved in app development. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 44. Specify Interaction Design Regarding the specification of the interaction design  it is mandatory that the interaction designer himself is a user of the addressed device class and operating system. To provide high-quality results, it is not sufficient to know operating systemknow operating system programming guidelines. When starting to design the mobile business app, it is a key influencing factor toinfluencing factor to decide which functionality has todecide which functionality has to be realized in the backendbe realized in the backend systemsystem and which functionality has to be on the mobile device. Early communication of ideas and sketches increases the quality of the results. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 45. Front End & Back End in AppsFront End & Back End in Apps •• Regarding mobile business apps, theRegarding mobile business apps, the frontend,frontend, which is usually represented by an appwhich is usually represented by an app, strongly, strongly depends on the performance of the backenddepends on the performance of the backend system.system. •• This dependency may have aThis dependency may have a major impact on themajor impact on the interaction design and creativeinteraction design and creative solutions might besolutions might beinteraction design and creativeinteraction design and creative solutions might besolutions might be necessary.necessary. •• Project management should be aware of theseProject management should be aware of these special circumstances and solve conflictsspecial circumstances and solve conflicts regarding the overall goals of the project as wellregarding the overall goals of the project as well as provide prioritization between systemas provide prioritization between system capabilitiescapabilities and financial budget.and financial budget. •• App Testing needs to be accordingly conducted...App Testing needs to be accordingly conducted... Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 46. Mobile Software TestingMobile Software TestingMobile Software TestingMobile Software Testing Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 47. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 48. User testing • User or customer testing is a stage in the testing process in which users or customers provide input and advice on system testing. • User testing is essential, even when comprehensive system and release testing have been carried out. – The reason for this is that influences from the user’s working environment have athe user’s working environment have a major effect on the reliability, performance, usability and robustness of a system. These cannot be replicated in a testing environment. 48Chapter 8 Software Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 49. Types of user testing • Alpha testing – Users of the software work with the development team to test the software at the developer’s site. • Beta testing – A release of the software is made available to users to allow them to experiment and to raise problems that they discover with the system developers. • Acceptance testing – Customers test a system to decide whether or not it is ready to be accepted from the 49Chapter 8 Software Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 50. User testing • User or customer testing is a stage in the testing process inthe testing process in which users or customers provide input and advicewhich users or customers provide input and advice on system testing. • User testing is essential, even when comprehensive system and release testing have been carried out. – The reason for this is that influences from the user’s working environment have athe user’s working environment have a major effect on the reliability, performance, usability and robustness of a system. These cannot be replicated in a testing environment. 50Chapter 8 Software Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 51. Types of user testingTypes of user testing • Alpha testing –– Users of the software work with the developmentUsers of the software work with the development team to test the software at the developer’s site.team to test the software at the developer’s site. • Beta testing –– A release of the software is made available toA release of the software is made available to users to allow them to experiment and to raiseusers to allow them to experiment and to raiseusers to allow them to experiment and to raiseusers to allow them to experiment and to raise problems that they discover with the systemproblems that they discover with the system developers.developers. • Acceptance testing –– Customers test a system to decide whether or notCustomers test a system to decide whether or not it is ready to be accepted from the systemit is ready to be accepted from the system developers and deployed in the customerdevelopers and deployed in the customer environment. Primarily for custom systems.environment. Primarily for custom systems. 51Chapter 8 Software Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 52. App TestingApp Testing Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 53. Functional TestingFunctional Testing Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 54. Developing Web AppsDeveloping Web Apps Using Mobile Web Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 55. What is Mobile Web App • A mobile web app is a mobile application that combines the versatility of the web with the functionality of touch-enabled devices. • A Web app is typically coded in a browser-rendered language such as HTML combined with JavaScript. • HTML5 will be the new standard for HTML. • The previous version of HTML, HTML 4.01, came in 1999. The• The previous version of HTML, HTML 4.01, came in 1999. The web has changed a lot since then. • HTML5 is still a work in progress. However, the major browsers support many of the new HTML5 elements and APIs. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 56. HTML 5 • Some rules for HTML5 were established: –– New features should be based onNew features should be based on HTML,HTML, CSS, DOM, and JavaScriptCSS, DOM, and JavaScript –– Reduce the need for externalReduce the need for external pluginsplugins (like(like Flash)Flash)Flash)Flash) –– Better error handlingBetter error handling –– More markup to replace scriptingMore markup to replace scripting –– HTML5 should be device independentHTML5 should be device independent –– The development process should be visibleThe development process should be visible to the publicto the public Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 57. HTML5 - New Features • Some of the most interesting new features in HTML5: –– TheThe <canvas><canvas> element for 2D drawingelement for 2D drawing –– TheThe <video><video> andand <audio><audio> elements for media playbackelements for media playback –– Support for local storageSupport for local storage –– New contentNew content--specific elements, likespecific elements, like <article>, <footer>,<article>, <footer>, <header>, <<header>, <navnav>, <section>>, <section> –– New form controls, like calendar, date, time, email,New form controls, like calendar, date, time, email, urlurl,, searchsearch • Browser Support for HTML5 – HTML5 is not yet an official standard, and no browsers have full HTML5 support. – But all major browsers (Safari, Chrome, Firefox, Opera, Internet Explorer) continue to add new HTML5 features to their latest versions. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 58. CSS media features • CSS with its various media features makes it convenient to develop Mobile Web Apps. – One of the most important features of style sheets is that they specify how a documentspecify how a document is to be presented on different mediais to be presented on different media: – on the screen, on paper, with a speech– on the screen, on paper, with a speech synthesizer, with a braille device, etc. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 59. CSS Media typesCSS Media types • The names chosen for CSS media types reflect target devices for which the relevant properties make sense • all Suitable for all devices. • braille Intended for braille tactile feedback devices. • embossed Intended for paged braille printers. • handheld Intended for handheld devices (typically small screen,• handheld Intended for handheld devices (typically small screen, limited bandwidth). • projection Intended for projected presentations, for example projectors. • tv Intended for television-type devices (low resolution, color, limited-scrollability screens, sound available) Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 60. Web Apps & Mobile Web FrameworkWeb Apps & Mobile Web Framework • These days, Web-based Apps for mobile browsers have some street cred—especially now that hip cat HTML5 and his sidekicks, CSS3 and JavaScript, are in the house. • Let’s see more mobile web app world closely by taking a mobile framework—code tools designed to help you get your job done quickly. • As It’s an in-progress standard, We know that HTML5 clarifies and improves upon the two-decade-old markup language, adding,improves upon the two-decade-old markup language, adding, especially, support for web apps without putting much backward compatibility at risk. • HTML5 introduces new semantic elements like <section>,<section>, <article>, <nav>, and <header>.<article>, <nav>, and <header>. • It simplifies the syntax for some tags, gives us the power of media with <audio> and <video> tags, and unleashes interactivity through new JavaScript APIs like geolocationJavaScript APIs like geolocation and offline storage. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 61. Why use Mobile Web App frameworks? • Let’s face it. Building complex, interactive web apps fromBuilding complex, interactive web apps from scratchscratch—especially mobile web apps—can be a daunting proposition. • A web development framework—that is, a packaged collection of interactive elements and code tools—can help give us a leg up. • A framework can help us manage cross-platform inconsistencies • A framework can help us make a website or app look mobile- friendly.friendly. – Mobile-oriented frameworks generally help alter and style HTML elements to look and feel more mobile, often saving us quite a lot of time. • A framework can help us make a website or app feel mobile. – Frameworks can take the drudgery out of transitions and effects that make a website or app feel more native, or, at least, consistent.. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 62. Choose and use Web frameworks with care • Frameworks are powerful mojo, but they also have some drawbacks. • Many are quite hefty, and can bloat your site’s payload by hundreds of kilobytes. • Some employ a kitchen-sink approach, including tons of widgets and cutesy animations that not only are large in byte units, butand cutesy animations that not only are large in byte units, but can cause serious performance woes on lesser devices. • Finally, make sure you evaluate a framework’s device support. • Some only support one or a few major, cutting-edge platforms. –– jQueryjQuery Mobile Framework !!Mobile Framework !! Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 63. Mobile Web: jQuery Mobile • jQuery Mobile is a touch-optimized web frameworkweb framework (additionally known as a JavaScript library or a mobile framework) currently being developed by the jQuery project team. • The development focuses on creating a framework compatible with a wide variety of smartphones and tablet computers, made necessary by the growing but heterogeneous tablet and smartphone market.smartphone market. • The jQuery Mobile framework is compatible with other mobile app frameworks and platforms such as PhoneGap, Worklight[4] and more. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 64. jQueryjQuery MobileMobile • Data Attributes used can be as follows: – data-role – Specifies the role of the element, like header, content, footer etc. – data-position – specifies whether the element should be fixed, in which case it will render at the top (for header) or bottom (for footer)top (for header) or bottom (for footer) – data-transition – specifies which transition to use when loading new pages, can be set to: slide, slideup, slidedown, pop, flip or fade – data-theme – specifies which design theme to use for elements within container, can be set to: a, b, c, d, e Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 65. • Q: Are there other mobile frameworks out there? • A: There are many coming every day. Some other mobile web frameworks include Sencha Touch, Wink, iUI, DHTMLX Touch, and JQTouch.. • Q: What exactly makes up a mobile web framework? • A: It depends on the framework, but most involve a combination of JavaScript, CSS, and image (or other) assets to aid in the styling of the mobile experience. Some frameworks also include a server-side component to help generate (as opposed to adapt) content.. • Q: So, jQuery Mobile is a mobile version of the original jQuery library?? Mobile Web Framework • Q: So, jQuery Mobile is a mobile version of the original jQuery library?? • A: jQuery Mobile builds on top of jQuery. It does not replace it. You’ll notice that when we start building stuff with jQuery Mobile, the first JavaScript file we include is the core jQuery library. • Q: So, jQuery Mobile is a JavaScript development framework that extends jQuery. • A: Yes, there is JavaScript in the jQuery Mobile framework. But jQuery Mobile is not a JavaScript framework. It’s bigger than that. It’s a user interface framework. That means it also includes stylesheets, icons, and other pieces of the puzzle. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 66. • Q: Do we really need to use a framework?? • A: No, not at all! In fact, we encourage you to build applike mobile websites from scratch. However, the nice thing about frameworks, and jQuery Mobile in particular, is that they take care of a lot of obnoxious, platform-specific quirks and bugs for us. Their team of devs has laserlike focus on the foibles of different mobile browsers. • We have limited time and space here, folks. Trying to pull off what we need to do for the Web App without a framework of any sort would be pretty hairy, not to mention the chaos of extra testing that would be required (as we wouldn’t have that underpinning of tested cross-platform support). Mobile Web Framework • Q: What exactly is Mobile Web App an Mobile app or Mobile Website? • A: The subtleties of differentiation between app and site are so vague that the answer sometimes seems almost arbitrary. Mobile App using mobile Website? • Q: So, But what if it were a site? I couldn’t use jQuery Mobile then, right? • A: jQuery Mobile is a user interface framework. It doesn’t care whether you call what you’re making with it an app or a site. Its job is to make things feel usable and not break across various mobile platforms, using a combination of CSS, JavaScript, and HTML5.. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad
  • 67. Mobile Software Engineering Prof. O P Vyas Indian Institute of Information Technology, Allahabad