First off, in a quick paragraph I would like to introduce myself as one of Wisdump’s new bloggers. My name is Ryan Barr, and I am a young designer that has been designing for almost eight years now. My personal interests are web standards, validation, web programming, and seeing in what ways CSS can be bent. Honestly, I am completely honored to help contribute to Wisdump, and I hope all of you guys can do your best to put up with my sometimes-nonsensical ramblings.
Understanding a Web Application
It is a lot to take in, a web application is often a powerful, useful, constructive tool that betters a website, manages content or information, and helps the user with the main purpose of whatever the application is. Although, when you are the person who is building the application, it is something completely different compared to using the features and (for those involved users) submitting bug-reports and feature requests.
Putting Yourself in Their Shoes
When I started to build the web application I am now working on, my first thought was to jump right into coding its design and its main features. Now, I did start going through with that thought, and I stopped right after I finished the front-end and back-end design.
Your first thought should be ‘what is the main purpose of my application?’ and then furthermore, ‘how are people going to use this?’ and ‘what features are really necessary and what ones should be put on the side?’ Doing so will give you a better understanding of what you should focus on when building your design, and what things will be the main engine that powers the content the application will hold.
Now take a breath, I understand I just probably threw a whole-lot at you and a simple one-sentence statement is needed to actually get what I said: Ask yourself basic, broad questions from a users aspect before doing anything else. This will weed out silly little thoughts, useless little features (for now), and help you build in the long run.
Designing Your Application
You can’t just throw any ol’ design at a web application. There is this new thing in Web 2.0 that is called usability, and any good web application should probably hold it. What better way to do so than have a usable design that functions with your features, and not against them. When you log into your application it should be inviting, and in some way have the more important content stressed and be the main focus, but also carry the eyes to the smaller features. The only way to accomplish this is to have a good flow.
This is where you need to think back to 3rd grade art class when you started to learn contrast, repetition, and flow. Yes, designing websites is an art and all of your handy-dandy little art lessons can probably help in some way. In this case, using those aspects in your design can help the users eye to stay where you want them to be, and allow them to flow thru all of the content and features that your application has to offer.
Finally Building The Application
As you run through all of the pre-stages of getting your application going, you will run into quite a few roadblocks and such that make you think. Doing (in my eyes) the first two steps might take a while, seeing as if you ask yourself a good enough amount of questions, you will form a good business plan ASWELL AS making a good choice, design-wise, might take some time to hit the nail on its head. But after you pull yourself through all of that, it will be time to actually getting your dynamic coding in there and building an engine and some good features to go with it.
Now, there isn’t much to say about actually building your application, just for that reason: its YOURS. Although, my advice would be to make sure all of the big features are in there first, and build your little features on the side of them. It will help you realize what features you might actually want to hold off on for a later version, or perhaps give you more ideas for better features.
Pre-release and Releasing
You have your application’s design and system complete, and hopefully took the initiative to build a website where people can acquire your system, although there is something you might want to consider: beta-testing. Without beta testing hell could break loose and your system creating a pathway to some private files on someones server, or your system not having the right security to eliminate iframe injection and other corruptive things could lead to some pretty big arguments in the long run. So before putting out that 1.0 release, try a 1.0b release and let selected people play with the system on your server, then after you fix those bugs and problems they find, let them move to their server and do bug-reporting. Eventually you will have a strong system that is safe to release and ready for the world to enjoy.
This will be the only time I include closing statements, only because it is my first post. The whole time while writing this entry, the thought that it will be put on almost 8,000 feeds just drove me wild and put a pavilion of butterflies in my stomach. Now I do apologize if my writing was a bit scratchy, bumpy, discombobulating, or eye-burning in any way. I would love to personally open you to e-mailing me ( ryanbarr [at] gmail (dot) com ) and letting me know your thoughts in how I can improve, because personally, I really want to write more enjoyable pieces in the future.