CommonThread

Displaying articles with tag

To obfuscate or not to obfuscate

Posted by anthony crumley, Sun Mar 25 20:02:00 UTC 2007

Books, web sites, paintings and sculptures are not obfuscated. It would be absurd to do so. Making them accessible to other people is a primary objective of their creators. Obfuscating them would make them useless.

Books can be copied and redistributed on the web, in print, or in audio. This often happens and costs the writers and publishers some money. Yet the publishing business is still alive and writers continue to write.

If creating software is indeed art and craftsmanship then we should be eager for people to see it in its fullness, through and through. Will some people try to steal it? Yes. Will it cost us some money? Yes. Is openness worth the risk? I think so.

The top ten (minus one) reasons not to obfuscate a Javascript rich internet application are…

  1. Life is better lived with an abundance rather than a scarcity mentality. There is plenty of room for us all to make a living. Highlander, “There can be only one.”, thinking must go.
  2. It is very fulfilling to have people see and enjoy our code. This is an unfulfilled need of developers who work in the obscurity of obfuscation and closed software. The community of their peers can’t give them the recognition they deserve and need.
  3. Experiencing great books, web sites, paintings and sculptures inspires other artists and craftsmen to reach their full potential. Allowing other developers to see the beauty of our work will inspire them as well. Web designers benefit from this now. Coders should too.
  4. Bigger is not necessarily better. Why can’t we be satisfied making a good living doing something we love. Most people make a poor living doing something they hate. Every web site does not have to be the next Google, eBay, or Amazon. It is OK to be small and make a couple hundred thousand dollars a year.
  5. It is very hard to create a site on the web and actually get people to use it. The real monetary value of our work is the community that forms around it not the work itself. Value is based on a relationship between craftsmen, artists and the people who desire or need their works. Building relationships and communities requires a lot of hard work and involvement. These are more often lost through neglect than stolen away.
  6. We must stop working in darkness and fear and come bravely into the light. It will hurt our eyes at first but as they adjust we will experience a wonderful new world filled with live code that will change the way we create software. No longer will we have to be satisfied with weak examples that do not approach the complexity of the real problems we deal with.
  7. It is illegal to steal other peoples work and those who do so risk legal action.
  8. The hidden work of coding tends to become sloppy because no one outside of our group will ever see it. When everyone can see what we are doing there is motivation to do work that is presentable. Having guests in our home always motivates us to clean up better.
  9. It will be hard to steal all the code and get it working on a server, especially since the guts of the model are on the server. It will be harder yet to keep up with changes and enhancements.

0 comments | Filed Under: Pseudo | Tags:

Nooooo, not another ajax framework!!

Posted by anthony crumley, Sat Mar 24 23:01:00 UTC 2007

“Rich internet application, how do I create thee? Let me count the ways.” Flex, Rails, Lazlo, .NET, dojo, and on and on ad infinitum. There are choices coming out our ears, each with their own special genius and insanity. Why add yet another choice? Because I can. Because I want to. Because someone else may like it. Because there must be an easier way. Because I want to be just like DHH. :) While all these reasons may be true, fundamentally, I am doing this to express myself, to make a noise, to be heard, well at least I hope someone hears me. Is anyone listening? Is there anybody out there?

Well, just in case someone is listening, here are the characteristics of this new nameless framework in no particular order.

  • It is entirely Javascript based.
  • It is friendly to designers, except when they get the parens and braces out of whack.
  • Developers will love it.
  • It embraces the DOM and its markup origins rather than trying to hide it beneath layer upon layer of confusion abstraction.
  • It makes the normal simple and the abnormal possible.
  • It is based on the Model View Controller pattern (aren’t they all).
  • It could be described as a domain specific language for web development.
  • It doesn’t care how the model works. If you like complexity use Java. If you like limitations use .NET. If you want to be cool use Rails.
  • It prefers convention over configuration ($1 to Rails).
  • It embraces the under appreciated beauty of Javascript and does not try to be Ruby or Java or object oriented.
  • It uses the prototype library and embraces many rubyisms regardless of the previous statement.
  • It tries to be easy on the eyes. No jungle of cluttered, wordy, and redundant code to hack through.
  • It is friendly to various effect libraries.
  • There is a real focus on creating beautiful code. We are artists and craftsmen not scientist and engineers.
  • It pushes the user our friend’s interface entirely to their machine saving processing power on the server. (People who use our creations are our friends and we should appreciate them. Our works would be pointless without them.)

More details to come…

BTW, if you have any name suggestions, I’m listening too.

0 comments | Filed Under: Pseudo | Tags: