SlideShare a Scribd company logo
Designing
Mobile
Applications



               Anand Naik
               Development Manager, Cross Country Infotech
               solutions@crosscountry.com
Slide 2




Abstract
This document discusses the architecture of typical mobile applications. It also provides
a comparison between Web and mobile applications. Designers and Architects can
benefit from the design guidelines presented in this document. The document does not
discuss nontechnical issues, such as issues related to resources or development
methodologies, which are faced during the development of mobile applications.
Slide 3




Introduction
• The development of mobile applications is not new. The concept is at least a decade
  old. However, in the recent past, it has grown at an enormous speed.
• The upsurge of smart phones and mobile operating systems are some of the factors
  that drive this growth. In addition, the developer community is encouraged to see
  direct    access   to    customers     through     various   channels   such    as
  AppStore, marketplace, and other channels.
• The software industry has matured to a great extent, but the area of mobile
  application development still opens up loads of issues.
• Herds of Web application developers are jumping into mobile application
  development with the baggage of their Web development experience.
Slide 4




What Are Mobile Applications?
• Any software application that uses a mobile phone as a platform to execute specific
   tasks is called a mobile application.

• Mobile applications can be native applications that are written by using device-based
   software tools.

• They could be browser-based applications that use HTML, JavaScript, or cascading
   style sheets or they could be SMS-based applications.

• Mobile applications differ from Web-based applications in various aspects, a
   development team needs to consider these differences while making design
   decisions.


• The addition of mobility requires considering various factors, which include network
   connectivity, device capabilities, power supply, wide range of user interfaces, and
   numerous platforms.
Slide 5




Mobile Application Architecture and Design
                                                      Mobile User


    UI Components                                 Event Handlers                       Presentation


                    Business Layer Controller


    Native                 Business                        Service                         Business
   Controller            Orchestration                    Adapters




                                                                                                        Layers
    Native                Data Access
   Adapter                 Controller
                                                                                      Local Services
    Native                Data Access
     API                   Adapter



   Native OS                                                                       Mobile Ecosystem
                           Local Data
                         Storage/Cache


                                         Services Deployed on Application Server
Slide 6




Presentation Layer (Contd...)
•    The presentation layer primarily has two main components—the UI components and the event
     handlers.
•    The UI components are visible to the mobile user, for example, a text box.
•    The UI components generate events when acted upon by the user.
•    These events are caught by the event handlers for further processing. The design of the
     presentation layer is important for a rich user experience.


    Web Application                                         Mobile Application
    Fixed layout orientation                                Portrait or landscape layouts
    Fixed set of resolutions/screen sizes                   Variety of resolutions and screen sizes
    No local caching                                        Local caching
    Enough real estate available                            Limited amount of real estate
    Standard input methods                                  New & cumbersome input methods
    Consistent network availability with enough bandwidth   Inconsistent network availability with limited bandwidth
    SSL and encryption support                              Some old devices may have issues
    Continuous power supply                                 Uses battery power
Slide 7




Presentation Layer
Design Guidelines
   If your application needs to be portable across devices, it        Consider designing for touch screen and stylus-enabled devices.
    should use platform-independent technologies such as
    Titanium and PhoneGap.                                             Keep the rendering logic separate from the business logic.

   Design your application to fit the portrait and the landscape      Validate the input and handle validation errors correctly.
    layout.
                                                                       Avoid using references to external resources such as images
   The real estate available on the mobile has a direct relation       because it makes a network call and thereby consumes network
    with user experience. Design your applications to use this          bandwidth.
    scarce resource. Decide the target resolutions and operating
    systems and fit the layout accordingly.                            Because complete URLs are not usually visible, it makes a
                                                                        phisher’s life easy. The application should attempt to use small
   Use consistent and simple navigation. Do not make it overly         URLs that are completely visible.
    complex.
                                                                       On screen keyboard used for input reduces the real estate
   Use local caching as a mechanism to improve user                    available, limiting the visibility of the screen. UI design should
    experience. Do not cache sensitive data in unencrypted              take care of this.
    format. Do not rely on the cached data to a great extent.
                                                                       Navigation varies depending on the device for example iPhone
   Use exceptions carefully. Differentiate between exceptions          has only one physical button for navigation while in android, back
    and take appropriate actions.                                       button and context menu makes it easier to navigate.

   The mobile keyboard is not as easy to operate as a desktop         Avoid using heavy media files to conserve battery power.
    keyboard. Your UI design should allow users to enter
    minimum amount of data.
Slide 8




Business Layer (Contd..)
•    The business layer contains the Business Layer Controller, Business Layer Orchestration, Native
     Controller, and the Service Adapter.
•    The Business Layer Controller provides an interface to the presentation layer to interact with
     the business logic.
•    The Business Layer Orchestration carries out various business operations, such as getting
     information from the mobile ecosystem through the Native Controller, getting local data
     through the Data Access Controller, and calling external service by using the Service Adapter.
•    The Native Controller manages calls to Native APIs that are used to get data from the mobile
     ecosystem. The Data Access Controller uses the data access adapter to connect to the data
     store.
    Web Application                                      Mobile Application
    Leverages services of powerful application servers   Limited services
    Fast processing                                      Relatively slow processing
    Multiuser support                                    No support for multiple users
    Built-in security mechanisms                         Not highly secure
    Enough working (RAM) memory                          Limited working (RAM) memory
    Matured optimization techniques                      Optimization techniques are not standardized
Slide 9




Business Layer
Design Guidelines
   Avoid long running requests that stop user operations.        Leverage the permission model that is used by the device
    Handle them gracefully.                                        operating systems.

   Do not cache heavy data in the business layer.                Use the least privilege model for system access.

   Provide additional validation instead of relying on the       Use correct computing algorithms. If the application does
    one provided by the presentation layer.                        not handle critical data, approximations can be done. This
                                                                   will save extra processing that is required for data
   Optimize network requests by making fewer HTTP                 accuracy.
    requests and thereby reduce network usage.
                                                                  Avoid heavy loops as much as possible.
   Minimize polling operations, for example, schedulers
    running periodically.                                         Achieve a balance between server and mobile side
                                                                   processing to avoid heavy processing on the mobile and
   Prioritize network requests so that more important             still have minimum impact on the user experience.
    requests are made with inferior network connectivity.
                                                                  Leverage SSL (Secure Socket Layer) for better security.
   Combine multiple requests at the application level to
    reduce network usage as against when multiple
    requests are made.

   Use power manager APIs to check the battery status
    and then take processing decisions intelligently. It can
    also be used to check the battery status before
    executing heavy UI operations.
Slide 10




Mobile Ecosystem and Local Services Layer (Contd..)
•    The local services layer provides services to the business layer.
•    The service includes calls to the mobile ecosystem and local data store. The data store needs to
     be used diligently.
•    Using the local data store has advantages over network round-trip because it has numerous
     benefits in terms of better user experience.
•    Native calls can be utilized to get more information from the operating system, which includes
     information such as the battery status.
•     The data synchronization agent periodically synchronizes the locally cached data to the server.

    Web Application                                    Mobile Application
    Huge data storing capacity                         Data storage is limited
    Data is secure                                     Data is relatively insecure
    No data loss                                       Possibility of data loss
    Numerous data types are available                  Restricted data types are available
    Data isolation can be easily managed               Requires more efforts for data isolation
    Data access is restricted                          Data access is open to any user of the mobile
Slide 11




Mobile Ecosystem and Local Services Layer
Design Guidelines
   Store data locally and synchronize periodically with the      Understand data formats and map them correctly to
    server to compensate for any loss of data from the             those available on the local data storage.
    mobile. Consider batch operation while you synchronize
    data.                                                         Choose data formats correctly to avoid extra processing.

   Replicate local data to the server only if necessary.         Other applications on a mobile can get easy access to
                                                                   files that are stored on the system. Take adequate care to
   Store sensitive data in encrypted format to avoid being        secure this access and do not store any sensitive
    read my malicious software.                                    information on the file system.

   Use local data for requirements such as storing user          Follow general guidelines to avoid database data
    preferences as opposed to storing any sensitive data           injection.
    such as passwords.
                                                                  The operating system may allow application to run in
   Tune the database to increase the performance.                 background or pause or even shutdown. These events
                                                                   need to be respected in advance.
Slide 12




Conclusion
The concept of mobile applications is a new wave of technology. It’s just the beginning.
There is still a long way to go. We must recognize that the IT industry has matured to a
great extent and that research in various areas of IT will definitely benefit the
development of mobile applications.

This document does not contain a complete list of all issues related to the development
of mobile applications. It only provides important guidelines that are useful in designing
better mobile applications.
Slide 13




About Cross Country Infotech
Cross Country Infotech (CCI) Pvt. Ltd. is a part of the Cross Country Healthcare (NYSE:
CCRN) group of companies. CCI specializes in providing a gamut of IT/ITES services and is
well equipped with technical expertise to provide smarter solutions to its customers.
Some of our cutting-edge technology offerings include Mobile, Web and BI Application
Development; ECM and Informix 4GL Solutions; and Technical Documentation, UI
Design and Testing services.
Slide 14




Thank You!

More Related Content

What's hot

Worklight nitin nm
Worklight nitin nmWorklight nitin nm
Worklight nitin nm
Nitin Gaur
 
IBM Presentation for Mobile Developer Summit India
IBM Presentation for Mobile Developer Summit IndiaIBM Presentation for Mobile Developer Summit India
IBM Presentation for Mobile Developer Summit India
Leigh Williamson
 
Engaging Mobile Apps with IBM® Social Business Solutions and IBM Worklight
Engaging Mobile Apps with IBM® Social Business Solutions and IBM WorklightEngaging Mobile Apps with IBM® Social Business Solutions and IBM Worklight
Engaging Mobile Apps with IBM® Social Business Solutions and IBM Worklight
Dirk Nicol
 
Creating Mobile Websites with Kentico CMS 7
Creating Mobile Websites with Kentico CMS 7Creating Mobile Websites with Kentico CMS 7
Creating Mobile Websites with Kentico CMS 7
Thomas Robbins
 
Mobile Endgeräte sind überall – deshalb das mobile Portal
Mobile Endgeräte sind überall – deshalb das mobile Portal Mobile Endgeräte sind überall – deshalb das mobile Portal
Mobile Endgeräte sind überall – deshalb das mobile Portal
IBM Lotus
 
Codestrong 2012 breakout session the role of cloud services in your next ge...
Codestrong 2012 breakout session   the role of cloud services in your next ge...Codestrong 2012 breakout session   the role of cloud services in your next ge...
Codestrong 2012 breakout session the role of cloud services in your next ge...
Axway Appcelerator
 
Zenprise ctia 10-11-2011_v02
Zenprise ctia 10-11-2011_v02Zenprise ctia 10-11-2011_v02
Zenprise ctia 10-11-2011_v02
Shafaq Abdullah
 
Zenprise ctia 10-11-2011_v02
Zenprise ctia 10-11-2011_v02Zenprise ctia 10-11-2011_v02
Zenprise ctia 10-11-2011_v02
Shafaq Abdullah
 
2 mobile development frameworks and tools dark temp
2   mobile development frameworks and tools dark temp2   mobile development frameworks and tools dark temp
2 mobile development frameworks and tools dark temp
Shahid Riaz
 
Mobile and IBM Worklight Best Practices
Mobile and IBM Worklight Best PracticesMobile and IBM Worklight Best Practices
Mobile and IBM Worklight Best Practices
Andrew Ferrier
 
Mobile Applications Architecture - GDG Ternopil' Architecture Components Meetup
Mobile Applications Architecture - GDG Ternopil' Architecture Components MeetupMobile Applications Architecture - GDG Ternopil' Architecture Components Meetup
Mobile Applications Architecture - GDG Ternopil' Architecture Components Meetup
Constantine Mars
 
IBM Mobile Strategy
IBM Mobile StrategyIBM Mobile Strategy
IBM Mobile Strategy
IBM Software India
 
Empower Employee to Work Anyplace, Amytime
Empower Employee to Work Anyplace, AmytimeEmpower Employee to Work Anyplace, Amytime
Empower Employee to Work Anyplace, Amytime
Advanced Logic Industries
 
Kentico Technical Learning - Responsive Design with Kentico CMS 7
Kentico Technical Learning - Responsive Design with Kentico CMS 7Kentico Technical Learning - Responsive Design with Kentico CMS 7
Kentico Technical Learning - Responsive Design with Kentico CMS 7
Thomas Robbins
 
Jerry Romanek series mobile development 2012 year end review
Jerry Romanek series   mobile development 2012 year end reviewJerry Romanek series   mobile development 2012 year end review
Jerry Romanek series mobile development 2012 year end review
Leigh Williamson
 
Worklight 5.0 Webinar 7 12 V2
Worklight 5.0 Webinar 7 12 V2Worklight 5.0 Webinar 7 12 V2
Worklight 5.0 Webinar 7 12 V2
gaborvodics
 
Ibm cognos mobile now with android support
Ibm cognos mobile now with android supportIbm cognos mobile now with android support
Ibm cognos mobile now with android support
Friedel Jonker
 
Onrego company presentation
Onrego company presentationOnrego company presentation
Onrego company presentation
Kimmo Vesajoki
 
A complete bi solution for the microsoft platform adam mor panorama
A complete bi solution for the microsoft platform adam mor panoramaA complete bi solution for the microsoft platform adam mor panorama
A complete bi solution for the microsoft platform adam mor panorama
Microsoft Singapore
 

What's hot (19)

Worklight nitin nm
Worklight nitin nmWorklight nitin nm
Worklight nitin nm
 
IBM Presentation for Mobile Developer Summit India
IBM Presentation for Mobile Developer Summit IndiaIBM Presentation for Mobile Developer Summit India
IBM Presentation for Mobile Developer Summit India
 
Engaging Mobile Apps with IBM® Social Business Solutions and IBM Worklight
Engaging Mobile Apps with IBM® Social Business Solutions and IBM WorklightEngaging Mobile Apps with IBM® Social Business Solutions and IBM Worklight
Engaging Mobile Apps with IBM® Social Business Solutions and IBM Worklight
 
Creating Mobile Websites with Kentico CMS 7
Creating Mobile Websites with Kentico CMS 7Creating Mobile Websites with Kentico CMS 7
Creating Mobile Websites with Kentico CMS 7
 
Mobile Endgeräte sind überall – deshalb das mobile Portal
Mobile Endgeräte sind überall – deshalb das mobile Portal Mobile Endgeräte sind überall – deshalb das mobile Portal
Mobile Endgeräte sind überall – deshalb das mobile Portal
 
Codestrong 2012 breakout session the role of cloud services in your next ge...
Codestrong 2012 breakout session   the role of cloud services in your next ge...Codestrong 2012 breakout session   the role of cloud services in your next ge...
Codestrong 2012 breakout session the role of cloud services in your next ge...
 
Zenprise ctia 10-11-2011_v02
Zenprise ctia 10-11-2011_v02Zenprise ctia 10-11-2011_v02
Zenprise ctia 10-11-2011_v02
 
Zenprise ctia 10-11-2011_v02
Zenprise ctia 10-11-2011_v02Zenprise ctia 10-11-2011_v02
Zenprise ctia 10-11-2011_v02
 
2 mobile development frameworks and tools dark temp
2   mobile development frameworks and tools dark temp2   mobile development frameworks and tools dark temp
2 mobile development frameworks and tools dark temp
 
Mobile and IBM Worklight Best Practices
Mobile and IBM Worklight Best PracticesMobile and IBM Worklight Best Practices
Mobile and IBM Worklight Best Practices
 
Mobile Applications Architecture - GDG Ternopil' Architecture Components Meetup
Mobile Applications Architecture - GDG Ternopil' Architecture Components MeetupMobile Applications Architecture - GDG Ternopil' Architecture Components Meetup
Mobile Applications Architecture - GDG Ternopil' Architecture Components Meetup
 
IBM Mobile Strategy
IBM Mobile StrategyIBM Mobile Strategy
IBM Mobile Strategy
 
Empower Employee to Work Anyplace, Amytime
Empower Employee to Work Anyplace, AmytimeEmpower Employee to Work Anyplace, Amytime
Empower Employee to Work Anyplace, Amytime
 
Kentico Technical Learning - Responsive Design with Kentico CMS 7
Kentico Technical Learning - Responsive Design with Kentico CMS 7Kentico Technical Learning - Responsive Design with Kentico CMS 7
Kentico Technical Learning - Responsive Design with Kentico CMS 7
 
Jerry Romanek series mobile development 2012 year end review
Jerry Romanek series   mobile development 2012 year end reviewJerry Romanek series   mobile development 2012 year end review
Jerry Romanek series mobile development 2012 year end review
 
Worklight 5.0 Webinar 7 12 V2
Worklight 5.0 Webinar 7 12 V2Worklight 5.0 Webinar 7 12 V2
Worklight 5.0 Webinar 7 12 V2
 
Ibm cognos mobile now with android support
Ibm cognos mobile now with android supportIbm cognos mobile now with android support
Ibm cognos mobile now with android support
 
Onrego company presentation
Onrego company presentationOnrego company presentation
Onrego company presentation
 
A complete bi solution for the microsoft platform adam mor panorama
A complete bi solution for the microsoft platform adam mor panoramaA complete bi solution for the microsoft platform adam mor panorama
A complete bi solution for the microsoft platform adam mor panorama
 

Viewers also liked

UNDERSTANDING ENTERPRISE ARCHITECTURE FRAMEWORKS TRAINING WORKSHOP
UNDERSTANDING ENTERPRISE ARCHITECTURE FRAMEWORKS TRAINING WORKSHOPUNDERSTANDING ENTERPRISE ARCHITECTURE FRAMEWORKS TRAINING WORKSHOP
UNDERSTANDING ENTERPRISE ARCHITECTURE FRAMEWORKS TRAINING WORKSHOP
Amit Midha
 
UNDERSTANDING ENTERPRISE ARCHITECTURE FRAMEWORKS TRAINING WORKSHOP
UNDERSTANDING ENTERPRISE ARCHITECTURE FRAMEWORKS TRAINING WORKSHOPUNDERSTANDING ENTERPRISE ARCHITECTURE FRAMEWORKS TRAINING WORKSHOP
UNDERSTANDING ENTERPRISE ARCHITECTURE FRAMEWORKS TRAINING WORKSHOP
Amit Midha
 
UNDERSTANDING ENTERPRISE ARCHITECTURE CONCEPTS AND MODELING -TRAINING WORKSHOP
UNDERSTANDING ENTERPRISE ARCHITECTURE CONCEPTS AND MODELING -TRAINING WORKSHOPUNDERSTANDING ENTERPRISE ARCHITECTURE CONCEPTS AND MODELING -TRAINING WORKSHOP
UNDERSTANDING ENTERPRISE ARCHITECTURE CONCEPTS AND MODELING -TRAINING WORKSHOP
Amit Midha
 
Software architecture with SOA modeling Flavor
Software architecture with SOA modeling FlavorSoftware architecture with SOA modeling Flavor
Software architecture with SOA modeling Flavor
Mohamed Zakarya Abdelgawad
 
Architecture and Practices on Cloud Interoperability and Portability
Architecture and Practices on Cloud Interoperability and PortabilityArchitecture and Practices on Cloud Interoperability and Portability
Architecture and Practices on Cloud Interoperability and Portability
Thomas Lee
 
A summary of software architecture guide
A summary of software architecture guideA summary of software architecture guide
A summary of software architecture guide
Triet Ho
 
Five Domains of Educational Technology
Five Domains of Educational TechnologyFive Domains of Educational Technology
Five Domains of Educational Technology
eduardo ardales
 
Introduction to Enterprise Architecture
Introduction to Enterprise Architecture Introduction to Enterprise Architecture
Introduction to Enterprise Architecture
Leo Shuster
 

Viewers also liked (8)

UNDERSTANDING ENTERPRISE ARCHITECTURE FRAMEWORKS TRAINING WORKSHOP
UNDERSTANDING ENTERPRISE ARCHITECTURE FRAMEWORKS TRAINING WORKSHOPUNDERSTANDING ENTERPRISE ARCHITECTURE FRAMEWORKS TRAINING WORKSHOP
UNDERSTANDING ENTERPRISE ARCHITECTURE FRAMEWORKS TRAINING WORKSHOP
 
UNDERSTANDING ENTERPRISE ARCHITECTURE FRAMEWORKS TRAINING WORKSHOP
UNDERSTANDING ENTERPRISE ARCHITECTURE FRAMEWORKS TRAINING WORKSHOPUNDERSTANDING ENTERPRISE ARCHITECTURE FRAMEWORKS TRAINING WORKSHOP
UNDERSTANDING ENTERPRISE ARCHITECTURE FRAMEWORKS TRAINING WORKSHOP
 
UNDERSTANDING ENTERPRISE ARCHITECTURE CONCEPTS AND MODELING -TRAINING WORKSHOP
UNDERSTANDING ENTERPRISE ARCHITECTURE CONCEPTS AND MODELING -TRAINING WORKSHOPUNDERSTANDING ENTERPRISE ARCHITECTURE CONCEPTS AND MODELING -TRAINING WORKSHOP
UNDERSTANDING ENTERPRISE ARCHITECTURE CONCEPTS AND MODELING -TRAINING WORKSHOP
 
Software architecture with SOA modeling Flavor
Software architecture with SOA modeling FlavorSoftware architecture with SOA modeling Flavor
Software architecture with SOA modeling Flavor
 
Architecture and Practices on Cloud Interoperability and Portability
Architecture and Practices on Cloud Interoperability and PortabilityArchitecture and Practices on Cloud Interoperability and Portability
Architecture and Practices on Cloud Interoperability and Portability
 
A summary of software architecture guide
A summary of software architecture guideA summary of software architecture guide
A summary of software architecture guide
 
Five Domains of Educational Technology
Five Domains of Educational TechnologyFive Domains of Educational Technology
Five Domains of Educational Technology
 
Introduction to Enterprise Architecture
Introduction to Enterprise Architecture Introduction to Enterprise Architecture
Introduction to Enterprise Architecture
 

Similar to Designing Mobile Applications

Designing and Developing Custom Mobile Applications
Designing and Developing Custom Mobile ApplicationsDesigning and Developing Custom Mobile Applications
Designing and Developing Custom Mobile Applications
Dunn Solutions Group
 
Pulse 2013 Mobile Build and Connect presentation
Pulse 2013 Mobile Build and Connect presentationPulse 2013 Mobile Build and Connect presentation
Pulse 2013 Mobile Build and Connect presentation
Leigh Williamson
 
Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer Console
Matthew Perrins
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]
Sreeni Pamidala
 
Faster and more efficient processes by combining BPM and Mobile – yes we can!
Faster and more efficient processes by combining BPM and Mobile – yes we can!Faster and more efficient processes by combining BPM and Mobile – yes we can!
Faster and more efficient processes by combining BPM and Mobile – yes we can!
Sebastian Faulhaber
 
Convertigo Mobility Platform | Mobile Application Development for Enterprises...
Convertigo Mobility Platform | Mobile Application Development for Enterprises...Convertigo Mobility Platform | Mobile Application Development for Enterprises...
Convertigo Mobility Platform | Mobile Application Development for Enterprises...
Convertigo | MADP & MBaaS
 
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Vidyasagar Machupalli
 
iPad Apps for the Enterprise
iPad Apps for the EnterpriseiPad Apps for the Enterprise
iPad Apps for the Enterprise
Sukumar Jena
 
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
UX Antwerp Meetup
 
Enterprise Mobility with Sybase Unwired Platform
Enterprise Mobility with Sybase Unwired PlatformEnterprise Mobility with Sybase Unwired Platform
Enterprise Mobility with Sybase Unwired Platform
Infosys
 
PhoneGap Day - IBM, PhoneGap and the Enterprise
PhoneGap Day - IBM, PhoneGap and the EnterprisePhoneGap Day - IBM, PhoneGap and the Enterprise
PhoneGap Day - IBM, PhoneGap and the Enterprise
Bryce Curtis
 
Mobility Solutions - Development of Hybrid Mobile Applications with HTML
Mobility Solutions - Development of Hybrid Mobile Applications with HTMLMobility Solutions - Development of Hybrid Mobile Applications with HTML
Mobility Solutions - Development of Hybrid Mobile Applications with HTML
Mindteck (India) Limited
 
IBM MobileFirst Reference Architecture 1512 v3 2015
IBM MobileFirst Reference Architecture 1512 v3 2015IBM MobileFirst Reference Architecture 1512 v3 2015
IBM MobileFirst Reference Architecture 1512 v3 2015
Sreeni Pamidala
 
Digitally Record videos & Track Incidents on IPAD Application
Digitally Record videos & Track Incidents on IPAD ApplicationDigitally Record videos & Track Incidents on IPAD Application
Digitally Record videos & Track Incidents on IPAD Application
Mike Taylor
 
HTML5 Mobile Application Framework
HTML5 Mobile Application FrameworkHTML5 Mobile Application Framework
HTML5 Mobile Application Framework
Thanh Nguyen
 
Mikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivityMikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivity
Microsoft Windows Embedded
 
Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013
Magic Software
 
Embedded Systems.pdf
Embedded Systems.pdfEmbedded Systems.pdf
Embedded Systems.pdf
ruvabebe
 
RIA
RIARIA
Cloud & The Mobile Stack
Cloud & The Mobile StackCloud & The Mobile Stack
Cloud & The Mobile Stack
Subbu Ramanathan
 

Similar to Designing Mobile Applications (20)

Designing and Developing Custom Mobile Applications
Designing and Developing Custom Mobile ApplicationsDesigning and Developing Custom Mobile Applications
Designing and Developing Custom Mobile Applications
 
Pulse 2013 Mobile Build and Connect presentation
Pulse 2013 Mobile Build and Connect presentationPulse 2013 Mobile Build and Connect presentation
Pulse 2013 Mobile Build and Connect presentation
 
Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer Console
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]
 
Faster and more efficient processes by combining BPM and Mobile – yes we can!
Faster and more efficient processes by combining BPM and Mobile – yes we can!Faster and more efficient processes by combining BPM and Mobile – yes we can!
Faster and more efficient processes by combining BPM and Mobile – yes we can!
 
Convertigo Mobility Platform | Mobile Application Development for Enterprises...
Convertigo Mobility Platform | Mobile Application Development for Enterprises...Convertigo Mobility Platform | Mobile Application Development for Enterprises...
Convertigo Mobility Platform | Mobile Application Development for Enterprises...
 
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
 
iPad Apps for the Enterprise
iPad Apps for the EnterpriseiPad Apps for the Enterprise
iPad Apps for the Enterprise
 
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
 
Enterprise Mobility with Sybase Unwired Platform
Enterprise Mobility with Sybase Unwired PlatformEnterprise Mobility with Sybase Unwired Platform
Enterprise Mobility with Sybase Unwired Platform
 
PhoneGap Day - IBM, PhoneGap and the Enterprise
PhoneGap Day - IBM, PhoneGap and the EnterprisePhoneGap Day - IBM, PhoneGap and the Enterprise
PhoneGap Day - IBM, PhoneGap and the Enterprise
 
Mobility Solutions - Development of Hybrid Mobile Applications with HTML
Mobility Solutions - Development of Hybrid Mobile Applications with HTMLMobility Solutions - Development of Hybrid Mobile Applications with HTML
Mobility Solutions - Development of Hybrid Mobile Applications with HTML
 
IBM MobileFirst Reference Architecture 1512 v3 2015
IBM MobileFirst Reference Architecture 1512 v3 2015IBM MobileFirst Reference Architecture 1512 v3 2015
IBM MobileFirst Reference Architecture 1512 v3 2015
 
Digitally Record videos & Track Incidents on IPAD Application
Digitally Record videos & Track Incidents on IPAD ApplicationDigitally Record videos & Track Incidents on IPAD Application
Digitally Record videos & Track Incidents on IPAD Application
 
HTML5 Mobile Application Framework
HTML5 Mobile Application FrameworkHTML5 Mobile Application Framework
HTML5 Mobile Application Framework
 
Mikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivityMikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivity
 
Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013
 
Embedded Systems.pdf
Embedded Systems.pdfEmbedded Systems.pdf
Embedded Systems.pdf
 
RIA
RIARIA
RIA
 
Cloud & The Mobile Stack
Cloud & The Mobile StackCloud & The Mobile Stack
Cloud & The Mobile Stack
 

Recently uploaded

Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 

Recently uploaded (20)

Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 

Designing Mobile Applications

  • 1. Designing Mobile Applications Anand Naik Development Manager, Cross Country Infotech solutions@crosscountry.com
  • 2. Slide 2 Abstract This document discusses the architecture of typical mobile applications. It also provides a comparison between Web and mobile applications. Designers and Architects can benefit from the design guidelines presented in this document. The document does not discuss nontechnical issues, such as issues related to resources or development methodologies, which are faced during the development of mobile applications.
  • 3. Slide 3 Introduction • The development of mobile applications is not new. The concept is at least a decade old. However, in the recent past, it has grown at an enormous speed. • The upsurge of smart phones and mobile operating systems are some of the factors that drive this growth. In addition, the developer community is encouraged to see direct access to customers through various channels such as AppStore, marketplace, and other channels. • The software industry has matured to a great extent, but the area of mobile application development still opens up loads of issues. • Herds of Web application developers are jumping into mobile application development with the baggage of their Web development experience.
  • 4. Slide 4 What Are Mobile Applications? • Any software application that uses a mobile phone as a platform to execute specific tasks is called a mobile application. • Mobile applications can be native applications that are written by using device-based software tools. • They could be browser-based applications that use HTML, JavaScript, or cascading style sheets or they could be SMS-based applications. • Mobile applications differ from Web-based applications in various aspects, a development team needs to consider these differences while making design decisions. • The addition of mobility requires considering various factors, which include network connectivity, device capabilities, power supply, wide range of user interfaces, and numerous platforms.
  • 5. Slide 5 Mobile Application Architecture and Design Mobile User UI Components Event Handlers Presentation Business Layer Controller Native Business Service Business Controller Orchestration Adapters Layers Native Data Access Adapter Controller Local Services Native Data Access API Adapter Native OS Mobile Ecosystem Local Data Storage/Cache Services Deployed on Application Server
  • 6. Slide 6 Presentation Layer (Contd...) • The presentation layer primarily has two main components—the UI components and the event handlers. • The UI components are visible to the mobile user, for example, a text box. • The UI components generate events when acted upon by the user. • These events are caught by the event handlers for further processing. The design of the presentation layer is important for a rich user experience. Web Application Mobile Application Fixed layout orientation Portrait or landscape layouts Fixed set of resolutions/screen sizes Variety of resolutions and screen sizes No local caching Local caching Enough real estate available Limited amount of real estate Standard input methods New & cumbersome input methods Consistent network availability with enough bandwidth Inconsistent network availability with limited bandwidth SSL and encryption support Some old devices may have issues Continuous power supply Uses battery power
  • 7. Slide 7 Presentation Layer Design Guidelines  If your application needs to be portable across devices, it  Consider designing for touch screen and stylus-enabled devices. should use platform-independent technologies such as Titanium and PhoneGap.  Keep the rendering logic separate from the business logic.  Design your application to fit the portrait and the landscape  Validate the input and handle validation errors correctly. layout.  Avoid using references to external resources such as images  The real estate available on the mobile has a direct relation because it makes a network call and thereby consumes network with user experience. Design your applications to use this bandwidth. scarce resource. Decide the target resolutions and operating systems and fit the layout accordingly.  Because complete URLs are not usually visible, it makes a phisher’s life easy. The application should attempt to use small  Use consistent and simple navigation. Do not make it overly URLs that are completely visible. complex.  On screen keyboard used for input reduces the real estate  Use local caching as a mechanism to improve user available, limiting the visibility of the screen. UI design should experience. Do not cache sensitive data in unencrypted take care of this. format. Do not rely on the cached data to a great extent.  Navigation varies depending on the device for example iPhone  Use exceptions carefully. Differentiate between exceptions has only one physical button for navigation while in android, back and take appropriate actions. button and context menu makes it easier to navigate.  The mobile keyboard is not as easy to operate as a desktop  Avoid using heavy media files to conserve battery power. keyboard. Your UI design should allow users to enter minimum amount of data.
  • 8. Slide 8 Business Layer (Contd..) • The business layer contains the Business Layer Controller, Business Layer Orchestration, Native Controller, and the Service Adapter. • The Business Layer Controller provides an interface to the presentation layer to interact with the business logic. • The Business Layer Orchestration carries out various business operations, such as getting information from the mobile ecosystem through the Native Controller, getting local data through the Data Access Controller, and calling external service by using the Service Adapter. • The Native Controller manages calls to Native APIs that are used to get data from the mobile ecosystem. The Data Access Controller uses the data access adapter to connect to the data store. Web Application Mobile Application Leverages services of powerful application servers Limited services Fast processing Relatively slow processing Multiuser support No support for multiple users Built-in security mechanisms Not highly secure Enough working (RAM) memory Limited working (RAM) memory Matured optimization techniques Optimization techniques are not standardized
  • 9. Slide 9 Business Layer Design Guidelines  Avoid long running requests that stop user operations.  Leverage the permission model that is used by the device Handle them gracefully. operating systems.  Do not cache heavy data in the business layer.  Use the least privilege model for system access.  Provide additional validation instead of relying on the  Use correct computing algorithms. If the application does one provided by the presentation layer. not handle critical data, approximations can be done. This will save extra processing that is required for data  Optimize network requests by making fewer HTTP accuracy. requests and thereby reduce network usage.  Avoid heavy loops as much as possible.  Minimize polling operations, for example, schedulers running periodically.  Achieve a balance between server and mobile side processing to avoid heavy processing on the mobile and  Prioritize network requests so that more important still have minimum impact on the user experience. requests are made with inferior network connectivity.  Leverage SSL (Secure Socket Layer) for better security.  Combine multiple requests at the application level to reduce network usage as against when multiple requests are made.  Use power manager APIs to check the battery status and then take processing decisions intelligently. It can also be used to check the battery status before executing heavy UI operations.
  • 10. Slide 10 Mobile Ecosystem and Local Services Layer (Contd..) • The local services layer provides services to the business layer. • The service includes calls to the mobile ecosystem and local data store. The data store needs to be used diligently. • Using the local data store has advantages over network round-trip because it has numerous benefits in terms of better user experience. • Native calls can be utilized to get more information from the operating system, which includes information such as the battery status. • The data synchronization agent periodically synchronizes the locally cached data to the server. Web Application Mobile Application Huge data storing capacity Data storage is limited Data is secure Data is relatively insecure No data loss Possibility of data loss Numerous data types are available Restricted data types are available Data isolation can be easily managed Requires more efforts for data isolation Data access is restricted Data access is open to any user of the mobile
  • 11. Slide 11 Mobile Ecosystem and Local Services Layer Design Guidelines  Store data locally and synchronize periodically with the  Understand data formats and map them correctly to server to compensate for any loss of data from the those available on the local data storage. mobile. Consider batch operation while you synchronize data.  Choose data formats correctly to avoid extra processing.  Replicate local data to the server only if necessary.  Other applications on a mobile can get easy access to files that are stored on the system. Take adequate care to  Store sensitive data in encrypted format to avoid being secure this access and do not store any sensitive read my malicious software. information on the file system.  Use local data for requirements such as storing user  Follow general guidelines to avoid database data preferences as opposed to storing any sensitive data injection. such as passwords.  The operating system may allow application to run in  Tune the database to increase the performance. background or pause or even shutdown. These events need to be respected in advance.
  • 12. Slide 12 Conclusion The concept of mobile applications is a new wave of technology. It’s just the beginning. There is still a long way to go. We must recognize that the IT industry has matured to a great extent and that research in various areas of IT will definitely benefit the development of mobile applications. This document does not contain a complete list of all issues related to the development of mobile applications. It only provides important guidelines that are useful in designing better mobile applications.
  • 13. Slide 13 About Cross Country Infotech Cross Country Infotech (CCI) Pvt. Ltd. is a part of the Cross Country Healthcare (NYSE: CCRN) group of companies. CCI specializes in providing a gamut of IT/ITES services and is well equipped with technical expertise to provide smarter solutions to its customers. Some of our cutting-edge technology offerings include Mobile, Web and BI Application Development; ECM and Informix 4GL Solutions; and Technical Documentation, UI Design and Testing services.