//-->

Ethical Software by Alex Bunardzic

June 14, 2007, 7:19 am

Software Development Detox Part 4: Tribal Computing

Filed under: Radical-simplicity, Resource Oriented Architecture — Alex Bunardzic @

One of the absolutely most heinous types of software intoxication is what I like to call Tribal Computing. This is the form of computing that is tied in with the primitive, proprietary setup and is a remnant of the old days of early adoption of computing by the businesses.

Ontogeny recapitulates Phylogeny

Ernst Haeckel (a German natural historian) wrote in 1868: “Ontogeny, or the development of the individual, is a short and quick recapitulation of phylogeny, or the development of the tribe to which it belongs.” (in this context, ontogeny is the development of the fetus, and phylogeny is the evolution of a species). Haeckel was referring to the way the fetal development of mammals seems to parallel the evolution of all life on earth. The fertilized mammalian egg first resembles a single-celled amoeba, then a multi-celled sponge, then a jellyfish, then an amphibian, then a reptile, then finally becomes recognizable as a mammal.

Applied to the field of computing, one could say that the development of computing seems to parallel the development of human society. At first, the society was segmented into small primitive tribes, which slowly evolved into larger units, such as cities, counties, provinces, regions, countries, nations, and so on.

We are today standing on a threshold of global computing (i.e. the web). But, in certain ways, we still seem deeply entrenched in the primitive, stone age world of tribal computing.

Think Locally

Most software in operation today is severely localized. Meaning, it was built to live on a single box, single CPU. Everything about it is very closed, very proprietary, and extremely local.

Some software allows for certain level of connectivity, whereby other software systems are given an opportunity to connect to the localized software and share/exchange some information.

Only the latest, most recent batch of software products (the so-called social software) has left the world of tribal computing and is reaching out to the global computing space.

Control Locally

Most tribal software was/is built with an engineering frame of mind. Whenever we approach building something with an engineering outlook, we are striving to introduce maximum level of control into the system.

One of the most detrimental side effects of building software with an engineering slant is the temptation to retain the state of the conversation. As we’ve seen in our first installment (State), the best way to create brittle and buggy software is to insist on retaining the state of the conversation that had transpired during the operation of the software product.

In addition to that, insisting on staying local (i.e. tribal, single box, single CPU etc.) means that the point of control also stays tribal. There is a single authoritative instance that claims to know everything and that controls what can and cannot happen on the system. That instance then becomes a single point of catastrophic failure.

Relinquish the Control Globally

In contrast, non-tribal software exhibits stunning capabilities for growth thanks to relinquishing the rigid engineering attitude. One of the fundamental reasons why web is such a spectacularly successive computing platform lies precisely in this abandoning of the tribal past and moving beyond the need to control and retain the state of the conversation.

By deciding to not care about the state of the systems engaged in the conversation, the non-tribal, globally oriented software is free to grow in any direction and to scale to any level of complexity.

We will see in the next installment what are the most optimal ways to achieve that level of robustness. Stay tuned.

27 Responses to “Software Development Detox Part 4: Tribal Computing”

  1. 静电放电发生器 Says:

    静电放电发生器

    不看好这个

  2. 恒温振荡器 Says:

    恒温振荡器

    文章写的不错啊?

  3. 空气净化 Says:

    空气净化

    不看好这个

  4. 玻璃比色皿 Says:

    玻璃比色皿

    文章写的不错啊?

  5. 分析仪 Says:

    分析仪

    文章写的不错啊?

  6. 笔式PH计 Says:

    笔式PH计

    有道理,支持!

  7. 排针 Says:

    排针

    好有趣啊,呵呵!

  8. 压力校验仪 Says:

    压力校验仪

    好文章,值得收藏!!

  9. 日本FSK水平仪 Says:

    日本FSK水平仪

    好有趣啊,呵呵!

  10. LCR电桥 Says:

    LCR电桥

    好有趣啊,呵呵!

  11. 管道油泵 Says:

    管道油泵

    楼主说的确实对我很有用,多谢了!

  12. 双辊破碎机 Says:

    双辊破碎机

    不应该是这样的吧?

  13. 磁性液位计 Says:

    磁性液位计

    有道理,支持!

  14. 隔离器 Says:

    隔离器

    不看好这个

  15. 椭圆偏振光谱仪 Says:

    椭圆偏振光谱仪

    好文章,值得收藏!!

  16. 双金属温度计 Says:

    双金属温度计

    文章写的不错啊?

  17. 射频连接器 Says:

    射频连接器

    好文章,值得收藏!!

  18. 热变形维卡温度测定仪 Says:

    热变形维卡温度测定仪

    好文章,值得收藏!!

  19. 噪音计 Says:

    噪音计

    有道理,支持!

  20. 模拟振动试验机 Says:

    模拟振动试验机

    不看好这个

  21. 湿敏电容 Says:

    湿敏电容

    文章写的不错啊?

  22. 影像测量仪 Says:

    影像测量仪

    好文章,值得收藏!!

  23. 自力式温度调节阀 Says:

    自力式温度调节阀

    好文章,值得收藏!!

  24. 塑料破碎机 Says:

    塑料破碎机

    不看好这个

  25. 数显仪表 Says:

    数显仪表

    好文章,值得收藏!!

  26. Ethical Software by Alex Bunardzic » Software Development Detox Part 5: Session Says:

    […] In my previous installment (oh-mi-god, it’s already been a year!), I’ve discussed the hard-wired need to retain central point of control when building software. Today, I’m going to examine the central software concept that implements this urge for control: session. […]

  27. Britney spears. Says:

    Britney spears.

    Britney spears.

Leave a Reply

You must be logged in to post a comment.