We hear the term "mobile apps" being thrown around and used inter-changeably by laymen for any technology that relates to mobile phones. However for those in the industry the definition is very clear - it is a type of application designed to run on a mobile device, which can be a smartphone or tablet computer. Examples of a mobile apps include Whatsapp, Uber, game or a mobile web browser. A website that can be accessed through a mobile web browser is not.
Mobile Platforms
Currently there are 2 main platforms that mobile devices run on:- iOS which Apple products run on and Android which Samsung products run on. Together they command over 99% of the global market share for smart devices so when we develop a native mobile app - we develop exclusively for iOS and Android.
Apple
To develop apps for the iOS platform (which is what iPhones and iPads run on) we use a language called SWIFT which is the main technology for iOS development as of 2024 and it succeeded Objective C. During the times when iPhone 4's were popular app developer could only use Objective C to develop native apps with but now it has been phased out.
Android
To develop apps for the Android platform (which is what Samsung phones and tablets run on) we use a language called Kotlin which is the main technology for Android development as of 2024 and it is Java's successor.
The unfortunate consequence of having the 2 technologies (iOS and Android) is that developers have to program the same app twice; once for iOS and then again for Android. Maintaining 2 separate sets of source code means twice as much work and twice the hassle when making enhancements and updates. Fortunately, in last year or two a new technology called Flutter has become available. Flutter (promulgated by Google) is a programming language that can output native mobile apps for both iOS and Android so that businesses no longer need to maintain 2 separate teams and 2 separate code bases for iOS and Android thus dramatically reducing the resource needed to develop a native mobile app. The technology is very cutting-edge so we have only launched one project using it but going forward Flutter will be the preferred development language for mobile apps given that it is half the amount of work and yields the same results.
Name : | OneDay Property App |
Platforms : | iOS + Android |
iOS App Link : | https://apps.apple.com/hk/app/oneday... |
Android App Link : | https://play.google.com/...?id=user.hk.com.oneday |
Year : | 2018 + Ongoing |
Device Support : | Phone + Tablet |
OneDay is a fast-growing property technology platform (PropTech) in Asia; the mobile apps were launched 2 years ago targeting the Hong Kong market. In 2021, the app will be further developed and rolled out into several other countries such as Vietnam, Thailand, Philippines, etc. in Asia over the course of the next few years.
Hodfords helped OneDay develop a native mobile app in iOS and Android that allows users to search for homes; for landlord the app affords the easy creation of property listing(s) to include videos and images to find tenants and buyers. The app automatically searches for properties within a certain radius of the users' GPS location. This has been well received in Hong Kong's high density housing because users can access useful information without having to click or type anything. Additional filters are available for users to filter and refine their search results by price range, size, property types, etc.
Name : | Foody Pocket |
Platforms : | iOS + Android |
iOS App Link : | https://apps.apple.com/.../id1462241379 |
Android App Link : | https://play.google.com/../foodypocket |
Year : | 2018 + Ongoing |
Device Support : | Phone + Tablet |
Foody Pocket is a 360 degrees platform for the Food & Beverage industry; consisting of an Android POS (Point-of-Sales) terminal that allows restauranteurs to take orders for food and drink, a native mobile app for end users to order take away and a desktop version for the restaurant's head office to manage personnel, sales, reports, restaurants, stock, etc.
Hodfords helped Foody Pocket develop a native mobile app in iOS and Android through which end users can order food from restaurants. Once an order is placed with the restaurant and becomes ready for pick up the end user will receive a push notification to tell them to go the restaurant to pick up their food. The same technology is being used by Food Courts so that users don't have to queue up to place orders and with the push notification technology they only need to go up when their order is ready.
In addition to the mobile apps for end users, we developed a POS (Point of Sales) app that works on Android. The POS app allows restauranteurs and waiters/waitresses to take orders, make reservations and close bills once orders have been completed.
Name : | Hong Kong University of Science & Technology (HKUST) |
Platforms : | iOS + Android |
iOS App Link : | https://apps.apple.com/us/....360560 |
Android App Link : | https://play.google.com/....com.hodfords.hkust |
Year : | 2017 |
Device Support : | Phone + Tablet |
The Hong Kong University of Science and Technology (HKUST) is arguably Hong Kong's top university for technology and innovation. They were celebrating their 25th anniversary and wanted to showcase their achievements over the 25 years through a mobile application.
HKUST wanted a very polished mobile app that would work on mobile phones and tablets; HWANG Concepts was commissioned to create the brand strategy for the 25th anniversary visual identity and Hodfords was commissioned to build mobile apps for iOS and Android.
One of the requirements was that the app had to work when the user was offline so all of the content had to be encapsulated into the app. Hodfords created the bulk of the app using HTML5 + Javascript + Cascading Style Sheets (CSS) which were then accessed through a Webview window within the app. The advantage of using HTML5 + Javascript + CSS was that the same content could be used for both iOS and Android saving the overhead of having to develop everything separately for 2 platforms; however the shortcoming was that this technology had limited interactivity.
Name : | OneDay Estate Agent app |
Platforms : | iOS + Android |
iOS App Link : | https://apps.apple.com/sg/app/....-for-agents/id1534481143 |
Android App Link : | https://play.google.com/..?id=com.oneday.agents |
Year : | 2020 + Ongoing |
Device Support : | Phone + Tablet |
OneDay is a fast-growing property technology platform (PropTech) in Asia; many of the users are estate agents. Their jobs require them to be on their feet for many hours a day going from one viewing to the another whilst having to stay on top of the administrative duties. Compliance to the Estate Agent Authority (EAA) regulations means drawing up separate agreements for each client and getting client signatures for each property viewed which are logistically challenging and environmentally unfriendly.
Hodfords helpd OneDay to develop a native mobile app in iOS and Android dedicated for estate agents. We used Flutter entirely for the development process which dramatically reduced the development resource required compared to developing separately for iOS and Android. The app included many complex phone functions such as location services, video/image capturing using the devices camera, syncing of data in the background, integration with social media networks, map integration function, etc.
The app allows estate agents to draw up EAA forms using saved data which can then be signed by users/clients on the agent's device; following which a signed copy of the form will be available in PDF format that may be shared with clients through popular communication apps such as Whatspp, Facebook, etc.
Flutter was used for the first time for the development for both the iOS and Android mobile app and this successful project showcases the viability of Flutter for future projects.
What is the Difference between Native and Non-Native App?
A Non-Native App is effectively an app that has been developed using a neutral language such as HTML5; and in short Non-Native Apps are very limited in functionality. Features such as location services, bluetooth integration, push notifications, online and offline modes, etc are not available in Non-Native Apps. If the requirements for the app are very simple and we just need to build a simple app that acts as a brochure then you can consider developing a Non-Native App. An example of a Non-Native app is what we launched for HKUST.
If the requirements of your app include location services, push notifications, camera and gallery integration, etc then the Native app is the only option.
What are the Challenges of developing a mobile app?
The technological landscape is changing rapidly all the time, with each new iPhone that gets released the screen resolution changes and in the release management we need to submit a whole set of new images to cater for that new screen resolution. Moreover, there is a new version of SWIFT every 9-12 months and none of the new versions are backward compliant; so if an app was written using SWIFT2 in 2016 then the source code would need to upgraded and reworked before the updates to the app store can be made. In recent years the release of new versions of SWIFT seems to have slowed but nonetheless be prepared for a fast turnover of technology in the mobile space.
What is Flutter?
Flutter is a programming language that started in 2017 to create native Apps in iOS and Android; the technology is quite new and holds great promise to halve the development overheads for developing mobile apps as you only need one set of developers to develop on Flutter and then the codebase can be compiled into the binaries that can work on iOS and Android.
Hodfords has developed one app using Flutter which was a real success so in the future we will use this technology unless clients instruct otherwise.
What to provision for before developing an app?
The mobile apps are just the interfaces between your system and the end-users. What powers mobile apps are sophisticated cloud-based services which is where all the heavy lifting is done. The system design of these cloud-based services are very important as they will determine whether your app can scale to become global or not. Mobile apps are not something you launch and then grow by themselves; they need to be updated constantly with new features after user feedback is received.