I’ve had a couple of very nice professional milestones this month that I’d like to share.
One, I’ve been named to the Editorial Advisory Board for the Journal of Association Leadership. JAL is the only peer-reviewed journal for the association profession. I’m very excited to volunteer with ASAE & the Center in this capacity. I have also issued a press release on this with more detail.
The other is that the book I have been co-authoring with four other consultants is finally published! We Have Always Done It That Way: 101 Thing About Associations That We Must Change. We gave away a couple hundred copies at ASAE’s annual meeting and have had great feedback so far. It appears to have been the buzz of the conference!
I responded to a question earlier this week about how you can judge the quality of a web application’s code. The question was from someone who would be receiving the source code for the app in question once it was finished and they would be responsible for maintaining it after launch. How can you tell if the code is of high quality and easily maintainable if you are not a programmer yourself?
Here are a few things I would look for in this situation:
- The application provides helpful/friendly error messages to users when something bad happens. If they have put thought into error handling then they have probably done so throughout the application.
- They use a code versioning system repository for developing the application. Any programming shop who knows what they are doing should use a tool like this. If they are not, I’d consider them amateurs.
- Source code is well documented. Browsing through the code, you should be able to understand what each section does, even if you are not a programmer. If the comments are too cryptic or few, then it will be harder to maintain when they hand it off.
- The application uses classes for commonly executed operations. If the same bit of html has to be rendered repeatedly, make sure they have that pulled out into a single class rather than simply repeating the code over and over throughout the application. This makes maintenance much easier.
- They use unit tests. Unit testing can be somewhat challenging with web apps but can be done. Unit tests are a series of tests that will check that the application is functioning properly after a change is made (regression testing). I’d consider a shop doing this effectively to be very competent.
Some of those obviously require a coder to asses for you but at least you know some questions to ask that will get at whether the developers in question have good practices in writing code. It is no guarantee but will weed out the poorest candidates.
Here are a few books you may want to review if you want to learn more about good development practices:
(had an issue with my amazon links, list to be reposted later)
Also see Joel Spolsky’s reading list.
Rosenfeld Media has announced their first author (other than Lou himself): Card Sorting by Donna Maurer.
Card sorting is a technique that is used to gather user input to design the information architecture of a site. The technique is easy to prepare and run, and great fun. But sometimes the results can be hard to interpret and it is not always clear how to use them to design the IA.
This short, practical, and accessible book will provide the basics that designers need to conduct a card sort in a project. More importantly, it will explain how to understand the outcomes and apply them to the design of a site.
I use card sorting exercises with clients quite often. I’m looking forward to reading the book when it is done and hopefully participating in its creation (this is a beta book type of publishing process).
The Pragmatic Programmer’s blog, PragDave, has a post up about what they do under the surface to be successful at publishing their books. They have gotten a lot of attention about their success in selling beta versions of their books and involving the community of buyers in improving the final product.
Behind the stuff that you see us doing, there’s an underlying philosophy and set of practices. They all reinforce each other. For example, the fact we have continuous builds and author-typesetting means we can create beta books that are living documents. The fact we have an errata system hyperlinked from these beta book pages means we can put feedback in the hands of our authors, and hence we can get updated revisions out faster. Each of these aspects of what we do is a small thing in isolation, but we have hundreds of them, and they all add up to a cohesive, and we feel revolutionary, whole. Copying just the visible aspects misses this depth.
I think the post is a bit unfair, or unrealistic, to expect no one else to be successful in using the model they have developed. However, the point that you have to have a compatible business philosophy and practices in order to do it, is a critical one. Louis Rosenfeld may be someone who can successfully replicate their success, with his new publishing venture, Rosenfeld Media.
I am participating in two group blogs (glogging?) at the moment.
One is the Great Ideas Conference Blog, developed in conjunction with ASAE’s Great Ideas conference. It is being written by several folks who will be presenting at the conference in Orlando starting this Sunday.
The other blog is one that I am writing with several association consultant colleagues that we hope to eventually publish as a short book. We’ve Always Done It That Way: 101 Things That Associations Must Change. Our premise is that doing things the same way as you’ve always done it probably isn’t working out too well these days. We are helpfully providing a few changes (101) you might want to consider. Jamie speaks for me in his post about the group of folks we are working with on this.
Jeffrey Veen talks about how the web world has changed since he wrote his ‘Art and Scient of Web Design’ book 5 years ago.
I wrote The Art and Science of Web Design five years ago. That doesn’t seem like all that long ago, really, but when I recently paged through the book I was pleasantly surprised to find just how much had changed. When I started writing the book in the winter of 1999, there were no large-scale commercial sites built with standards-based markup. Every single design decision we made factored the dial-up experience. Personal home pages were still a handcrafted-html effort; blogs had only barely emerged on the scene.
I was frustrated with the state of things back then. I was building a team at HotWired, which had become a division of the Lycos search portal. That was the height of the boom, and hiring designers meant talking to dozens of people who thought being a good designer meant not collapsing layers before throwing the Photoshop file over to “one of those HTML people.”
I spotted this definition on Doc Searls’ IT Garage (paraphrase):
DIY-IT is happening wherever you see shelves full of O’Reilly books.
So true! I’ve learned a lot and advanced my career by reading as many O’Reilly books as I can get my hands on and find the time to read.
Which reminds me of one-half of a cell phone conversation I overheard in the M Street Borders in DC one day. This young guy in dockers was kneeling in front of a shelf of operating system books and his phone rang. Here is the half of the conversation I heard:
Young Dockers Guy: Hello?
YDG: Yes, I know the server is down.
YDG: I’m looking for a book on it right now!
James Robertson has announced the release of the second version of his Content Management Requirements Toolkit:
The first version of the Toolkit has been used by organisations the world over, from Fortune 500 companies to government agencies and small businesses. This new version builds upon these successes, and delivers even greater value.
I highly recommend picking up this report if you are embarking upon a CMS selection. It was very helpful to us when we conducted our last CMS selection.
Gadgetopia has posted a a review of Mastering phpMyAdmin, a book on how to use the excellent MySQL administration tool, phpMyAdmin. I used an early incarnation of it back in ’99 for my first PHP project. It has been a regular part of my LAMP toolkit ever since. Definitely check it out if you need to manage MySQL databases and have a PHP box on the same network (which you probably do if you are using MySQL).