Tuesday, March 29, 2011

Was doing some thinking on what makes an architecture truly reusable

One of the things that I have been pondering is how. I was really pondering this because I was working on something this weekend that is to be truly reusable, and one of the things I kept thinking about over and over is:

  • understandability
That might not be a real world, but the key point I am trying to make is that no matter what you do, or what you work on - if you want it to be used by someone else or thousands of someone elses, you need to insure that it is actually understandable; otherwise it cannot be replicated. 

So - how? How do we make things understandable?

That, of course, is a tougher question. It's also harder, of course, to retrofit something existing than to create something from scratch.

Wednesday, March 23, 2011

More thoughts on reuse as it applies to architecture

I think the main thing about any architecture that enables reuse is that it has to be comprised of the following elements:

  • simple architectural framework
  • as lightweight as possible
  • easy to understand and code in
  • defined (and to an extent, hardened) scope
Now, one of the things I am still wondering about is how all of this should apply to rapid development. Should a good, reusable architecture be able to be coded in very quickly? If so - how quickly?

One of the other things I need to do (speaking of encapsulation) is to pull out the ol' NXT. Because to me, that speaks of all of the architectural things I look for (as a user). Now, it may be that Lego has a pretty complex beast under the covers. But from an aesthetical standpoint , the visual development environment is nice.

Sunday, March 20, 2011

Reusable architecture

What makes an architecture reusable, or - what foundational elements are necessary for architecture to become reusable?

It has to consist of both technical elements, process elements and enablement elements.

More after the break.....

Saturday, March 19, 2011

Encapsulation continued

The underlying technology by those cubes is developed at MIT --> technology called siftables:

http://en.wikipedia.org/wiki/Siftable

also:

http://alumni.media.mit.edu/~dmerrill/siftables.html

Now, let's see if we can work on learning more about them, and how that paradigm can be best expressed in software. Somehow, I think this is already a cooked goose, but it'll still be fun to explore it.... :)

Architecture Encapsulation

One of the things I've been thinking about lately is the fact that there should be a better way to encapsulate architecture, or encapsulate the entity that you're trying to work on within a self-aware architecture. I'm pretty sure this has been done or is being worked on, but I guess it would take the underlying technology of nanobots and neural networks one step further.

I think this first happened when I saw the show on the science channel about the robotic thing that could go just about anywhere - you'd add another pod to it, or if it got separated from one of it's pieces, it could reattach and use that piece immediately as a part of the collective.

I think this may be further encapsulated in the game _Scrabble Flash_ - their smart link cubes I think are worth investigating.....