Solved: Click Handler Reaction Delay in Ionic 2

I am happy to announce the solution for the click handler reaction delay in Ionic 2. As an Ionic developer, you would be familiar with the infamous 300 ms delay that occurs, when a user attempts to tap and register a click on the hybrid mobile app you painstakingly built with Ionic 2.

Cue in some dramatic visualization…
Click Handler Reaction Delay in Ionic 2

Moving on…

The delay in registering the tap is the time lag taken by the click handler in reacting. And this delay is specific to ion-col and ion-items.

In their blog and the official documentation, the Ionic team has discussed about the issue in detail. The reason for this delay is said to be the Ionic click blocker, that blocks any interaction until a transition is completely done. This is to recognize if the user wants a click event or double click event on touch devices.

How does this affect the user?

This makes the application slow, thus affecting user experience. The issue is more prominent on iOS devices.

Solved: Click Handler Reaction Delay in Ionic 2

The solution to this issue is quite simple. All you need to do is this:

Add the ‘tappable‘ directive to your element.

For example:

<ion-item tappable (click)=“myClickHandler()”>
    // Your code goes here
</ion-item>
Note: We recommend you add the ‘tappable‘ directive to the click handlers of elements which are not normally clickable.

Hope this post helped you overcome this rather frustrating issue in Ionic 2.

Happy Coding!!

 

AgilizTech is working on some pretty cool Hybrid Apps powered by Ionic 2.

Would you like to know more?

Contact Us

5 best practices for mobile app qa

5 Best Practices for Mobile App QA by AgilizTech

According to a study by Compuware, only 16% users give mobile apps more than two chances. So for the other 84%, it is a two-shot experience. The app is given just two chances to prove its mark, and if it fails it is unceremoniously removed from their phones. A lot of apps have been sent to the app graveyard due to bad user experiences. An example is Forecast, which was let down due to inadequate QA and innumerable bugs in the Android version.

A report by Perfecto Mobiles claims that, 44% of the app defects are reported by users! Of these, 20% are gathered via public user reviews and 24% sourced from direct user feedback.

5-best-practices-for-mobile-app-qa

Source: Perfecto Mobiles

All this emphasizes on the need to have a clear cut QA strategy, which ensures mobile app quality. And that requires serious efforts. You may ask, “We already put the app through a series of testing programs like usability, performance, security, compatibility, etc. What more can we do?” Well, no one disputes the fact that all apps are tested before being shipped, but are we following the best practices for mobile app QA?
At AgilizTech, we asked our team to list out the 5 best practices for mobile app QA that they swear by. Does your team follow these?

Best Practices for Mobile App QA

1. Practice agile methodology

True to our name, we have established a culture of continuous development, integration and testing. This shortens time gaps between new functionality, testing, bug detection and bug fixes. This also improves efficiency and makes vital course changes feasible for us.

2. Start testing along with development

It is best to start testing early as bugs may become too expensive to fix at later stages. We create test plans at the earliest. Also, we conduct test cycles and track results of each and every round.

3. Balance automated and manual testing

While automation may prove to be useful in repeated testing and saves time, it cannot completely replace manual testing. A fine balance between the two is required. Here are some key points to note:

  • Automated tests are essential for complex tests with multiple components.
  • Once we are familiar with the app functionality, automation helps in speeding up the testing process.
  • New functions are tested manually as it is difficult to write automated test scripts before a manual test.

The tool we prefer is Appium. To create scripts, we use Java Selenium.

4. Test on real devices too apart from emulators

We recently invested in Apple and Android devices, as testing on real devices gives us a better idea on the look and feel of the app and its usability. We agree that there are numerous device variants, and it is impossible to test on all these. So to tackle this and maximize test coverage, we go for a mix of emulators and devices. Also, we set device and OS preferences initially, and then ensure that the app works well on these.

What we do differently is that, we distribute the app among the AgilizTech employees and ask for their feedback on the app. This helps us understand the hits and misses in QA and leads to improved testing.

5. Verify if your app is power hungry

How many times would you have deleted apps because they were draining your phone battery?
That’s right, battery consumption is an important criterion on which users may give up on your app. Do compare your app with its competitors. While you are at it, also learn how it adjusts to negative conditions like varying network strengths or suspended connections.

Spoilt with choices, users decide the fate of an app in a jiffy. Ensuring that the app is bug-proof goes a long way in scoring higher user adoption. Hence, along with programming amazing features, it is also important to have solid QA done before the launch. Following these 5 best practices  for mobile app QA might prove beneficial to you.

Remember – A healthy app leads to happy users. 

Are you looking for an App Development partner? Look no further, as AgilizTech provides end-to-end services in the app-sphere, such as, development, testing and porting.

Contact us now!

Image Source - Unsplash

Native or Hybrid – Apptions to consider

Introduction

The App-mania that began in 2008, has paved the way for a billion-dollar industry. While the app economy is pegged to reach $101 billion by 2020, this year it is projected to be around $50 billion. As of June 2016, there are over 4.5 million apps available for download. (Combined figure of number of apps available for Android and iOS users). With these numbers, it is apparent that apps are here to stay and they mean big business.

Native and Hybrid Apps

There are two main types of Apps – Native and Hybrid.

Hybrid App vs Native App

                         Hybrid App vs Native App

Here’s a quick 101:

Native apps – Apps that have been developed for use on a particular platform or device. Because native apps are written for a specific platform, they can interact with and take advantage of operating system features and other software typically installed on that platform, for example Camera, GPS, etc. Technologies used are Java for Android and Objective C/Swift for iOS. Example: Facebook (Here’s Why Facebook went Native)

Hybrid apps – Apps built mostly using cross-compatible web technologies, such as, HTML5, CSS and JS and then wrapped in a native application by frameworks such as Cordova and Ionic, which provide necessary hardware plugins, like Camera, push notifications, etc. Example – Amazon Appstore (Learn about Amazon’s penchant for Hybrid)

 

Which one to choose? Each side has its own evangelists, listing out their pros. But we give you a comparison that will help you to quickly grasp the key points. Here’s a info-graphic of the comparison!

 

Native vs Hybrid App

                                                                           

Tabular Comparison

Criteria Native Hybrid
Quick time to market

The time taken by the app to hit the market. While native apps require a long development period, hybrid apps are faster to build

 

Slow

 

Fast

External Dependency

If your app is dependent on phone components such as Camera, GPS, etc. then it is better to go for a Native app. Hybrid apps can be built with plugins to access these features, but there will always be an external dependency on third-party developers.

 

Independent

 

Dependent on 3rdparty plugins

Development & Training Efforts

Specialist developers on Java and Objective C to work on Native Apps. However, for Hybrid app, it would suffice for the developer to be aware of HTML5, CSS and JS.

 

High budget

 

Low budget

User Experience

Users report better experience on Native apps than Hybrid apps. Native allows developers to use standardized UI controls, which makes interfaces more natural to users.

 

Higher UX score

 

Lower UX score

 

 

 

Now that you have a fair idea, which side are you on? Team Native or Team Hybrid?