Starting
with a Big Idea
Introducing a mobile app startup is the “I would like to make an
Internet startup” of 1990s. The only divergence is, this era, there is no fizz
coming up to explode.
A 17-year-old kid developed a mobile app (Summly) and sold it to
Yahoo for a reported $30 million. Then, Snapchat was offered $3 billion by
Facebook , which it declined, for reasons only they would be acquainted with.
The point is, deals like these generate hopes for many people who wish
to run their own mobile app business and commence themselves as a private industrialist.
For individuals who are devoted to jump on the mobile app startup
bandwagon but are ravenous for ideas, we have got information for you.
Let’s begin with the awful news: many people are craving for the erroneous ideas
to help their start up. The good news is, what we actually need are problems,
and they’re everywhere! Run after problems and not ideas.
Flourishing entrepreneurs unravel problems and in a way that we could
not have predicted. When we look around us, every product and services we use
were all created to solve a problem. We wanted to get from one place to another
faster, we got a car. We wanted to go from one country to another faster, we
got planes.
Should we in that case look for problems that solve the native
problems. So below are a few ways that can get you started looking for problems
to solve.
Better an
existing problem
Many startups were not the earliest in their domains. Take Google
for example. Many admired search engines existed – AltaVista, Yahoo, etc – and
in no way we thought we would move away from all of them at once.
Google simplified search for people when all the other search
engines got missing in integrating news, weather, sports, features, and
everything else under the sun on their home page. So, look at accessible
businesses in the areas that concern us and see how we can better solve the
problem for clients.
Adapt
existing solutions to problems in your country
Many ventures survive which effectively do the similar thing, but
with localization. For example, SnapDeal is a Groupon clone in India with
localized content and features. Google’s clone Baidu is extremely successful in
China. And Singapore has its very own Pinterest clone called Singterest.
Recognize some of the victorious startups in other countries, see
how they are solving problems in their countries and adjust that to your
country based on the local traditions and problems that locals face. Germany’s
Samwer Brothers built a fortune doing this.
Apply
existing solutions to your industry
Think Linkedin – social networking formation modified to the
business industry. Think Airbnb – a popular hotel search and booking concept
adapted to the bed and breakfast business. There are many businesses that can
be adapted to a functional area, a space that you understand best and one that
interests you. Look for trendy concepts with the aim that can be adapted to
your industry.
Seek and
address existing pain points
Every business vertical has issues that will sort from areas in
marketing, customer attainment, customer service, sales, operations and others.
Select the industries that you categorize
finest with and would be ardent about working with them. Then, talk to a wide
range of professionals from that industry to understand what problems they are
facing in their jobs.
Note down all the information down in an excel sheet and then
begin to narrow down into the most common problems faced by people and choose
the area that excites you enough like marketing, sales, operations, etc
So, you’ve identified a problem that you would love to work with.
Is that enough to launch you into successful business? The answer is no. You
now need to focus on the ‘how’. How you solve a problem then becomes a far more
important factor in your mobile app startup’s success.
Statement
of Purpose:
Mobile apps are now essential part of almost every business,
irrespective of their size and industry. Numerous undersized industries too
have profited from developing mobile apps. Whereas most small businesses have
their own Website, it is certainly more profitable for them to also develop a
mobile app.
Here are reasons why you should develop a mobile app for your
small business:
Apps as a
Promotional Tool
While a Website is a vital tool for you to promote your products
and services and acts as a one-stop shop for your users, the number of mobile
users is ever-increasing. Most of these mobile users also access the Internet
on their smart phones and other mobile devices. Today, everything including
commerce, trading and payment is handled on mobile. That being the case, mobile
apps have proved to be the very future of computing. Developing a mobile app
and promoting it among your users is hence extremely beneficial to further your
business.
Earning
with Your App
Many small industries try to avoid developing apps for their
business, as they fear that the costs of app development would go beyond their
budget. While it is factual that mobile app development can turn out to be an costly
affair, it does not always need to be the case. Going in for a basic app,
avoiding the needless add-ons, will take down your costs. You can also lessen
the costs by preparing your app well in advance of the genuine route of
development; designing your own logo, images and app content. Once the ground
work is ready, you can take into service a professional app developer to create
your app.
Once your app has been developed, you can undergo of making money
on it by using the various app monetizing techniques offered to you, such as
in-app advertising and so on.
Reaching
Many More Customers
Developing an app for your business helps you reach many more clients,
than with a traditional Website. Mobile search has turn out to be very popular
today, particularly with the younger generation. While your current clients
could spread the word by talking about you to their friends and associates, new
users could find you via a generic search. Moreover, integrating major social
networks with your app furthers the scope and reach of your business.
Showcasing
Your Products and Services
You can use your app as a tool to platform your products and
services. End-users visiting your app would then have immediate, one-stop
access to you. You can keep updating your app, to feature different new
products every once in a way. Offering users exciting offers and discounts
encourages them to visit you more often.
Partnering
with Other Services
Getting into partnerships with new similar companies helps you to
take undue credit on their success, in that way bringing more clients for you.
You may perhaps chalk out a list of other companies locally and team up with
them to form a sort of mobile ad exchange program among yourselves. This proves
to be favorable to both companies concerned, leading to joint benefit and augmented
profits.
In
Conclusion
With the telecom sector booming like it is right now, it is most prudent
for any and every business to develop mobile apps to promote their product and
services. Mobile phone is definitely the way all communication is headed today
and so, implementing this technology is assured
to produce the right results for your business.
Proposal
Research and Concept Drawing:
Mobile website features:
• Complete
mobile app / website design
• GPS
Directions that give your customers turn-by-turn GPS directions to your
business from anywhere in the world
• GPS
Coupon feature creates mobile coupons for customers to unlock by “checking in”
at your business
• One
Touch Calling from inside your app. No numbers to save or remember
• Tell-A-Friend
feature lets your customers take your business viral with built in sharing
capabilities over Email, SMS, Facebook and Twitter
• Menu
Conversion feature allows for easy to navigate optimized mobile menu(s).
Integrate any information you would like to about your business including (list
business services service a, service b and service c)
• A
Point of Interest displays any points of interest on a map
• Event
Listings feature allows you to include all of your businesses events on the go
• Contact
Information allows you to give customers multiple ways to contact your business
• Email
Photo feature allows customers to take or send a photo and email it directly to
your business
• Native
Image Gallery allows you to display images of your business in a beautiful
image gallery optimized for iPhone and Android
• Set up
a fan wall for your customers to leave feedback on your business. Manage the
comments online
• Push
notifications send messages to your customers whenever you’d like using our
easy to use CMS
• Flexible
Counter allows for your customers to count items related to your business and
have them email the results to you
• Mailing
List feature allows you to stay in contact with your customers by gathering
names and e-mail directly inside your app
Optional additional features:
• Tip
Calculator feature to help customers quickly calculate a tip
• QR
Coupons feature allows customers to redeem coupons at your business by scanning
a specified QR code
• Mortgage
Calculator feature where you can preset an interest rate
• Blog
integration integrates your RSS feed to allow your users to quickly and easily
read your blog posts
• Facebook,
Twitter, LinkedIn, and/or Myspace integration to connect with your customers
through their favorite social media sites
• MyEmma,
Campaign Monitor, Constant Contact, Get Response, iContact, or MailChimp
integration all easily allows you to import contacts gathered from your mobile
app into your email marketing campaign service
• OpenTable
integration allows you to use your mobile app for on the go restaurant
reservations
• Podcast
integration allows your users to listen on the go from their favorite mobile
device
• SoundCloud
integration allows users to listen to any audio file online on their mobile
device
• Shopping
Cart feature allows you to add and sell items through your mobile app via
PayPal or Google Check out
• Notepad
feature allows users to record text notes and email them to anyone at anytime
• Voice
Recorder feature allows users to record voice notes and email them to anyone at
anytime
• AdMob
(Mobile Ads Feature) easily integrates ads into your app using the best mobile
ad providers available
• Flickr
or Picasa integration displays images of your business directly from your
Flickr or Picasa photo account
• WuFoo
integration allows you to easily create an appointment, order, feedback or
contact form
• YouTube
integration allows you to display hundreds of videos from your YouTube channel
Creating
Wireframe Sketches:
A wireframe sketch is the initial hand-drawn design process, using
paper and pen/pencil, of what a website design will look like. And to help you
get inspiration as well as effective reference points, this article features 20
impressive web and mobile wireframe sketches.
But first, you might be wondering why you should create a
wireframe sketch of your web design. A wireframe sketch is effective in that:
• You can capture your creative spark and fluidly sketch out your
design.
• You can work with your client without committing anything to
code, thus saving yourself time and number of actual design revisions.
• You get a relatively quick sample that you can show the client
and then work off of – think of is as an outline to an essay.
Basically, creating a wireframe sketch saves you time by reducing
the number of revisions you’d need to do, and it helps you stay on track with
your design by being a prototype you can work off of.
Balancing
Cost And Value For Mobile App Development
In any mobile app development effort, there needs to be a balance
between development cost and a return on the invested effort. In the world of
enterprise mobility, an important part of evaluating an app development project
is understanding the upfront costs and making a case for the business benefit
that app will deliver. Although these calculations are often difficult to make
in the enterprise, nowhere is this better recognized than in the world of
consumer apps.
Between the Apple App Store and Google Play, there are
approximately one million consumer apps available for download by users of the two
most popular smart phone OS platforms. Survey data presented by Intel at a
recent Intel Developer Forum states that 63 percent of consumer mobile apps
earn less than $5,000 per month in revenue. A full third of the apps only earn
between $100 and $500 per month. And 76 percent of users who download an app
stop using it after three months. Based on this data, it is safe to say the
vast majority of consumer apps never come close to earning back their
development costs.
Obviously no business can afford to approach their mobile app
development based on these averages. If they did, very few mobile business apps
would ever get built. However the calculation for business apps differs from
consumer apps in these ways:
For most business apps, “earnings” equate more to the financial
benefits derived from greater productivity and efficiency delivered through a
mobilized business process;
Most business apps can expect
to be in use for considerably longer than three months.
Knowing these details, many business leaders have already designed
and deployed mobile apps inside their organizations after assessing where they
could get the best 'bang for their buck'.
Mobile
Application Testing
Device and platform diversity, short release cycles, lack of mature testing tools and the variety
of network connectivity options result in frequent cost overruns and missed deadlines in today’ s mobile
application testing environment. A
comprehensive mobile testing strategy that
includes device and network infrastructure, optimized selection of
target devices, and an effective
combination of manual and automated testing tools to cover both functional and non-functional
testing is essential for getting your
mobile applications to market on time
and within budget.
Effective
mobile testing strategy and suggest ways to
optimize testing of mobile applications.
The Challenge of Testing Applications
The number and variety of consumer and enterprise mobile
applications has grown exponentially over
the last few years. Organizations need to ensure that every
application meets a high quality bar in order
to prevent revenue loss, lost productivity and damage to brand
reputation.
Testing mobile applications is different and more complex than
testing traditional desktop and web
applications. Mobile applications need to be tested on a variety
of software platforms and versions, on
diverse hardware and form factors, and under different network
connectivity conditions. Moreover , the
rapid pace of mobile OS updates, the frequent introduction of new
devices and the customer expectation of quick upgrades require additional test
cycles. A comprehensive mobile application testing strategy is essential for
getting your applications to market
on time and within budget.
Key elements to consider
for effectively testing applications are –
Target
Device Selection – Create an optimal mix of simulator testing
and physical device testing on
different models to maximize test coverage.
Test
Automation – Select an effective test automation tool and maximize the use
of automation to
reduce the cost of regression testing.
Network
Environment – Consider testing primarily on Wi-Fi networks and using network
simulation
tools to simulate cellular connectivity and various network
conditions.
Types of
Testing – Consider different types of testing required (functional,
performance, security, and
compliance)
The challenge of mobile application testing can be effectively
addressed by a test strategy that combines
these elements with traditional best practices and processes for
testing.
Smartphone applications have experienced explosive growth since
2007. The combined number of
applications in the Apple App Store and Google Play already
exceeds a billion. Additionally, every major
enterprise is rapidly adding applications for internal use.
With so many applications competing for users’ attention, meeting
a high quality bar is essential for the
success of an app. Poor-quality applications not only hamper user
adoption but also can cause revenue
loss and irreparable brand damage. Defective enterprise
applications can lead to lost productivity.
Why Mobile App Testing is Different
Testing mobile applications is more complex and time consuming
compared to traditional desktop and web applications.
The majority of desktop applications need to be tested on a single
dominant platform – Windows. The
lack of a similar dominant platform for mobile apps results in
many apps being developed for and tested
on Android, iOS and sometimes even more platforms.
The slow pace of OS updates on Android devices (see figure) and
the resulting OS fragmentation results in
the need to test apps on various versions of Android.
Unlike the desktop world, where PCs are established as
standardized reference hardware, the wide variety of device form factors (e.g. phones and
tablets of various screen size) adds another layer of complexity in testing mobile apps. Device diversity is an
especially acute problem for Android devices – even the official
Android device gallery includes over 60 devices of various screen
sizes, resolutions and form factors.
The ease of upgrading apps over the air combined with increased
user expectations about quicker
releases (both for bug fixes and new features) result in frequent
application releases. Adding multiple
major and minor OS updates on top of this, test teams are
continuously tasked with testing new app
features or recertifying the app against a new OS version.
Mobile apps operate in a unique environment where application
behavior can be affected by changes in
network conditions (bandwidth change, dropped connections), alerts
and notifications, as well as touch
screen responsiveness. This
unique environment requires additional testing to ensure acceptable app
behavior in real world conditions.
All these factors are responsible for the high cost of testing
mobile applications. We regularly hear
from customers that are trying to reduce the cost of mobile app testing
which sometimes exceed
development cost.
Dimensions
of Testing Mobile Apps
In order to understand the complexity of testing mobile apps, it is
important to understand various
aspects of an application that need to be tested. Some of these
aspects are specific to mobile applications
while others are applicable for testing any type of software.
The specific types of testing required for each application
depends on various factors such as:
The type of application (banking, gaming, social, or business)
T arget audience type (consumer, enterprise) and volume
Distribution channel (e.g. Apple App Store, Google Play, direct
distribution)
·
Aspect
·
Functionality
·
Performance
·
Network
·
Security
·
Compatibility
·
Conformance
·
Usability
·
Installation and Provisioning
·
Areas / Types of testing
·
User Interaction Testing
·
Transaction testing
·
UI responsiveness
·
Transaction completion time(s)
·
Peak load performance
·
Longevity
·
Network type (Wi-F i, 2G, 3G, 4G)
·
Impact of Connectivity Issues
·
Data Retention on device
·
Transmission Security
·
Mobile Platform Compatibility (e.g. iOS 6, iOS
5.1.1, iOS 5.1.1)
·
Device Model Compatibility
·
Backward compatibility (with previous app version)
·
Marketplace guidelines compliance (e.g. Apple
App Store policies)
·
Enterprise policy compliance (e.g. prohibited
content)
·
User Experience
·
Installation process
·
Un-installation process
·
User provisioning and de-provisioning
Application
Lifecycle and Testing
Mobile applications are upgraded frequently for a variety of
reasons –
Mobile users expect rapid feature upgrades and bug fixes
As more and more developers use agile development methodologies,
frequent releases with
incremental feature updates are becoming common
Applications are updated to take advantages of new versions of
mobile platforms (such as iOS or
Android)
Each application upgrade warrants an additional test cycle.
Moreover , additional test cycles are needed
when a new version of a mobile platform (such as iOS or Android)
is released to ensure application
compatibility. Similarly , additional test cycles are needed when
a new high profile device is introduced in
the market.
The scope of testing for each test cycle depends on the underlying
changes. Some minor changes may
require testing only key application functionality (often
called ‘ smoke test’ or ‘ sanity test’) while other
changes may require full regression testing and testing new
features.
Mobile
Test Tools Landscape
Effective testing tools are essential for addressing the
challenges and complexities of mobile application
testing.
Remote Access Solutions for Manual Testing
In the pre-smartphone era, it was important to test applications
on a large number of devices on major
operator networks. Vendors
addressed this need by providing a ‘
remote access’ (aka ‘ device cloud’)
solution that allowed testers to access devices hosted in various
data centers over the Internet through a
browser or client application.
These services were eventually extended to include smartphones. Users
typically pay for these services based on the duration of device
usage.
Today’ s Smartphone market is dominated by iOS and Android. Typical applications need to be tested on
5-7 iOS devices (iPhones and iPads with a mix of latest iOS
versions) and 10-15 Android devices (most
popular Android phones and tablets representing various Android
versions, screen sizes and resolutions).
Moreover , the majority of testing can be carried out on Wi-F i
networks rather than carrier’ s cellular
networks. T ools such as
WANem even allow simulation of cellular networks (including bandwidth
variations and packet drops) over a Wi-F i network.
The average hourly usage cost of remote access solutions is
$25-$30. With average iOS and Android
device costs of $500-$600, remote access solutions may not be cost
effective compared to testing with
live in-house devices.
Automation
Tools
Automation
tools for mobile application testing use one of two major technologies:
Object based tools(such as
Hy5 T est™ and Jamo Solutions) achieve automation by mapping
elements on the device screen into objects and manipulating
them. This approach is independent of
screen size or resolution and provides a high degree of script
reusability. This can be especially
important
for Android devices where variations in screen sizes and
resolutions are widespread. Some object-based
tools (e.g. Jamo Solutions) require changes to application source
code while others (e.g. Hy5 T est™)
do not require any source code changes.
Image based or bitmap based tools(such as Perfecto mobile and
DeviceAnywhere) create automation
scripts based on screen coordinates of elements. F or example,
tapping a button on the screen is achieved
by tapping the coordinates (e.g. x=35, y=40). While this approach is agnostic to the type
of application
(native, web, hybrid) and provides useful image matching
capabilities, it typically requires jailbroken or
rooted devices and scripts to be re-written for each device with a
different screen size or resolution (due
to change in coordinates). Jailbroken devices are typically
incompatible with enterprise MDM security
policies and hence tools that rely on jailbroken devices may not
be suitable for testing enterprise apps.
Some of the current automation tools are characterized by very
high initial investment and/or ineffective
ROI.
Unfortunately, none of the current tools provide a cross-platform,
cost effective test automation solution
that combines the benefit of all available automation
technologies.
Various elements of an effective mobile application testing
strategy are considered in this section.
Selecting
Target Devices
T arget devices for testing a mobile application should balance
the need to use a representative sample of
the expected device population with the need to optimize duration
and cost of testing.
Mobile Application Testing
Strategy
Jailbreak’ (iOS) or
‘rooting’ (‘ Android’) is the process of hacking into a device to
install and ex ecute applications prohibited by OS / device vendor.
Simulators vs. Physical Devices
Use of device simulators can be highly effective in the early
stages of product development when
features are under development. Simulators are useful to
familiarize the test team with various
application features.
Simulators can be effectively used for testing basic application
functionality. Testing on physical
devices is essential to understanding application behavior such as
touch response and user experience.
Stable, defect-free (based on simulator testing) features can then
be tested on physical devices. Device
usage can be optimized by distributing test cases across various
types of devices.
Note that this strategy requires that the test tools being used
support testing with simulators as well as
devices.
Device Model Selection
Key factors in deciding specific device models for testing are –
OS Version – Applications should be tested on all major OS
versions in the current installed base. F or
Android devices, OS distribution of various Android versions
provided by Google at
http://developer .android.com/about/dashboards/index.html can be
used to determine the mix of
Android versions to be targeted.
Device
Testing
·
(in-network)
·
Device T esting (On Wi-Fi
·
Networks + Network
·
Silmulation T ools)
·
Simulator T esting
·
n Recommended only for small subset of
network-dependent
use cases
·
Use for stable features
·
Distribute features across device models and
·
form factors
·
Important for UX Testing
·
Combine with WANem or similar tools for simulating network connectivity conditions
·
Ideal in development phase and for feature
demos
·
Suitable for Basic Functionality Testing
Display Density – The screen size and screen resolution of a
device (aka display density) can also affect
application user experience (e.g. look and feel of UI, rendering
of web pages). Device models selected
for testing should include a mix of different display densities.
A variety of other factors (keyboard, CPU type, memor y) can
affect specialized applications that rely on
specific device features and should be taken into account when
necessary.
Selecting specific iOS device models can be relatively easy due to
the small number of device models
available. A commonly used and effective method for selecting
Android test devices relies on selecting
the most popular devices based on market data and then adjusting
for the above parameters.
maintains a recommended list of target devices for testing that is
periodically updated based on market
changes. When testing enterprise applications, a user sur vey or
device model data from internal systems can be a good source of information to
determine the mix of target devices for testing.
Connectivity
Options
Almost all applications rely on network connectivity to provide
useful functionality. In test environments,
Wi-F i networks can be easy to set up and can be cost effective,
unlike cellular connectivity that can be
both unreliable and expensive.
Network simulation tools such as
WANem provide a cost effective and easy to use option to simulate
cellular networks using a WAN/Wi-Fi connection. These tools can be used to simulate various
network
speed/bandwidth options (2G, 3G, and 4G), connectivity issues, and
bandwidth variations.
On-location testing on specific cellular networks should be
considered only for specialized applications
that rely on carrier features such as free usage allowance or two
way SMS.
The following guidelines are recommended for automation of mobile
application testing –
Features that are expected to change in the near future
(especially in terms of UI flow) should be
avoided for automation.
Some test cases may be extremely expensive to automate due to
technical challenges or unique use
cases (e.g. handling real time data from multiple sources),
negating the benefits of automation. Such
test cases should be avoided for automation.
n Every possible test case should be automated unless it meets the
above criteria for avoiding
automation.
T o achieve the maximum benefit from automation, all automatable
test cases from a release should be
automated before the next release.
Key use
cases for automation in mobile application testing are –
·
Verifying application compatibility when a new
iOS, Android (or other applicable) OS version is
·
released
·
Verifying backward compatibility when the
application is upgraded
·
Selecting a Test Automation Tool
·
Criterion
·
Multi-Platform Support
·
Script Reusability
·
Jailbreak Requirement
·
Source Code Changes
·
Lead Time for New OS
·
version / Device
·
Areas / Types of testing
·
Consider your current and future target
platforms and ensure that the
·
tool can support them.
·
Object based tools such as Hy5 T est™ provide a high degree of
·
script reuse.
·
Image based tools generally have lower script
re-use resulting in
·
higher cost.
·
If the tool uses jailbroken or rooted devices,
it may not support latest
·
OS versions and may be incompatible with MDM
policies required for
·
enterprise apps.
·
Sharing source code may not be always possible
and changing the
·
source code increases the risk of missing some
defects.
·
How soon can the tool support new
iOS/Android/other OS versions?
·
Test Workflow
·
Results and Reports
·
Integration Capabilities
·
Deployment
·
Price
·
Service and Support
·
Areas / Types of testing
·
Does the tool provide an easy to use workflow?
·
Does the tool archive results and provide
reports?
·
Can the tool integrate/interoperate with other
test management/bug
·
tracking/build management systems?
·
What deployments options are available? Can it
be deployed inhouse/in a ‘ cloud model’?
·
How much does it cost?
·
What services (e.g. script development) and
support are offered?