Reverse Architecture

A classic case of how one thought can lead to another, ultimately taking so much longer to focus!

It all started with a thought on how google contacts module works (within gmail). If one were to receive an email from abc it would show up as exactly that in the inbox. Unlike behaviour of a phone, the email id is not replaced by name if you go and add this email as a contact in your contacts book. Wierd.

Next thought: What does this imply?

 

  • This simply implies that the “batch jobs” in the gmail domain do not continuously run
  • Contact names are just static text as opposed to dynamic nodes
  • A search on names vs search on any other text is the same!?
  • The contact database is not a index like “labels”

 

Next thought: What is the name of the process of what I just did ?

Looked like I started uncovering the “design”. Did not uncover the “code/programming” structure, so it is NOT reverse engineering per se. Probably reverse architecture.

Next thought: is there something(a field of study) pre-existing called reverse engineering?

Looks like there is! Atleast some have already thought of it (not surprisingly). I was hoping to find a lot more links on hacking related to reverse architecture, but interestingly didn’t. This signals that the IT Security community classifies (rather incorrectly) Reverse Architecture to fall under Reverse Engineering. Maybe I should take the cause up and spread the love of RA-Reverse Architecture around. Ah, one of the myriad things I would have done with my 72 hr days.

As this topic revolves around design patterns and reverse design patterns it is rather interesting. Some links:

CiteSeer Papers on Reverse Architecture
Experience with Reverse Architecture to aid understanding

Next Thought: Interestingly, no wikipedia article on RA!

Let me start one!
Just did- http://en.wikipedia.org/wiki/Reverse_architecture

Now where was I? What was I doing… Back to work I go