Skip to main content

· 10 min read
Patrck Liu

Machinat.js is the first programming framework that covers Social Media, Chatbot and Web App at the same time. And this empowers us to make a brand new kind of app on social platforms...

"Every once in a while a revolutionary product comes along that changes everything."
    -- Steve Jobs, 2007

This classic quote comes from the presentation of the 1st-gen iPhone. From then on, mobile apps have totally changed everything in our lives. Such the revolutions of software happen about every decade:

In the 1980s, most apps were running in command-line.
In the 1990s, the desktop app shaped the modern software in GUI.
In the 2000s, the web app delivered software as online services.
In the 2010s, the mobile app brought software along our side.

But after the mobile app wave, we've kept asking: What is the next-gen app? From Chatbot to VR to Web3, several technology hypes have passed, but none of them became a phenomenon. Today, in 2022, it's still a mystery.

Social Media Age

However, one thing is certain: everything is on the social media now. We know the revolution of apps always comes after the prosperity of platforms. This has happened on PC, Web and mobile devices. And social media is the hottest platform today.

Social media is dominant and still fast growing - DataReportal (2022), “Digital 2022: Global Overview Report”

Remember the days that every business/organization/campaign built their own apps? People just don't download such various apps, instead, a few social media only. While our time and attention continuously move to social platforms, so do all kinds of businesses and services as well.

But how can we build software on the social media?

Apps on Social Platforms?

We've actually tried shipping automated services on the instant messaging, that's the Chatbot. Its future seemed to be bright since the chat platforms is so popular. Unfortunately, it finally failed because of:

  • Lack of programmatic features. Most bots only provide little static content.
  • Poor user experiences. It's hard to optimize chatting UI/UX.
  • Messaging UI is limited. So they can't provide complicated features as in GUI.
  • No social media support. Chatbots only work on chat platforms.
  • No standard UI. So the development ecosystem failed to grow.

The problem is how do we made these bots:

Popular tools for chatbot: BotFramework(↖), DialogFlow(↗), BotPress(↙) and Rasa(↘).

These no-code tools have only so limited and inflexible functions that caused the problems above. If you look at history, it's almost impossible make useful software without programming logic. However, if we do have a programming solution that fix these issues, it could be the key to the next-gen app.

That's the reason I spend last 3 years developing the Machinat.js framework, which brings a brand new way to make apps on social platforms.

I call it Sociable App.

Sociable App = Social Media + Chatbots + Web App

A sociable app does these works seamlessly:

  • Managing social media accounts
  • Communicating to users as a chatbot
  • Shipping features in an extended web app

So it's not only a chatbot, a web app or an automated social account. It combines them all in one app that provides even better user experiences.

Below, I'll show you how it works with a sociable Wordle game.

Enter from Social Media

The original Wordle has a problem: lack of an entry point. A sociable app can manage its own social media accounts, which work as the entry of the app.

Users can access the app and use it on Twitter.

On social media, it can promote a campaign, interact with users and serve community-oriented features.

The app can do social media operations directly

This solves the traffic source issue of web apps. And it also means the app can market itself automatically.

Communicate by Messaging

The app then points users to the private messaging chat, which is the core of the app. It provides 1-on-1 services here with the most friendly UI, the human language.

The app serves statistics and notification features in chatroom

In the chat, it can provide basic features like menus, guides and notifications. Machinat has all the tools you need to build UI/UX in a chat, including rich message formats, chat flow and intent recognition.

Advanced Features in Webviews

Then the app can open a webview to provide more complicated features in the chatroom. In the example, it's the Wordle game itself.

Users play the game in a connected webview

The webview can serve unlimited features and experience in GUI like a web app. In addition, it's securely linked with the chatroom and you can smoothly switch between them.

Another common usage is extending the chat experiences, like showing rich data or selecting complicated input. Like in another example:

Update a form in a more visualized way

All Platforms, All Features

Moreover, all the utilities mentioned above are cross-platform. This means everyone on social network can easily access your app.

The app is cross-platform that also works on Messenger, Telegram and LINE (in order)

One issue for cross-platform apps is we often need to customize UI/UX and logic for each platform. Such optimization can be easily done too.

In Messenger, it requires one special step to notify after 24 hr

Furthermore, Machinat.js can support all the features of all the platforms. So we can always optimize user experiences using any native feature.

One Integrated UI

Finally, the social media, the chatbot, the web app are integrated seamlessly. Thus, sociable apps can ship a unified experience just as in one app.

The app works smoothly on Twitter

Machinat.js integrates these mechanisms as one revolutionary UI. It's standardized, cross-platform and extensible so developers can easily build 3rd-party UIs, plugins and even platforms. This make it possible for the ecosystem to grow together.

That's the key to the next-gen apps.

The Impact

The UI revolutions before had not only changed the software, but also how everything works in our world. We think sociable apps is going to make these new changes:

The Revival of Lightweight Apps

Sociable apps are super easy to use, because:

  • you don't need to download or log in
  • you can access them on any device
  • you use them by simply chatting

It's perfect for the lightweight apps that have once prospered on mobile devices.

A pomodoro timer that is always available to you

It may especially fit small games, informational apps and apps for an event/location/store. These apps benefit from the social media traffic the most.

Personification of Software

A sociable app can have its own image and personality on social media. It can be either original or linked to an existing character.

HoloPomodoro is a pomodoro timer with VTuber image

A well-designed image helps users to know it, recognize it and get closer to it. This makes it like a real-life NPC.

Automating Social Media

Businesses spend lots of human resources on social media today, mainly for marketing and customer services. A sociable app can automate these works and save huge cost.

The sociable app naturally fits customer services

It also enables some new strategies on social media, like a gamified experience.

A gamified marketing example

And to a developer, since you always need to promote your app on social media, why don't you develop a sociable app at the beginning?

The Omni-Channel App

In the future, Machinat.js will support every platform that uses human language. That includes SMS, email, voice assistants and embedded chat in websites or mobile apps.

Sociable app can serve on all the media for communication

Therefore, the marketing, sales and customer services can all be programmed into one app. For example:

Integrating other services and apps smoothly

This provides one unified user experience to the customers everywhere, which implements the omni-channel experience automatically.

Try It Today

Today, the environment is more ready than the days of chatbot hype. Social media is even more popular. Technologies like intent recognition are mature. Platforms' support is complete since Whatsapp finally opened the cloud API. It's time for the revolution to happen.

Machinat.js makes it super easy to build sociable apps. You can create an app with one command; run it and start developing in minutes; launch the app in merely one day. It's the most efficient way to reach users in this social media age.

Initiating a sociable app is super easy. The video is played in real time.

For now we support 4 platforms: Twitter, Messenger, Telegram and LINE. We'll keep supporting more in the future, and plan to cover all the mainstream platforms this year.

You can start your first app from our tutorial.

Join Us

Our goal is to ship software on all social platforms.
So apps can provide features in real life, everywhere, all around us.
So they can ease the social media works and bring amazing new strategies.
So they can serve in our most familiar way, like a close friend.

However, to push such a paradigm shift, it's not only about a framework. It requires the whole ecosystem!

The more people join, whether to develop apps, packages or the framework itself, the more we can push this vision forward. Imagine that an app can learn telling jokes by simply adding a component. That can even possibly lead us to build better AI!

If you are a developer, you can find more resources on the GitHub repo. And welcome to discuss anything on our Discord server. If you have a cool idea or any cooperation chances, mail me and let's see how to push it: patrick.liu@machinat.com

Happy coding the next-gen app!