MicroApps — Single-purpose apps
The single responsibility principle (SRP) states that every class or module in a program should have responsibility for just a single piece of that program’s functionality
Taking one step up at the back-end system level, designing software applications that only has “one and only one responsibility” is called as microservices with various benefits such as improved scalability, agility, reduce single point of failure etc.
Over the years, software developers evolved to build exceptional microservices with capabilities provided by cloud platform providers & frameworks. However, many front-end systems are still monolithic i.e. many front-end applications perform many responsibilities in a single code base unless custom modularized.
Micro Frontends extends microservices concept to front end world enabling us to break-down front-end in to micro-front ends with benefits such as
- Simple, decoupled end to end code bases
- Fully empowered autonomous teams
- Independent deployment
- Easy to do incremental upgrades
- Easy to manage, no limitations to technology choices
MicroApps are tiny, autonomous applications built for a single purpose that cater an end to end user experience i.e. MicroApps are a combination of Micro Frontend + Microservice that serve a single purpose.
Mobile: How many apps do you have in your mobile & How many do you often use? You are surprised correct? As a mobile user, you are looking forward for a simpler, quicker and easier information for one purpose and you generally become a fan a single purpose app that works well. Many apps serve many things and miss the main purpose and that's one of the primary reason we don’t use those apps.
Imagine you have all these single purpose apps all in one place that you can opt-in or out providing you an awesome hyper-personalized experience — Welcome to MicroApps.
Read this article that was published in 2015 around how/why WeChat uses MicroApps concept?
Enterprise apps: How many times you have felt that you need to hunt down for what I need as there are too many applications in Enterprise? Enterprise applications serve many personas so they serve many responsibilities and generally each enterprise vendor application has their own vision to deliver services. Employees spend a lot of time getting used to those systems & capabilities and struggle with
- Context switching between apps
- Hunting for app features to figure out stuff
- May put down tasks
- Login to many systems (SSO strategy saves some of this)
- Too much information is shared
“It is not information overload, its filter failure — Clay Shirky”
Though there are some easy opportunities to spin up a knowledge base, intranet etc, unless you’ve planned well, you are introducing more complexity with a bunch of articles to read and creating some more information overload.
Imagine you have seasonal microapps (single purpose driven apps) at one place that guides employees with simple end-to-end experiences personalized to employee, with ability to opt-in and opt-out that delivers a hyper-personalized experience reducing to need to go to multiple enterprise applications.
Example: If you need to take time-off, how many systems do you generally take actions to plan, communicate, delegate etc? How about you have a single “MicroApp” whose purpose is to get all actions in one place? Isn’t it awesome?
- Focus on what your customer needs: Start with single outcome and work backwards, delivering a MicroApp ensures micro focus on customer need, and let users complete task quickly.
- Agile: Your teams can be very agile to experiment, deliver and iterate and provide a great customer experience as they are empowered to focus on single responsibility applications.
- Responsive: MicroApps can be deployed to Web, Mobile, Desktop etc. providing greater flexibility to selectively deliver where your customers are.
- Fast time-to-market & Disposable: It is very easy for you to build seasonal experiences for your customers and dispose once complete, due to greater agility apps can be delivered faster.
I am currently learning about MicroApps and curious about the change it can bring in web, mobile and other channels as well as in B2C & B2E experiences.
More to say after I complete reading “Micro Fontends in action”…
Cam Jackson Cam Jackson is a full-stack web developer and consultant at Thoughtworks, with a particular interest in how…
Micro frontends | Technology Radar | Thoughtworks
We've seen significant benefits from introducing microservices, which have allowed teams to scale the delivery of…