I’m sure that this topic will be irrelevant to most people. Usually, when your organization needs you to develop a new application they say to take as long as you want. Rarely do we actually have timelines or due dates. But I guess there might be one or two people out there who need to build and deploy a basic app quickly. I’m sure you’re already familiar with RAD (Rapid Application Development) philosophies and you’ve already examined the usual CASE (Computer Aided Software Engineering) tools. You probably already know that typically it’s possible to use these tools to quickly slam together a workable app by sacrificing some scalability and features.
Actually this website was a little bit like that when I put it together. I didn’t have a lot of time but wanted to get something up quickly. In fact I’m quite happy with how it turned out and I took a few notes about lessons that I learned in the process. And as I’ve been thinking about these things I’ve started thinking that these probably apply to general RAD too.
Choose the Right Tool
This is probably the most important thing I did – and it is the most important decision you will make in any RAD situation. I evaluated a few different blogging and CMS options before settling on WordPress and I could not be any happier with my choice… WordPress is amazing! Additionally, the choice to purchase hosting on a linux server where I could get shell access was significant. (I was initially planning on hosting it myself at home over my DSL line… I think I made the right decision!) With any RAD project you must decide what tools you will use. Forms or APEX? MS Access? Visual Basic? FileMaker?
Get a Head Start
When you’re trying to determine the right tool, perhaps one of the first questions to ask is “how much example code is there for this tool?” WordPress has a facility called “Themes” which essentially provide the look-and-feel of your entire website. And there are lots of libraries on the internet with dozens and dozens of themes each in them. I perused probably a hundred themes before settling on this one. Different RAD environments also have various amounts of pre-built components and code. If possible, jump-start your project by finding another app which is close to what you’re trying to make. Then start with this code rather than starting from scratch. (Be conscious of licensing here; especially if you are releasing your app to the general public.)
Learn By Example (Plagiarism Isn’t So Bad)
Pay Attention To Detail (Try To Break It)
Test, test, test. Click everywhere that people aren’t supposed to click. Resize the window to sizes that no rational person would use. Type special characters and strings that are too long into all the input fields. Click all the buttons in the wrong order. Try as creatively as you can to break it. I discovered quite a few quirks about this website when I first viewed it in Internet Explorer. (I use Firefox.) Especially with the modifications I made to the LevelTen Plugin, I was finding links that were missing the category filter in my sidebar for days after I put the site up. If you’re developing a RAD application that’s no excuse to slack off on testing: you should still make sure that the application behaves the way it should.
Don’t Be Intimidated To Learn New Technologies
Keep It Simple; Refactor If Necessary
Last but not least is the KISS philosophy. Don’t overcomplicate things. Half way through the development of this site I completely changed how I was separating content. I was originally doing something a bit more complicated but realized that the easiest and simplest solution was just to use two categories (“Technical” and “Non-Technical”). The LevelTen code could already do this quite nicely; I only needed to fix the links and help the sidebar detect which content to show. In a valiant display of refactoring boldness I rolled back a bunch of my complicated code and went for the simple solution. The end result is a website that’s easier to understand and maintain. Naturally the same principle applies to Rapid Application Development. Know what tools are available and choose the simple solution.
Well if you’re one of the few people who, like me, occasionally needs to develop applications on a tight schedule then I hope you find these tips useful. Turns out that it actually is possible to design decent and usable applications rapidly if you do it the right way.