MicroApps — Single-purpose apps

Going back to basics, SOLID principles of software engineering development Single-responsibility principle

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

  1. Simple, decoupled end to end code bases
  2. Fully empowered autonomous teams
  3. Independent deployment
  4. Easy to do incremental upgrades
  5. 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.

MicroApps usecases

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

  1. Context switching between apps
  2. Hunting for app features to figure out stuff
  3. May put down tasks
  4. Login to many systems (SSO strategy saves some of this)
  5. 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?

Key Benefits:

  1. 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.
  2. 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.
  3. Responsive: MicroApps can be deployed to Web, Mobile, Desktop etc. providing greater flexibility to selectively deliver where your customers are.
  4. 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”…

References:

--

--

--

Thoughts I add here are my personal notes and learnings only

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Establish your Virtual Dojo

UML Class Diagrams The simple Approach

A little bit about Linux

CS371p Spring 2019: David Sikabwe

[5 min IT]PySpark

REST API in English

Jenkins As Code

How To Step Up Your CSS Game?

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
@Anil's Notes

@Anil's Notes

Thoughts I add here are my personal notes and learnings only

More from Medium

Axelar Network: Simply the Best Cross-Blockchain Solution

OptionRoom December Development Update

How I got PWA working in nuxt3 beta

Omg Candace… look at all your white supporters!