This article is the second part of a two-part article on how to debug ionic apps. The techniques described here are helpful if your app is in release mode. If you are looking for ways to debug an app during development(debug version), please look at the first part of this article.

The downside of all the methods I explained in the first part of this article is that they are only available as long as the app is in debug mode (not the release version).

When you sign the app for Release, the app cannot be debugged using remote debugging…

Elevate your code series 😊

Photo by Ruiyang Zhang from Pexels

I am trying to decide where the user should land when they open the app.

The logic in plain English would be something like this:

  • If this is the very first time user visits the app show Terms & conditions so they can agree to T&C. This will be saved and the app will remember this choice. It’s a one-off thing.
  • Then If the user has agreed to T&C and has not viewed the app intro, show the introduction. This gives the user a tour of the app features and only happen once as well…

By default, NgModules are eagerly loaded, which means that as soon as the app loads, so do all the NgModules, whether or not they are immediately necessary. For large apps with lots of routes, consider lazy loading — a design pattern that loads NgModules as needed. Lazy loading helps keep initial bundle sizes smaller, which in turn helps decrease load times.

To lazy load a feature module you can simply define a route for it and that’s it!
Here is an example to remind you how it’s done.

const routes: Routes = [ { path: 'map', loadChildren: () =>…

This article is the first part of a two-part article on how to debug ionic apps. The techniques described here are helpful if your app is in debug mode. If you are looking for ways to debug an app in prod(signed release), please look at part two of this article.

1- Remote debugging during development using Web View

from Ionic website: Web Views power web apps on native devices

Ionic apps (native apps) are web apps that run in an embedded browser, so you can use remote debugging with chrome dev tools on Android or Safari Web Inspector on iOS to debug JavaScript, HTML and CSS.

You can use remote debugging with an actual device or simulator. If you…

Photo by Kevin Ku from Pexels

Debugging a mobile application is an essential part of development and maintenance.
Using Ionic to create mobile apps gives us a lot of leverage when it comes to debugging.
In this article, I share some of the techniques I use to debug Ionic apps and some example from the projects that I have done.

The article is broken into two parts:

Apart from what I have explained in my article, there are several guides in Ionic docs around debugging that I encourage you to…

This is not a guide but rather my personal experience and struggle with macOS temp files and how I resolved it. I am not sure if it matters but I use the latest update of macOS Catalina (10.15.7)

I had 884GB of my 1TB hard disk taken by macOS temp files.
These files plus my files, apps and projects had reduced the free space to less than 100 MB (out of 1 TB) and nothing was working properly. I was getting disk space alert constantly.

These temp files are hidden so you will not find them in any reports. like…

10 Usability Heuristics for User Interface

Photo by Rishiraj Singh Parmar from Pexels

Jakob Nielsen wrote this article in 1994. They are called “heuristics” because they are broad rules of thumb and not specific usability guidelines.

It’s true that many UI/UX designers rely on good examples and their gut feeling when they design. This is good and in many cases does the trick for designing a solid UI/UX.

In my opinion, the next level would be to understand the common patterns and the science behind them.

Most of the techniques used in UI/UX design have scientific reasons behind them which are the result of human psychology studies…

Photo by fauxels from Pexels

Many software development teams practice agile with scrum for software development. As a part of these practices, you are always trying to maximise productivity and get more goals done in a given sprint.

Unfortunately, it’s very easy to get caught up in answering the never-ending demands and deadlines of projects and forget about the amount of stress and load put on the team and the individuals.

Achieving the maximum amount of work done DONE does not necessarily mean you have a long term efficient team. In sprint retrospective meetings when you ask how each individual feels about the sprint, although…

photographer Tim Gouw

I consider myself a seasoned software engineer as I have been working in this industry for a good amount of time.

I recently received feedback from my team in one of the sprint retrospective sessions.

I agreed with many of the points my teammates were making. At the same time, I tried to present my views on the issue and the reasons why I made the decisions I made.

I approached the feedback with an open mind but still, it felt pretty harsh and I found it a bit discouraging.

This made me think, why did this feedback make me…

Building new features in Angular 5

Today, we’d like to share some lessons learned on running Angular JS 1.6 in Angular 5.

In Part 1, we shared how we migrated Data Farming (Angular JS 1.6) app to Angular 5 + Angular JS. Our focus was to run Angular JS app in Angular 5 app.

In Part 2, we’d like to talk about:

  • How to use Angular JS service in Angular 5?
  • How to share the map state so the map does not flicker when moving between Angular JS and Angular 5 routing
  • How to share Authentication mechanism (Auth0 + JWT)?

What about Angular 6?

Angular 6 has been released in…


I am a mobile & web tech lead @LapisITAus , blogger, @Auth0Ambassador , 🐈 lover and passionate about UI/UX.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store