Skip to content
This repository has been archived by the owner on Nov 24, 2021. It is now read-only.
Gene Vayngrib edited this page Jul 15, 2013 · 13 revisions

What is Appnet

Since the birth of the Web there existed a rip in its fabric. A fault, that fuels the drive to aggregate things in one place, against the very nature of the Web.

It is certainly much easier to create an amazing user experience with all the data under your app's control. What if websites and apps could have their independent existence, yet could meet other apps in one homogeneous, secure and neutral environment.

Before the Internet, computers were isolated and weak. This is the state of the apps today. There are a million apps and about 10,000 of them offer APIs. It is as if 1% of computers could connect and each had its own unique protocol.

Urbini is a way to universally connect any and all apps. Much like Facebook, Urbini provides an open data graph for all apps to tap into. The difference is that the graph, and the inter-app connectivity based on it, are on your own device, not in the datacenter. You control access to your own data instead of a faceless company that government agencies have a way to tap into.

Urbini loads the graph using Web APIs provided by the apps and synchronizes the new data back to the respective web sites. Synchronization works automatically and in real-time. In a tribute to the Internet, we call it Appnet.

Graph is a local datastore on the device, and thus allows developers to create responsive and rich user experiences, both in online and an offline mode. And this power grows exponentially as apps join into the Appnet around the graph. This way Urbini offers web apps a major advantage over native apps, yet it is open and inclusive. It allows any app that has Web API to join the Appnet.

Appnet is a new app dev paradigm. The best part of it is that it allows the kind of app dev automation that was not possible before, thus opening the doors to the kind of creative people who were scratching their itch with IFTTT, but never quenched their thirst.

Appnet intro

There are several ways for apps to communicate today. There is IFTTT, and Zapier, and there is mashups. How is Urbini different?

  1. Urbini is open. Anyone can write an Urbini adapter to any existing Web API. Check out those we wrote already (link coming up). Once an Urbini JS adapter to app's WebAPI is created, any app (with the permission from the user) can access other app's data in a uniform way [as Backbonejs models].

  2. Urbini is not limited to point-to-point app communications of IFTTT. Urbien is not [pipes, like Zapier] (https://zapier.com/developer/), it is a graph. Why does it matter? Because now you can write an app that draws data from many other apps as if it was one database. Wait, no ifs, it is one database, on user's machine.

  3. Urbini is client-centric. Unlike IFTTT and Zapier, and like most mashups, inter-app communications in Urbini happen on the client. Unlike mashups, which require writing a glue code, Urbini unifies all communications around a local, client-side database.

  4. Appnet automation. The coolest thing about data-centric vs api-centric comms is that now automation becomes possible. Urbini takes advantage of that by providing generic UI (backbone views with client-side templates) for types of data, by allowing to create triggers and other types of inter-app scripts, by providing unified sync service, by supporting push notifications, etc.

  5. Appnet dev. Generic Urbien Views and templates can be cloned and customized. In fact the whole app can be forked Github-style. Look at the Edit App menu for 'fork me', and the right-side menu (in top navbar on any resource view) for cloning templates and views.

  6. Urbini is open source. But you already know that, silly.

Clone this wiki locally