
Show HN: Build your own Facebook, own your own data - EGreg
TL&#x2F;DR: https:&#x2F;&#x2F;github.com&#x2F;Qbix&#x2F;Platform&#x2F;blob&#x2F;master&#x2F;README.md<p>We built it over the last 10 years and we’re giving it away.<p>We are still working on updating the documentation to be as cool as for Angular and React. But it’s more than those frameworks. It includes a PHP backend with MySQL (pluggable) database support, with Node.js optional for web sockets realtime updates and offline notifications to apple&#x2F;google&#x2F;chrome&#x2F;firefox&#x2F;etc. On the front end it&#x27;s got integrations with Cordova for releasing native apps in the stores, such as https:&#x2F;&#x2F;yang2020.app<p>Just as an example if you wanted to build videoconferencing into your website, you would just do:<p><pre><code>  Q.Streams.WebRTC.start(options)
</code></pre>
And if you want to have a secure user signup, forgot password, account management you just do:<p><pre><code>  Q.Users.login(options)
</code></pre>
If you wanted to have events and schedule videoconferencing for various apps you build (eg group dating or collaboration) you would use<p><pre><code>  Q.Calendars.addToCalendar()
</code></pre>
Reusable tools are placed like this:<p><pre><code>  Q.activate(
    Q.Tool.setUpElement(
      element,
      “Streams&#x2F;chat”,
      options
    );
  );
</code></pre>
or with jQuery:<p><pre><code>  $(element).tool(name)
  .activate(options)
</code></pre>
You can have tools and subtools and pass options similar to React etc. Our goal is to build a growing ecosystem of well tested, reusable components that anyone can use, even if they are not very technical.<p>Qbix separates concerns, e.g. text strings go into JSON files letting you translate your entire site with a script, then human translators can fix things.<p>It&#x27;s been audited by third party security firms, automatically generates SRIs, minifies your code, loads it on demand, and much more.<p>Finally, it’s interoperable with everything else so you’re not locked in. Take a Wordpress site that uses React and drop a chatroom or videoconference in there and gradually start to build community features, an app in the store and reward people for inviting others etc.
======
EGreg
I wanted to write the background to all this.

With these lockdowns, the corporate online platforms have grown a lot. Zoom
welcomed a lot of new people, and Facebook and Google got in the game too. If
we want to communicate or collaborate, date or plan something, we go through
one of the big platforms.

Large corporations running the infrastructure to connect us and mediate our
interactions. This is how it’s been from the beginning. It’s the first stage.
Like we had with America Online / MSN / Compuserve.

But eventually organizations want to host their own software and own their own
brand, database, relationships and so on. Maybe customize the experience and
integrate it into their website.

In fact the Web itself came and replaced AOL and others with an open protocol
(HTTP) where anyone can permissionlessly set up their own domain and host
their own website.

The Feudalism of rentseeking corporations has been replaced with a free market
of hosting companies, and trillions of dollars in wealth were unleashed.

Today, Wordpress plays that role for Web 1.0 (publishing) powering 34% of all
websites. But what is out there that will power even Web 2.0 ... namely all
the social networking and interactions we have come to expect from Facebook,
Google, Telegram etc.?

Web browsers alrrady have all the front end capabilities including Web Push
notifications and WebRTC videoconferencing and even PaymentRequest for
payments etc.

There just needs to be a platform that lets people take ready-made components,
like wordpress plugins, but Web 2.0 (chatrooms, events, etc.) that are all
based around the same standardized unified core (user accounts, permissions,
etc.) and are user friendly enough.

That’s basically an operating system. For example before MacOS/Windows
developers all built their own buttons/menus/windows etc. Before UNIX people
built their own file management etc.

These OSes standardized the layer 1 so developers can just use standard
buttons and reason on higher layers. Developers of Photoshop for Windows did
not have to implement custom menus and buttons. And because of the
standardized components, the users across apps were used to a common language,
they knew what buttons and menus did, and even if the app used a custom
version it had to be close enough to be recognizable.

So in this same way we need a social operating system for the web. Like
Wordpress for Web 2.0 — open source and let anyone build their own Facebook or
Google Meet out of reusable components. Ideally the core should be all
designed together, like BSD, so the underlying OS is a good extensive
foundation and not a hodgepodge of components.

Check out the GitHub link. And especially the videos there. It’s totally free
and open source. You can build something like Yang2020 in a day. We are using
it for our clients, who want custom work done.

If you run into a snag or want to ask anything, just hit me up at greg at the
domain qbix.com

Finally... if you are a PHP or JS developer, and want to contribute to the
project, please first try to install it yourself and play with with it. (We
have tutorials but we are making more.) And email me. We have lots of clients
who want these custom online communities right now, and we are looking to
equip developers in diff countries to build them using this platform.

