Great App Ideas

Great App Ideas: Mobile Apps that Make the World a Better Place

Mobile apps target different audiences, have different functionalities, and purposes. But with how saturated the mobile app market is, the possibility of there being an app for everything is quite high. It’s quite a surprise sometimes when out of the blue, great mobile app ideas pop out of seemingly nowhere. How does one just come up with ideas like that (This post can give you a clue)? Most importantly, how do great app ideas turn into great instruments of a big change?

 

Great App Ideas for Promoting Social Responsibility

Beyond profit, an app developer should think of their users’ welfare. But what if the main goal of the app is to promote the welfare not only of its users but also the welfare of society? You earn some income from the app and you’re actually a socially responsible human being. Let’s take a look at how some app developers went about doing just that.

 

Apps for Getting Rid of Vices and Bad Habits

What if you find help in getting rid of a bad habit like chain smoking, overspending, and much more? And there’s more, not only will help balance your life, you can also help improve society. The premise is simple and the execution is mostly reward-based. Sometimes, the reward itself is seeing positive change in oneself.

Example: Get Rich or Die Smoking, Swear Jar, Forest

 

Apps that Help Companies Do Good

A lot of apps are now used as channels in which companies or organizations can give back to the community. The apps usually entail subsidized contributions or “donation matching”. These apps also team up with establishments wherein the app incentivize continued patronage, therefore promoting and increasing the business prospects of the establishments. In return, the app or the cause behind it receives a certain amount or item.

Examples: Check-in for Good, Tinbox, Flashfood

,

Apps that Enable People to Help in Their Own Way

Not everyone has the capability to donate money or even their efforts. Apps that enable users to contribute even something as simple as a message for someone are amazing self-worth enhancers. It gives users the validation that no matter their wealth, or health status they can also help others in need.

Examples: HTC Power to Give, Pet To Give, Donate a Photo for Charity

 

Apps that Facilitate Community Involvement

A lot of organizations ask for monetary donations or for volunteers to contribute some of their time and efforts. A lot of organization-backed apps enable this to happen but there’s also other ways to encourage donations and volunteerism without being affiliated with any charitable organizations or without any resources. There’s no need to monitor anything and just let the sense of community run the cause. The app just needs to facilitate crowdsourcing, organization, and communication.

Examples: LeftoverSwap, SeeClickFix, GoodSam Alerter

 

Apps that Make Helping Fun

You can gamify everything these days, even charitable causes. The gamification brings not only the factor of entertainment but also the factor social proof. If one as much as shares that they are supporting a cause financially, it would immediately appear conceited or “humble-braggy”. But with this gamification approach, the sharing of any contribution is an invitation to join with the consequence of being left out from the trend.

Examples: Charity Tap, Involver, Budge

 

Apps that Help the Environment

There seem to be lots of tree huggers in social media. But not everyone can easily access the wonders of nature. So why don’t you let these people contribute from the comfort of their own homes? Environmental apps can either educate or empower users to make a contribution. There are different approaches but most of the time organizations either plant a tree for every donation.

Examples: Dropcountr, JouleBug, Recology

 

Though the apps cited contribute to the betterment of society and in extension, the world, a lot of these apps appear inactive. Take the Leftover Swap app, for example, it did not gain traction and did not publish any updates for two years now. A lot of great app ideas like this become lost to obscurity all because of poor or flawed execution.

 

So even if your great mobile app ideas are already taken, there’s still a possibility that your execution of the idea is better. At the end of the day, the one that leaves a mark – makes a real change in society is a tool that moves many.

Mobile App Testing: The Basics Part 3 (Mobile App Testing Tools)

Mobile App Testing Tools

We previously discussed the nature of mobile app testing, common problems in the testing process, and testing strategies. Now, we’ll take a look at mobile app testing tools that can streamline the testing process. And since one of the best strategies you can use over time is to “automate whenever it is possible”, it is important that you don’t miss in automation tool selection.

 

Here we list five mobile app testing tools you can consider before you dive into testing your apps. Note that the basis for the inclusion of a tool in the list is the recommendations from other sources and that we don’t favor one over the other. And though not extensive, we hope that this list will be helpful for you.

 

Appium (Open Source, Cross-Platform)

Appium is a test automation framework that works for native, web-based, and hybrid apps. It also drives cross-platform apps through the WebDriver protocol. This means that you can create test cases with the use any WebDriver-compatible development languages and tools. Appium’s philosophy centers on the idea that app testing automation frameworks should let app testers use their preferred tools, test frameworks, and test practices.

 

BitBar Testdroid (Cloud-based)

This testing tool is available in either public or private cloud. It is a “mobile device farm” with an inventory of thousands of real mobile devices (Android and iOS) for manual and automated mobile app testing. These devices are accessible round the clock through the monitoring of distributed teams. That, and other services like quick delivery of test data, logs, screenshots, and videos are some of the reasons why this is the testing tool of choice of many payment providers.

 

TestFairy (Beta Testing Platform)

Testfairy removes one major problem with crowd testing – the guessing on what really went wrong. Testfairy’s solution is to provide a video of the exact test aside from the logs and crash reports. It also works on any development platform, whether native, web-based or hybrid. Another selling point is its compatibility with bug trackers like Bugzilla and Jira.

 

SIGOS (Cloud-based)

This is Keynote’s mobile testing solution. SIGOS boasts of the combination of powerful mobile app test automation features and total control on manual device tests. Testers can run exploratory tests from anywhere through the DeviceAnywhere cloud service. You can even test on newly-released devices using real mobile carrier and Wi-Fi networks.

 

Ranorex

Finally, Ranorex Studio offers to test for desktop, web, and mobile apps. It is a service marketed to both beginners and experts alike. At the forefront are easy to use automation tools that support many third party tools and frameworks. Features that stand out are the GUI object recognition, easy step by step setup and recording of daily tests, reusable code modules, and early bug detection.

Mobile App Testing Strategy

Mobile App Testing: The Basics Part 2

In the previous post, we discussed the basic definition and types of mobile app testing. Today’s post will focus on common problems and strategies in mobile app testing. As earlier stated, mobile app testing is a necessary process but it can also be tedious and tricky especially for those just starting out in app development. Some even skip this process entirely.

 

So aside from the issue of cost and time, there are other issues that an app developer can face in mobile app testing.

 

Common Problems in Mobile App Testing

  • Different mobile device types and sizes

    About hundreds of millions of mobile devices were sold in the past few years. Apple alone launched more or less 51 mobile devices. Meanwhile, there are hundreds of brands under Android’s wing. Each of these brands already launched from 1-250 devices of varying sizes. According to DeviceAtlas’ Q4 2016 data, device fragmentation is still a major problem, with different countries favoring different brands and screen sizes.

  • Mobile operating platforms/systems

    A lot of devices from the same brand run differing mobile OS. Sometimes, these devices run on different versions of the same mobile OS.

  • Mobile network operators

    Depending on the source of the data, there are about 400-800 mobile network operators around the world. Arguably, the number of the network operators is not the main problem but the network technologies and infrastructure they are using. For example, some countries only have limited LTE coverage or use obscure networking standards. Another main issue is the location of the network. In order to fully test a specific operator network, you should be in an area where the network has service.

  • App types (native, web, or hybrid)

    Different app types have different installation processes and functionality features to test, therefore, these apps are tested in different ways. Native apps are considered quite complex to test. A successful testing on one device doesn’t necessarily mean that the app will download, run, and successfully execute tasks on other devices. Web-based and hybrid apps are also not free of any testing problems.

  • Test method (emulator or real device)

    You have three options: test on real devices, emulators, or use both. All options have their own advantages, disadvantages, and limitations. For instance, testing on real devices can be costly, time-consuming, and somehow chaotic. Emulators, on the other hand, can’t really emulate all the characteristics of a real device, especially when it comes to real-time behaviors.

  • Testing tools

    It’s actually not difficult to look for mobile app testing automation tools. The problem is that there’s a lot of them. You need to consider if a particular tool is suited for the tests you want to conduct and if it is compatible with the device and OS you are testing for. These tools also use different test interfaces that are far from the real environment of the app.

 

Mobile App Testing Strategies

  • Emulator selection

    Do not discount the use of emulators. Emulators are actually quite useful and can save you a lot of time and money. You can select from three types of mobile app emulators:

    • Browser Emulators – emulates mobile browsers
    • Device Emulators – some device manufacturers provide their own emulators.
    • Mobile OS Emulators – the Android SDK has a device emulator. Apple and Microsoft also offer emulators for their respective devices.
  • Mobile device selection

    It’s almost impossible to test for all devices available, especially with Android devices. You need to find a middle ground and this can be achieved by closely analyzing your target market. Then Select the most widely used device in the region and start from there.

  • Automation approach

    Automate whenever it is possible or practical. This is to achieve consistent results. You can select from two types of automation tools: object-based testing tools and image-based testing tools. Object-based testing tools map the elements on a device’s screen identify them as objects. Image-based testing tools, on the other hand, use the device screen coordinates of elements to create automation scripts.

  • Implementation of beta testing

    Beta testing allows you to cheaply test an app in real-time using real users, different devices, and local mobile network operators.

  • Cloud testing as mobile app testing solution

    Cloud testing, especially device cloud can give you flexibility in performing real-time tests. You can conduct these tests remotely, no matter how complex and dissimilar the app you are testing.

  • Testing on supported mobile networks

    Lastly, you can use tools that mimic mobile network infrastructure in order to test in the app’s supported network. These tools can simulate varying network speeds, bandwidths, and other connectivity conditions.

 

Next week will be the last installment of the “Mobile App Testing” series. We will discuss various automation tools.

 

 

 

Mobile App Testing Basics

Mobile App Testing: The Basics Part 1

What is mobile app testing and why is it necessary?

Mobile app testing is a process that involves the evaluation of a mobile app’s usability, functionality, and consistency. There are different types of these tests that work for different mobile platforms, operating systems (and their different versions), devices (types and sizes), and networks (types and operators).

The results of these tests help mobile app developers quantify the app’s performance level. It also ensures that the app’s quality. A simple, overlooked mistake can cause not only monetary loss but also damage to a brand’s image.

 

Types of Mobile App Testing

 

Functional Testing

This is the test for the app’s functionality. The test mainly centers on the app’s UI and screen flow.

 

Usability Testing

This test aims to assess the user-friendliness and UI effectiveness. Usability Testing ensures the uniformity of user experience in all devices

 

Laboratory Testing

Usually, only network carriers perform this type of mobile app testing. The test’s main goal is to evaluate the app’s online functionality.

 

Performance Testing

This tests the situational performance of an app from both the side of the app’s server and the side of the client. The possible scenarios for testing include heavy server traffic, low device battery, low device memory, etc. The app’s behavior during these scenarios determines its performance level.

 

Load Testing

This test is related to performance but focusses on one issue: the app’s load time. If an app server can’t handle heavy traffic, the load time may slow down or the app can crash.

 

Memory Leakage Testing

Memory leakage happens when an app fails to “return” the memory it temporarily obtained from the mobile device. This can cause the slowdown of not only of the app but also of the system. If the app opens constantly or runs continuously, even the smallest memory leak can cause the app to crash.

A bug is more often than not the cause of memory leaks. That’s why it is important to test for these leaks while still in the development phase of the app.

 

Interrupt Testing

This is a test to determine if an app can handle common interruptions while it is running. These interruptions may include common device functions like voice calls, messaging, notifications, etc. There are also interruptions that can cause the app or even the device to terminate like battery removal, data transfer interruptions, system warnings, etc. Upon reopening, the app should be able to resume to the last state it was in before the interruption occurred.

 

Installation Testing

The app is installed and then uninstalled on different devices in order to ensure that the installation process goes without a hitch. This test also includes the process of updating the app.

 

Security Testing

Any data and network security vulnerabilities surface during this test. The app needs to pass the industry set security and user privacy standards.

 

Outdated Software Testing

This test aims to check if an app works on previous versions of the mobile operating system it is developed for.

 

How are these tests conducted?

You can conduct a mobile app test manually or with the use of automation tools. With manual testing, the tester acts as an end-user. The app is installed on different devices and the tester will conduct any desired tests in real time. But soon enough, device fragmentation becomes a problem. It’s impossible and impractical to test on all myriad of devices carrying different versions of different mobile operating systems. To make things easier, you can use emulators or simulators (we’ll discuss in the next posts).

But there are times where automated testing is more practical. Scenarios where automation is advisable includes:

  • Routine test cases. These are cases you often perform and has predictable results.
  • Test cases that are too tedious for manual testing.
  • The app is consistently growing
  • Outdated Software tests and other OS compatibility test cases

On the next post, we’ll be discussing common problems in mobile app testing and mobile app testing strategies.

Mobile Apps for Business are In Demand More than Ever

What Companies Think about Mobile Apps for Business

This is somewhat an update to a previous post about the benefits of mobile apps for business. To further emphasize the necessity of a mobile app, 61% of those surveyed by Adobe stated that companies that don’t have custom mobile apps for business are at a competitive disadvantage.

 

Respondents of the said survey include 1,500 company managers and/or administrative employees with departmental budget influence. These managers came from the China, Germany, India, the UK, and the USA – countries that are among the biggest app markets. Their companies are also from human relations and sales and marketing – departments where the use of mobile apps for business are most prevalent and relevant.

 

Key takeaways from the survey include the top three advantages of using mobile apps for business. 51% of the respondents cited an increase in productivity; 47% said that apps improve communication, and 31% said that apps reduced company costs. Aside from these advantages, 61% of the respondents also said that they believe that the absence of apps decreases the company’s operation efficiency. Another 51% of the respondents had the opinion that a company without an app appears outdated. And finally, 47% said that a company without an app is at risk or losing new clients or sales opportunity.

 

Mobile Apps as Company Fixtures

With the Adobe survey in mind, we can say that companies are now more aware of the great potential of mobile apps for business. According to the same survey, 66% observed the increase in the usage of mobile apps for business within their departments. Additionally, 62% observed the increase in the number of these types of apps.

 

Bridget Roman, Adobe’s senior product marketing manager has this to say about the increase in app use, “Companies are in the midst of adopting apps at an increasing rate, looking to increase worker productivity, perform tasks, equip employees with tools and information and connect with customers and stakeholders.”

 

The Rise of Mobile Apps for Business

So, it seems like mobile apps for business are here to stay. You can especially see this as not just a possibility but already a reality when you take into account these data from a recent report:

  • There were on average 10.6 business or enterprise apps developed in 2016. It’s a considerably higher from an average of 4.7 in 2015 and 1.7 in 2014.
  • The types of apps also increased, with “events” app being the most popular.
  • The use of mobile apps for business adds an extra 240 hours worth of work from employees. Most of these hours are from 71% of employees that spend more or less two hours per week using apps for work.
  • 1% of all apps released in 2016 were developed by/for companies that belong to the professional services. This is with 17.4 apps per business.
  • There’s an incremental increase in the demand for the custom development of enterprise apps. In 2014, the demand is 23%, then in 2015 it was 29%, and in 2016 it is 32%.
  • Most importantly, mobile apps for business are now returning some decent ROI. From 30% in 2015, the percentage of companies that have revenue goals for their apps increased to 60% in 2016.
  • Companies are now more comfortable with their mobile app strategies. According to another report, 44.2% of companies that hire app development agencies knows and understands mobile. About 25.7% said that they need guidance on this venture.