Guest Post By Wilson Foo Yu Kang | Edited by Jennifer Lim Wei Zhen & Josh Lee
What is cross-platform app development?
The term “cross platform” has been bandied about in a variety of ways, especially since the creation of the Java language which allowed programs to run on different types of devices and operating systems. In this article, cross platform app development will be used in the sense of writing a single software application which runs across multiple platforms. A platform can mean many things – it can mean hardware architecture (e.g. ARM, the usual chips used in phones as compared to AMD64/x64, the usual chips used in desktops and laptops), operating system (Android, iPhone, Windows, Mac, Linux), type of deployment (native versus web) etc. I will generally be focusing on the applications which can run across the web/native divide as well as multiple device type (i.e. iPhone, Android and desktop), and how it impacts the legal tech landscape.
Why cross-platform app development?
Cross-platform app development (i.e. the development of legal technologies that are developed for both use on a computer and a smartphone/tablet) is a hitherto insufficiently-tapped concept in the legal tech sector. The current wave of development in legal tech is exciting and mirrors the progress of Fintech. Much attention has been given, in particular, to the use of artificial intelligence, automation of mundane tasks such as document generation, and the potential of outreach to new, tech-savvy markets. Yet, the focus of platform among legal technologists has tended to be the web platform.
Most legal technology, including the quintessential systems of E-litigation and Integrated Criminal Case Filing and Management System (“ICMS”), is web-based and web-focused, leaving native mobile and desktop app development in the dust. This is despite the success of some mobile apps such as the State Courts app which practitioners use, inter alia, to track the queue status of their hearings in Chambers.
What developers may not realise is that cross-platform development technologies, used appropriately, would allow legal technologists to save development costs while expanding the reach and improving the performance of existing apps. Legal apps mostly perform CRUD (Create, Read, Update and Delete) functions on the backend and are not as performance intensive as games. They will therefore need less fine tuning for each platform, which would allow only a single team of core developers to develop the business logic portion of the app.
Improvement and increased diversity of cross-platform app development technologies
Cross-platform app development technologies have unfortunately gotten a bad rap. According to a Stack Overflow survey, that some of these technologies are among the “most dreaded” platforms.
However, the availability of different cross platform app development frameworks has increased in recent times. These frameworks are, increasingly, based on an open source codebase but are also backed by commercial entities – thus increasing the likelihood of stability.
For example, Cordova, an open source platform based on web technologies, is now sufficiently stable that an app with the same codebase can be deployed on Android, iPhone and the web as well. The commercial version of Cordova, PhoneGap, is backed by Adobe.
Portability and performance for legal apps
The promise of write-once-run-everywhere (for coding applications) may seem to be overhyped and elusive. Java once promised the same for desktop and server apps, but was unable to deliver after mobile devices stormed the landscape (although it still powers Android). Nevertheless, the ability to share the same codebase offers the potential of reaching multiple development markets while saving costs for legal technology startups.
My anecdotal experience has been that among advocates & solicitors, there are significant users of both Android phones and iPhones. It is therefore insufficient to deploy an app on only one of these 2 platforms. However, a responsive web app simply does not offer the same performance as a native app. Even Cordova, which is based on WebViews (i.e. the user interface is in the form of a web page displayed in an app), feels snappier, possibly because assets (such as pictures) are embedded in the app rather than having to be downloaded again. Plugins can also be used to gain access to the camera, accelerometer, GPS and using the natively installed version of Google Maps.
The act of downloading an app also draws the user in and encourages use. This has been seen in many non-legal apps. Many web based platforms like Facebook still encourage users to download the equivalent mobile app. This includes apps which deliver real world services such as HonestBee and FoodPanda (food deliveries). Other well-known apps like Uber and Grab (transport) are mobile only.
Deploying substantially the same app across web and mobile
Of course, given the much higher computing power on a computer, desktop and web development are far less limited than for mobile apps in general. However, the attraction of using the same codebase (or a slightly modified one), or at least sharing of source code, for desktop, web and mobile, still offers the potential of great cost savings in development.
Further, having the same user interface on multiple platforms reduces the learning curve for new users – including senior members of the profession who may feel overwhelmed by the consistent onward march of technology and are already struggling to use E-litigation and ICMS.
While I am no oracle, I see vast potential in cross-platform app development tools. They were once clunky and unreliable – but so is most of what we use today, including the ubiquitous Windows when it was in its infancy. There is immense value in having essentially the same legal app run natively on the handphone and desktop as well as the web – and it is a reality that may be possible very soon, if only we try.