What are we trying to sell?
Posted in Best practices, Business thoughts, Future, Opinions, Programming Philosophy on October 5th, 2010 by sinica – Be the first to comment Tags: thoughts“Elegance is not a dispensable luxury but a factor that decides between success and failure.” Edsger Dijkstra
We had a discussion today in a meeting and we had an strong insight: we don’t try to create/sell just another RAD framework but we are trying to sell: an environment that will enforce code discipline,an architecture that respects the experience of the industry (like MDA), best practices.
Really! We even decided to sacrifice from the programmer’s immediate convenience in order to deliver what we promise: reduced maintenance costs for the final applications. That could annoy some users if we fail to communicate what we are really selling: DISCIPLINE in PROGRAMMING with MVC, good practices and environment that will inhibit programmers to do clever tricks. Only at the end we should say that we sell a simpler programming framework! Sure, we are also targeting Excel users (at least the most sophisticated ones and only for simple things like CRUDs,simple forms) but it just happens that doing a “visual editor for MVC” led us near possible alternatives to spreadsheets space of tools. It is risky,very risky for a business to educate his customers but we are trying our best to do it in a easy and rewarding way.
Yes, a good education is required to appreciate elegance but usually the most elegant solution is the one that is more simple and efficient (almost by definition of the elegance) and we are thriving to achieve just that!
By best practices we mean things like:
- loose object coupling [1]
- real MVC architecture (and as simple as possible)
- MDA
- don’t mix many technologies and APIs in the same place (or like mixing view with controller as in many pseudo MVC frameworks)
- Don’t re-invent the wheel [2] (we have reinvented it for you
) - Keep things as simple as possible but not simpler. [2]
- Learn from others mistakes, not your own. [2]
- Begin with an end in mind [2]
- If it’s not broken, don’t fix it. [2]
- others…[]
References:
[1] http://en.wikipedia.org/wiki/Loose_coupling
[2] http://social.msdn.microsoft.com/Forums/en/Vsexpressvb/thread/78f6a9ba-05eb-45b7-88d5-8bcfcf0643cc


