(more) ActionScript 3 weirdness

Posted by Luke | Actionscript, Actionscript 3.0, Dribble, Programming | Wednesday 7 May 2008 11:08 am

The other day I was attending the Colin Moock lecture “AS3 from the ground up” here in Sydney. Even though the lecture was very (and I mean very) basic, as it was intended, it was still quite interesting to see the man in action. I sat through the whole thing even though around 4 o’clock I was ready to walk out (of boredom). I’m glad I made it till the end.

Even though the lecture was quite basic there was one thing he pointed out that caught my attention. The implicit calling of the super class constructor. He’s stated that even if you do not specify a call to super in your sub class constructor, the super class constructor is still called. this sounded all to weird for me. I didn’t wanted to shout this out in case I was wrong and I didn’t bring a laptop to test out if this weird behavior was true. And thinking again, AS3 has a number of weird things going on that are not consistent with what you would expect. So, this might be another one of those things.

Never the less, the next day I decided to test this behavior just to make sure this was the case, and behold. It is. Besides the fact that you can’t make constructors private in AS3 (which is a different discussion all together) the super class constructor IS ALWAYS CALLED!!!

As a programmer, for me to override the constructor has actual meaning. It means that I DO NOT WANT THE SUPER CLASS CONSTRUCTOR TO EXECUTE, unless I call the super class constructor explicitly with the super keyword. To me this is another typical one of those; “we complier designers need to protect those poor little programmers from them selfs, the poor souls don’t know what they’re doing” type of thing. Sigh…

For some reason, the more I do with AS3 the the more frustrating it is becoming. Every time I run into small but irritating issues like this the more I tend to step away from the language. Don’t get me wrong, I like the executing speed increase and the improvement from AS2 its just these little annoying things that get to me.

The proprietary (in-house) CMS (revisited)

Posted by Luke | CMS, Dribble, General | Thursday 1 May 2008 10:21 am

I’m sure you’ve seen them. You might even have worked with them. The company with the proprietary CMS. Almost every company that specializes in web development has some sort of self proclaimed spectacular and ground breaking CMS that was developed in-house. My opinion? Try to avoid them!

Why? You ask. Well let me explain. Say you’re a developer and you’re being hired by one of these companies. It will be highly likely that they expect you to further develop this CMS or at least work with it. Most of the time this is almost impossible to do. I’ll bet you, there will be no documentation and the complete system architecture (if there is any) is probably all locked up inside one guy’s head (the guy who built it). Great. Now imagine you’re a client of a company with a proprietary CMS. I’m sure they will tell you that their CMS is the most fantastic and easy to use CMS in the world. It will solve all your problems. Unfortunately, you as the client has no way of actually testing if this statement is true, all you can do is believe them.

Now, in comes the established open source CMS. There are so many open source CMS’s out there that it’s almost not funny if you need to pick one. Just hop over to CMSMatrix and you’ll see what I mean. Currently the popular ones and my personal pet favorites are Drupal, Joomla! & Wordpress (For the moment we put aside the discussion if Wordpress is an CMS or not). Of course, the benefits of using an established open source CMS over a proprietary CMS is obvious:

  1. There will be documentation (for both end-users and developers).
  2. The implementation of features has been questioned during development (i.e. with all likelihood, more than one developer has worked on it and they discussed amongst each other the best way to implement certain features).
  3. The number of implementations will be much higher (i.e. real world examples).
  4. Clients are not locked in with a single development party.
  5. Clients are free to investigate the system before using it for their solution (transparency).
  6. Community (knowledge sharing).
  7. Jobs (for developers).

Well, I don’t know about you. But there’s not a lot that can compete with that and I’m sure that at least you will agree with me on most of these points. As a matter a fact, I can’t think of any benefit of using an proprietary CMS all together.

Of course, like most developers I would love to build a full fledged CMS myself. Heaps fun! But in the end its pointless. The market for CMS’s is completely over saturated and building your own can be considered a complete waste of time and effort. Now, by all means. I’m not claiming in any way that there is no room for proprietary CMS’s. Proprietary CMS’s are very suitable for the Amazon’s and eBay’s out there which are specialized systems, not generic ones.

As a developer, there is another very important aspect of proprietary CMS’s to consider. If you work for a company that utilizes a proprietary CMS, then whenever you would leave your position at that company, all your CMS knowledge will be worthless. On the other hand. If you had worked all that time with Drupal or Joomla! than you could actually utilize that knowledge in your next job. It might even be the case that you will be primarily hired for that knowledge.