ChatGPT vs Novoda
By Sarah Gruneisen, Engineering Director & Benjamin Augustin, Technical Leader
We asked ChatGPT what makes a ‘good’ mobile app… did AI get it right?
Like a lot of people lately, we’ve been experimenting with Chat GPT – the OpenAI chatbot launched at the end of last year.
Since Novoda’s rebrand, we’ve been having many conversations about what ‘good digital’ means and how we apply this to our work. So, our engineering team thought we’d see what ChatGPT had to say to the question: “What makes a good mobile app?”
Here, we assess and dig deeper into the advice that our friendly AI bot had to give when it comes to best-in-class mobile app development.
1. User-centred design
The app is designed with the user in mind, and is easy to navigate and use with a clean and intuitive design.
Sarah: Good start! Any product designed for users has to be intuitive. It should be obvious where to click next, when to scroll, or which option to select. If your app is too complex, you’ll lose half your audience before they’ve found what they’re looking for.
Ben: User-centred design means you’ve got to involve your users in the process. Run interview sessions and get feedback as early on in the dev cycle as possible. Before you’ve even built anything, paper prototypes or other prototyping tools can help you gather vital insight before you start. Ultimately, development is expensive – investing in early user testing means you’re less likely to waste money in the long run. And once you started development, running regular user testing sessions can help gather feedback and create a better understanding of where you can adapt to your user base.
“The app can be customised to users’ preferences and needs.”
Ben: This is a good point, but it’s vague. Personalisation can mean a wide range of things in mobile apps, including customisation, add-ons and integrations. I’d say that rather than a standalone part of your app development, personalisation should be at the core of your product or service and translated into your app.
Sarah: Personalisation is also about accessibility and inclusion. For example, some people prefer to read screens with dark backgrounds, so if your app can’t switch between dark and light modes, it will be harder for some people to use. You’ll also want to pay attention to usability features like display accommodations and voiceover, otherwise some users won’t be able to use your app.
“The app performs the tasks it was designed to do effectively and efficiently.”
Sarah: This is important, especially as engineers have a tendency to over-engineer, because of how our brains work. But in mobile app development, it’s better to start simple, adding functionality as it’s needed or requested. If you’ve developed several different elements, release one, see how users respond to it and work out what they need next rather than releasing them all at once. If people open up an app and it feels overwhelming, they’ll stop using it.
Ben: Aim for a streamlined, simple app design that doesn’t confuse people. Follow good engineering practices to ensure your app is stable and test it well to avoid crashes and unexpected behaviours. You want people to feel comfortable using your app, and this comes down to clean and efficient UX, good code quality and good engineering.
“The app loads quickly and runs smoothly, with minimal lag or crashes.”
Sarah: This matters because people are extremely – and increasingly – impatient. If I click a button and it takes more than a few seconds to load, I think I’ve done something wrong, keep pushing the button and eventually just close the app.
Poor performance can also go against diversity and inclusion, particularly in developing countries where people have older devices with less memory. If your app takes too much bandwidth, you risk excluding these people.
Ben: To optimise app performance, you need to know your demographic and which devices they use. Performance requirements for an app aimed at an affluent, Western audience will be very different from an app you want to ship globally, including developing countries.
Also, make sure you know your use cases. When we worked on The Times app, which allows people to read the newspaper on their phones, London commuters were a key user base. As they wouldn’t have internet access on the tube, the app needed to utilise offline caching and pre-fetching. We created a whole system to get information when people were still at home in the morning, so it would be ready for their commute to work.
5. Offline capabilities
“The app works well offline or with a poor network connection.”
Ben: Offline capabilities are often ignored, but one of the main reasons people have apps on their phones is to use them wherever they go. This means apps for newspapers and magazines will want to cache things in advance so content can be accessed when people are on the tube with no signal. The same goes for music apps, ensuring playback doesn’t stop if the internet drops out for a few seconds.
Also, think about what data the app can send back to you when it’s offline. People will still be using and interacting with your app, and you’ll want to ensure you gather this information.
Sarah: Offline is also an important consideration for your users travelling abroad, as they might not have internet access all the time.
From an inclusion and accessibility perspective, offline capability is vital if your app will be used in developing countries which lack reliable internet.
“The app is secure and protects user data. Users feel confident that their personal information and data are secure when using the app.”
Ben: Most of the time, your app users won’t be aware of what security measures you’re taking – but they will certainly become aware if things go wrong. It’s very difficult to recover from bad PR where personal or financial data is concerned.
If you’re taking any form of payment, use a third-party payment provider – unless you’re a huge organisation with a lot of resources. While third parties like Stripe, PayPal or Apple Pay take a cut, unless you’re a giant you’re going to lose money trying to develop your own payment system.
Sarah: First, ask yourself if you need to pass this data. If you do, then ensure it’s secure. There are plenty of things mobile developers can do to improve security, even if it has to be passed over insecure lines like public Wi-Fi networks.
“The app can handle increasing numbers of users and increasing amounts of data.”
Sarah: When you have hundreds or thousands of users using your app, then you’ve got to think about parallelisation. This means multiple people can reliably access the same data at the same time. For example, booking slots need to be locked out to ensure someone else doesn’t book at the same time.
You also don’t want your app to crash if traffic surges. Smart coding, like allowing users to take action locally on their phone and only uploading data when essential, can prevent issues like this. And this takes really good engineers.
Ben: You don’t want your app to crash if you suddenly have a huge amount of success, as this is the most crucial time for your business. If your ambition is to grow, you have to run scalability testing.
To make scaling easier, you might use a third-party provider to cache your media so your servers aren’t hit all the time. If you have timed events or predictable usage patterns, you could raise requests ahead of time and put content into a pre-cached environment.
8. Cross-platform compatibility
“The app can run on multiple platforms, such as iOS and Android.”
Ben: It’s incredibly frustrating for users to be introduced to an amazing service by their friends and find they can’t use it because they don’t have the same phone. To avoid this, ensure you have feature parity on iOS and Android and bring both platforms up to speed at the same time.
If you have fully native, single-platform solutions, structure your teams to ensure developers can work effectively together and move at the same pace.
Sarah: It’s the same as web developers ensuring a website functions on different browsers. Thinking as a user, it’s deeply annoying if you’re using Chrome and half the functionality that works in Firefox doesn’t work for you.
In mobile apps, you have to consider the native ability of devices. Iif functionality works reliably on iOS but not on Android, a lot of people are likely to stop using the app.
9. Regular updates
“The app receives regular updates and bug fixes, and is compatible with the latest operating system versions.”
Ben: It’s good practice to release as often as you can because it shortens your feedback cycle. However, this depends on your market as downloading updates can incur costs for people on fixed data plans.
Your dev team should always be aware of operating system updates coming up so they can ensure your app remains compatible. Most platforms have developer insider programmes to allow for advanced testing and validation.
Sarah: Users can see when your last update was in their app store. When I download an app, I always look at when the last update or bug fix was. If it was a long time ago, I’ll assume that if something breaks there won’t be anyone who can fix my problem and decide the app isn’t worth my investment.
“The app is designed to be accessible to people with disabilities, providing alternatives for visual, auditory, and motor impairments.”
Ben: This is such an important point, and there are plenty of tools available to make sure your app works with assistive technologies. For example, your app will only work with a screen reader if you’ve added the proper context for every element in your UI.
Most importantly, test your accessibility with disabled users. There are plenty of community organisations for disabled people who are willing to support user testing for apps. No matter how excellent your dev team is, you won’t be able to mimic the experience of someone who uses this tech every day.
Sarah: I think all developers should take a course in accessibility, as there are so many things you could do to improve the user experience for everybody. Sadly, a lot of companies still don’t pay enough attention to this.
11. App Store Optimization (ASO)
“The app is optimised for the App Store with proper keywords and description, making it easily discoverable by users who are searching for apps like yours.”
Sarah: This is a key part of your app marketing – it’s like SEO (Search Engine Optimisation) for the app store. Factor this into your marketing strategy as you would any other product or service. Include keywords in your app title, subtitle and description and prompt users to leave ratings and reviews. All these things will help the right users find your app and encourage them to download it.
Ben: This also includes using deployment tools that app stores offer. For example, there are ways to deploy to the store to allow segmented downloads, allowing people to download only what’s relevant to their device.
“The app includes analytics that provide valuable insights into how users are interacting with the app, which can be used to improve the user experience and increase engagement.”
Sarah: Analytics are essential across every area of your business. When you’re gathering data on how people use your app, you can make more impactful improvements. You want to know what’s being used, what’s not being used, and where users are stopping in the process. For example, if a function takes three clicks and most people are giving up at step two, this is a signal to fix and simplify.
Ben: It’s important to measure the right things and know why you’re measuring them. For analytics to be useful, you need to be able to extract meaning from the data you collect.
Make sure that people across your business have access to your mobile app analytics and know how to use the data. App data is much more powerful when people at every level know how to read it, extract meaning and use it to make decisions.
“The app can integrate with other apps and services they use, such as social media or cloud storage.”
Sarah: I’m a big supporter of OpenAPI. Let’s say you’re a banking app and a customer uses a different app to create their invoices. It’s annoying and time-consuming to manually update information across both apps – but if you can integrate the two, your app is immediately more relevant and usable.
I always check integrations on apps, because if it doesn’t integrate with the platforms I already use then I won’t use it – it doesn’t matter how great it is.
Ben: This goes back to the user-centric aspect of app development. Think about what other services your audience is likely to be using. For example, if you’re launching a fitness app, make sure it integrates with most wearable fitness trackers.
One of the most widely used integrations is third-party sign-in. There’s good evidence that more people will sign into your app if they don’t have to go through the process of entering their details into a form and creating yet another password.
“The app is reasonably priced or offers a free version, with the option to upgrade for additional features.”
Ben: Ideally, you want people to be able to use your app without signing in (even if you have a third-party integration). When people can see the value of your product without making a commitment, they’ll be more likely to convert. Giants like Instagram get away with it, but it’s infuriating when someone sends you a photo and you can’t view it without signing into an account. Sarah: I don’t like to pay to use an app before I know what I’m getting. I’m a fan of free basic apps with paid features which you can add on as you need them – ultimately, this makes me value the paid features so much more.
So, how do we rate ChatGPT’s mobile app advice?
Our verdict is… we’re certainly not going to be out of a job yet! While these are all great considerations, they only scratch the surface of everything you’ll need to consider when developing a mobile app, especially if you want to scale fast and compete with the best-in-class mobile native businesses.
If you’re looking to create a new mobile app or scale your existing mobile operations, we’d love to talk about how our team of experts can support you.