Conceptual ideas vs. Implementation

Note to future self…

Today I was listening to an interview where they discuss the idea of decoupling conceptual ideas from implementation. Here are my quick notes:

“Separating conceptual ideas from implementation is crucial. The biggest reason is: despite the fact that you can’t implement a certain system yet, having the conceptual ideas ready means that other people can be inspired by it when the technological requirements catch up.”

This notion explains why certain products might have been “way ahead of their time” or why experiments that might have failed in the past suddenly work now because some condition changed.

Why does this matter?

This idea that there are two separate domains of knowledge (e.g. conceptual and the practical) that interact with each other and can be in or out of sync is fascinating. So where do we go from here? I think we can start with some questions:

  1. What are the fundamental concepts in X domain?
    Example: in web computing you have the notion of a page and a hyperlink
  2. What have been implementations A, B, C of a given concept
    Example: hyperlinks can be implemented as mono-directional (link takes me from A to B – common implementation) or bi-directional relationships (link can refer back to original page)

This quick exercise might be a useful technique to help us be more innovative in areas we might have overlooked before.

Side note: I just realized that this idea of decoupling concepts from implementation might be a crucial step in thinking from “first principles.” It’s the mechanism by which you “break down an idea” (decoupling concept from implementation) and then “build it back up” (exploring new implementation to old concepts).

That’s it. Now back to work…