Blogs
What does a bag of crisps and our approach to cloud applications have in common?
Related Content
In software development, you may hear us use the terms ‘fat application’, ‘thick client’ and ‘monolith’. Derogatory terms you may think but used nonetheless to describe desktop applications that either stand on their own or form part of a multi-tier architecture and often comprise many features complied into one single installable product. Let me explain what this means.
Imagine a multipack of your favourite brand of crisps is your desktop application. Now imagine the crisp packets inside are features of your application, each one performs its own function – or in this case has its own flavour. Collectively these flavours make up your product which we could call Meaty or Traditional depending on the flavours inside.
These types of desktop applications typically provide a feature-rich, coherent user experience offering up everything a user might need at their fingertips. The problem is these desktop applications come at a cost:
- Large download sizes
- Infrequent releases of new features and bug fixes
- Complex code base
- Ever-increasing demand for engineers to manage, maintain and release.
Taking the analogy of the multipack of crisps. Depending on the size of your pack (product), it may be difficult to carry (download) or store (space required to install it).
Imagine you wanted to reach for a flavour, but it was at the bottom of the pack (finding a fault or updating a feature). You would have to wade through many other packs to reach the one you wanted. Along the way, you may damage a smaller pack (an unrelated feature) or split the larger pack (the product itself). You could relate this to indirectly affecting an area of the product by making changes somewhere else.
Here at EMIS [now Optum], we make use of the cloud and modern web application frameworks to augment new experiences and features with our existing products.
Web application frameworks refers to the tools and languages software engineers use to create aspects of (or entire) websites. The modern frameworks leverage more of the web browser capabilities to help drive more feature-rich experiences for users – akin to a desktop application.
Our recent announcement and release of Information Leaflets and Local Services for EMIS Web® is an example of how we seamlessly blend new and existing technologies. It’s a good example of how we can expand our products by adding new web application-based capabilities while keeping our code, maintenance, and release separate therefore addressing some of the common concerns with larger desktop applications.
Some advantages to web applications include:
- Web applications are downloaded when required*, therefore, removing the need to install upfront – saving on space
- Web applications are used only when required therefore removing the need to have features available that you do not need, use a little of, or at all – reducing complexity
- Web applications are always up to date – removing the need for lengthy and large downloads to receive updates.
*Note web applications do also support being installed. This is quite common to enable offline working.
With healthcare embracing the shift to the cloud we can provide these modern web-based applications in a response to change or requirements with great agility. Web-based applications with a single responsibility means smaller and cleaner code for engineers and smaller independent updates for our users.
By having a single responsibility, web applications become much smaller, less complex, and easier to maintain because they are only designed to do one thing. When combined with many other single responsibility web applications you can build up your product to include many unique features – but neither one encroaches on the next. This is called separation of concerns.
With smaller easier to maintain web applications coming together as one we can begin to truly innovate and pass these innovations on to our users to further improve the breadth, speed, reliability, and comprehensiveness of care for patients.
In my next blog, I’ll elaborate on how we maintain a consistent user experience across our web applications and how we integrate our web applications to create products akin to desktop equivalents.
Ian Hardcastle, Engineering Manager
Ian has worked in Healthcare IT with EMIS for 14 years in several engineering roles and has extensive knowledge in EMIS primary care solutions and interoperability.
In his current role, he leads teams developing our strategy and frameworks for building and integrating web applications to complement our existing products.