Interview: Donald Atkinson
Name: Donald Atkinson
Location: Albuquerque, NM
Company: nTouch Software, LLC
Title: Anything and Everything
1. How did you get into web design/development and how long have you been doing it?
I began web-based development in 1995 but not in the sense that I was developing web-pages. My very first program was a web-crawler that input standardized information into a searchable database. Later in 2002, I did some client work for RDBMS to XML/XSLT for a web-served application. Next, I moved into full client-based web design. I did this for 2 1/2 years, but quickly decided that it was not for me. Now, I make websites for my own endeavors and avoid client work entirely. Sooo.... 16 years?!
2. Are you a freelancer or do you work for an Agency?
Neither and both. I run my own business (nTouch Software, LLC) and have to make websites to market/support it. Rather than make it the core of my income like in the past, I create web tools for my company and its products. I also provide education for aspiring developers independently and in groups.
3. What did you use before MODX?
I worked without a Content Management System for a long time and made pure PHP/CSS Solutions. This was quite fun as I made some interesting self-mutating PHP systems. When I started to get disillusioned with client work, I decided to try some. I settled on each one like I do programming languages. The list is large, but certainly not exhaustive. I tried the big ones: Drupal, WordPress, Joomla!, and MediaWiki. Then there were a few purely web-served applications for content. After those didn't work for what I needed, I moved back to complete solutions with Magento, SilverStripe, Dotnetnuke. None of them did what I needed, so I moved on to eventually find MODx.
4. How did you learn about MODX and which was the deciding factor to make it your CMS of choice?
After a long exhaustive search with pages of results plagued by the big three, I finally found MODx on the 9th page of results. It was a blog that discussed a developer's experience with the platform. The MODx site really sold me, not because it told me how to do anything, but because its philosophy matched mine. I installed it and began working on it immediately. After 1 week, I got rid of everything else that I had accumulated.
5. What OS and applications do you use for web development?
I use MODx to develop on MODx. Primarily, I work in Google Chrome and Internet Explorer 9+. I work on Windows exclusively, at current. Previously, I have used Dreamweaver, Front Page, Publisher, and Cold Fusion. I always found myself going back to plain text Notepad until I found Microsoft Expression. I stopped using any editor when I hooked up with MODx.
6. What project management tools do you use?
Not. a. one.
7. Do you have a workflow to start a MODX project?
Yes. I'll be darned if I know what it is, though. OK, that's not quite true. First, I decide on features. Often this requires me researching as many implementations of similar features as I can. Then I prioritize according to ease of development. Once, I have the features, I make several placeholder pages and build the infrastructure around it. After each feature is implemented, I design a single page of content, integrating all currently developed features. This allows me to make sure that each development step is as simple and flexible as possible while providing inline testing.
8. Which are your favorite MODX extras and why?
I don't use many extras. I mostly develop for my own needs. However, I love getResources. This is my staple... everything else is candy, if I can use it at all. On Extended Dialog, for instance, I have Login, getResources, Wayfinder and Articles (which includes a couple of others). I barely use any of them except getResources. Even Articles, which is reproduced a ton on the site, uses most of my own implementations. I must note, however, that I've downloaded and tried over 80 different extras.
9. What sites do you frequent to stay current with the constant evolution that is the web?
StackOverflow is the best resource on the web for any type of programming. Other than that, there is not a site that I frequent short of the forums that I might participate in. I don't believe in the "constant evolution" as everything is the same as it was 15 years ago, just bigger and with different terms.
10. What features would you like to see implemented in MODX?
This is a tough question. One really has to consider the true value of the system and be honest about what would actually add value to the system without compromising its current values. There are three in particular that I think should be incorporated. The number one change for MODx should be either a) the use of BigInt as Primary Keys for Resources or b) a System Setting to add/select a different table for Site Content.
MODx could also really benefit from better in-system help. Relying purely on a wiki or forums, I feel, is a mistake for any project. Another really nice feature would be an integrated package editor for developing your own packages. This is part of what makes Eclipse, Visual Studio, and MonoDevelop so incredibly awesome. If MODx had this, it would really set them apart from their competitors.
11. What was your favorite MODx project?
Without a doubt, Extended Dialog is the coolest web site I have ever developed. Using MODx, I created a social developer's network. In order to do this, I also had to create my own development tool to use with MODx, which I will soon be making a transport package for.
12. What one thing should every MODx developer know?
You can do anything in MODx. In fact, MODx is the only CMS that I've found that allows you to do anything you want without changing the core source in any way. I would venture to say that you might even be able to write machine local executables with it (given the right developer).
13. Any parting words of wisdom?
Aspiring developers should familiarize themselves the basics of object-oriented programming. Polymorphism is a particularly useful concept for MODx. Its not necessary to go nuts on it, just simply to understand what a class is and what an object is and how that translates to functionality and presentation. This has helped me maximize every aspect of web development, particularly in MODx. It streamlines my CSS, HTML markup, Snippet development, Template construction, Chunk creation, and is necessary for any JS.
I would like to thank Donnie for taking the time to do this interview for us keep a look out for this new MODX user who is doing some pretty cool stuff with our favorite CMS and helping a lot of people on the forums.
Remember you can drop us a line via our Contact form in the footer to let us know if you want us to review your extra, interview you or just send us a message to know how we're doing, even better if you'd like to write as a guest blogger to share a trick or tutorial.