How to parse JSON in Dart / Flutter

JSON is a cornerstone in most Android apps, but how do you parse JSON in Dart and Flutter?

As mentioned in my “4 tips to boost your software development career” post, I’ve been experimenting with Flutter recently. Dart, the language used by Flutter, comes with a good library to parse JSON (dart:convert) but after having used gson for years in my Android apps, I had to relearn how to parse JSON.

If you Google gson for Dart , you will also find a library called dson. However, for this code tutorial, I’m focusing on using dart:convert.

To follow the code tutorial, create a new app as follows.

If you’re unsure how to set up a Flutter app, check out Getting started with Flutter official tutorial.

Continue reading “How to parse JSON in Dart / Flutter”

Android app developer with 8 years experience, ranging from start ups to large tech (Google) and non tech (British Airways) companies. Currently freelancing and learning Flutter. LinkedIn natalie ( at ) cogitas (dot) net

4 tips to boost your software development career

Software development is a fast-changing field. But, you, personally, do you write code now that you wouldn’t have written a year ago? If not, you may be missing out on a lot of career opportunities (as well as a lot of fun).

I’m NOT suggesting you do the tips below in your spare time. I don’t believe in the myth of “You need to have x personal coding projects to show your software development skills”. Indeed, I have a young family and I restrict my working hours (Sounds crazy? Read Why the CEO of Basecamp only allows employees to work 32 hours a week). You should try the tips below while working as you normally do.

Tip 1: Identify a software development task you don’t like (and do it for 30 minutes)

We all have tasks we don’t like doing. We know them, our colleagues know them, our employers know them (or soon will), and they are holding us back. Most often than not, it’s just a silly reluctance: yes, we may never love doing them, but there is no reason to let them stop us from progressing in our career.
Continue reading “4 tips to boost your software development career”

Android app developer with 8 years experience, ranging from start ups to large tech (Google) and non tech (British Airways) companies. Currently freelancing and learning Flutter. LinkedIn natalie ( at ) cogitas (dot) net

The analytics checklist: what to measure and look for

When you launch an app or update, you often hope to get new users and/or more revenue. Google Play Developer Console keeps track of those metrics for you, but whether you see numbers you like or dislike, you don’t know much about what drives them.

Analytics, which I’m using in the general sense of collecting data on usage and errors, can help you understand both the pain points and the users of your app, allowing you to focus on removing roadblocks and serving your users’ needs better. This will, in turn, increase your users’ satisfaction, leading to higher ratings and new users, as well as higher revenue per user.

Google Analytics, specifically, comes with an Android SDK and the web interface is already known to many business users, making it a great tool to implement your analytics strategy. There is a whole section on the android developer website taking you around its features. It’s a great product that gives you rich “out of the box” data on your users.

Putting aside the implementation details for a minute, let’s focus on what to measure and look for…

Identify functional problems

  • Crashes – If you don’t already, regularly check the reported Exceptions and ANRs in Google Play Developer Console.

  • Caught Exceptions – Some exceptions are expected but you should still know about them, because they may indicate a latent issue with your app.

  • Communication with servers – Background syncing is vital to delivering a fast, smooth, efficient app. How long do your server calls take? What percentage of your calls end in an IO Exception or a response time of more than 10 seconds? What percentage of your users are on wifi, 4G, 3G and 2G? How often do specific exceptions related to your local caching and server sync happen, for example SQLExceptions?

  • Location, location, location – For exceptions that you catch, do they happen specifically for a given time zone or language? Android is the most popular mobile platform in the world today so you can’t assume that your users live in your country and speak your language.

  • Search – Do users search for what you expect them to? Do they make spelling mistakes in their queries that appropriate suggestions could minimise?

Continue reading “The analytics checklist: what to measure and look for”

Android app developer with 8 years experience, ranging from start ups to large tech (Google) and non tech (British Airways) companies. Currently freelancing and learning Flutter. LinkedIn natalie ( at ) cogitas (dot) net

Delivering an Android app for a large established non-tech company: lessons learned

The last year or so, I’ve been the lead developer for the Android mobile team at British Airways. I was brought on board to help deliver the newly designed app, which we shipped on time on 21st May 2014.

British Airways is a company with a large IT department but, when I joined, very little Android expertise. I think quite a few other Android developers may find themselves in a similar situation, so, hopefully, sharing my lessons learned will benefit others.

Disclaimer: this blog post is my opinion only and doesn’t necessarily reflect the opinion of my employer or colleagues. Blah blah, you know the legal blurb.

Lesson 1: It’s important to evangelise about Android up and down the business ladder

Continue reading “Delivering an Android app for a large established non-tech company: lessons learned”

Android app developer with 8 years experience, ranging from start ups to large tech (Google) and non tech (British Airways) companies. Currently freelancing and learning Flutter. LinkedIn natalie ( at ) cogitas (dot) net