outboundz out of the simplest boundz

10Jan/100

ActiveBotNetwork ~ concept & something more…

Hello Reader.

I've been talking in real for ABN - written bellow  - so many times, that it is final time to me as developer to enter all the thoughts, road blocks and something more in digital form.

The entire purpose of the following is to get the overall picture 'sticked' as much as possible  and make it transparent for further improvements. Take in mind that what is stated bellow is subject to change during next meeting follow ups, as it was modified so far. See while I've been talking to people so far, we all had targeted and solved one or another problematic aspect on the concept been discussed.

Don't get scary of the long text bellow, this is the short version :)

Let's start with Active Bot Network concept in one sentence...

Active Bot Network is distributed network of single purpose applications.

Ok, nothing new you may say. And what's that thing which makes my live easier?

- basing software development on ABN lowers the time needed for completing single product feature.
- 'simplifies' application's implementations, thus lowers the risk of issues related to its purpose.
- enables evolutionary software development beyond using only agile methodologies.

Hmm. What? Well, that is natural reaction to the above three points. But let me present them in more light....

One of the most often used backend features in mine applications are "user data storage" &  "sms/email sending". So if you follow me - you'll already thought about the case that those two features  can be `sticked` into separate applications:

- userstorage application
- sms/email sending application

And expose their functionalities to other 'high-end'  applications via any possible medium: HTTP, XMPP, AMF, RAW SOCKETS, & anything else which you can think of.

Ok, so far nothing new also. But please do not stop reading, follows something really crazy:

Imagine having not 100, but 10 000 such simple purpose applications. Some of them proxies to existing services, some of them as they are currently provided as 'services'. Add in the picture decentralized application registry. And make all this realtime.... From which point lets assume that applications are just acting as 'bots' in ABN. Let's say that every bot can have more than one instance, and place in option that there will be "bots talking to bots" (Peter Neubaurer).

Yes, that is internet nowadays. Nothing new here in terms of technology(JBoss & many more), only a switch in the concept... Currently internet has hundreds such 'application bots', some of them running in application servers, others in separate services, clouds & etc... All they are targeted in solving given particular problem of technology (most often resulted as end-user products like Twitter).  See from this point on, most of the Readers may give up reading...

But for those who are still here - we'll take a sharp turn and assume that:

Everything in technology is possible, depending only on how much time it will take.

Or in other words let's forget about the pin-point technical details, they all will be referenced later in. And focus on the concept as stated before Active Bot Network. What everytime was needed to mention at this point during my talks is that current software development trends follows something like natural evolutionary pathway, where in the beginning programmers played with algorithms, later with libraries and now most trending is with services. What comes out from all of this is that it comes natural to start building those applications talking to each other in even more complex scenarios of those like master application using child ones (userstorage, sms/email sending, & etc.). And because one brilliant mind said:

“Make things simple, but not simpler”(Albert Einstein)

It is more easy, cost & effort effective to focus on building more stable common features wrapped as bot applications and scale up on reusing in hierarchical manner. When in addition to that design principle of simplicity (also reflected in current design patterns well used across various technologies) is provided realtime context based eco system of underlying and overlaying bot applications, then things get really chaotic as Reader may suspect already. And chaos may be considered highly unappreciated behavior in human build network, but if you look at internet at higher level -> it is the chaos itself, therefore it is better to get used to it... Now lets take in the second aspect of nature/evolutionary based software applications:

"Only the strongest will survive"

And here we all stay in front of next main question (again but in other form) as may Reader already noticed - "What is my share of joining such network?". Well the same as the other's who are developing applications based on such ABN concept - opportunity to expand, scale and most important interconnect.

Then there are coming some more questions as well, but before answering them, for which the Reader should excuse me - Next on the ABN facts stack comes in place the ability not only to create first hand application bots but also bot managers. While keeping things simple it is natural to be able to support any possible device which is constructed with networked communication. Such ability implemented wisely (don't forget that only the 'strongest' will survive) will empower ABN as decentralized eco system. Reader may already doubt about my own well-awareness and what the f**k I'm talking about exactly... But please continue reading because of the fact that:

To whom I've presented the idea in full potential, always agreed that it is possible, but...

But things are really simple. And because of that ground base fact ABN can be build only on evolutionary approach, where sharing of knowledge & opportunities is the most important aspect of participation in there. Hmm. Does it makes sense now? Well take in advance the following ideas:

- active bot network can be build not only by individuals, but also by companies, teams, organizations & others.
- there will be always people for one thing, and people for other, as well as bot application serving one purpose, and bot application for other.
- concurrency is the natural  way of seeding the strongest (the most stable) bot applications. Therefore and application versions of such exists.

About the questions, which I've promised to answer - > please forward them here http://activebotnetwork.tumblr.com/ask, that way I'll be able to respond in the most rational and transparent way. Sadly here I'm not able to list all of those questions and answers to which we all finally contributed to form the overall ABN's concept as clear as possible. But what is stated above means every single word. And what wasn't covered - will be in the near feature. What is essential to be understood right from the beginning is that:

Without global eco-system contribution and awareness ABN won't be possible.

As much active people start thinking and contributing, as fast things will start moving, where no momentum will be lost in leveraging across technologies... Only the most usable per given purpose will survive.

Something to share:
http://activebot.net/forum
http://activebot.net/wiki
http://activebot.net/wiki/abn/projects

http://www.pluraprocessing.com
http://linkedprocess.org
http://neo4j.org
http://www.rabbitmq.com/
http://haxe.org

Ps. Whatever mistakes had been made, or wrong assumptions stated - they are all mine unless otherwise mentioned. If you find something inappropriate please contact me to get it fixed asap.

Comments (0) Trackbacks (0)

No comments yet.


Leave a comment


No trackbacks yet.