Multimedia Design & Tech

Friday, September 30, 2005

What every web designer needs to know today

When I first graduated from college with my shiny degree, I thought I would have no problem finding a job in my field. I would just walk out the door, spend the summer partying, and then get hired in a nice design firm making $40K a year to start out. Wrong. I realize now looking back how stupid I was back then, thinking that stuff would just fall into my lap. The reality of it is, I graduated and then spent a year as an assistant manager at Walgreens. I actually got so desperate at one point that I enrolled in pharmacy school to try out another 6 years of school (and well over $120000) in debt.
The one thing that saved me was a phone call from a job I applied for online months before that. During the entire year working as a slave in retail, I did occasionally post my resume online via bostonworks.com, an extension of the local newspapers job listings. By sheer luck, this turned out as a great idea and I was hired a week later, finally getting my foot in the door of the design world. Because of this experience and many more since then, I've come up with a list of things every prospective designer should know these days.
1. If you use an online resume / job listing (ex monster), be sure to update your skill set and resume as much as possible. Each time you update it, your name goes back to the top of their lists on the site, and you'll get more exposure.
2. Learn a scripting language, as many as possible. Chances are you can find a job without this knowledge, but you'll get left in the dust eventually by someone else who does know it. You don't necessarily have to be an expert either, even if you know enough of a language simply to read it, it 's enough to put that skill on your resume. Key languages to know these days are PHP, ASP, Java, MySql, and Actionscript / Lingo. Any and all of these will help your career potential immensely.
3. Learn about databases. Whether you use Filemaker Pro, Mysql, Access, Oracle or even excel (which shares the basic theme), knowing how a database works sometimes can get you a job in itself. A buddy of mine knew how to use Microsoft Access enough to build very small applications, as well as just enough VB script to get by. By chance he applied for a job down in Florida at Office Depot as a Database Adminstrator, knowing he wasn't completely qualified at all. However, because he was able to talk about his experience in Access, his knowledge of Access and SQL (which he learned about a week before his first interview) he ended up with the job. They even gave him a $2000 sign on bonus to help him move and started him at $45K a year, for a job he had little or no experience in! They also agreed to train him in advanced SQL. I can't stress the value of knowing how a databse works any better.
4. Lastly, don't get caught up in worrying about how good of a designer you actually are. Very few graphic designers make a lot of money just doing static design. This field requires that you be well rounded. Here's a list of things I believe every designer should begin to familiarize themselves with.....WYSIWYG Design software (Dreamweaver, Golive, etc), dynamic web software (Flash), Multimedia software (Director), Video editing (Premiere), basic 3D (Maya, 3DS Max, etc), video optimizing (Cleaner, etc) and illustration / image editing obviously.
PS. Before I forget, get on the RSS / podcasting bandwagon as soon as possible. This is the future of communication and advertising and now is the time to capitalize on the technology. Learn all about it as soon as you can. Utilizing RSS is also a great way to stay ahead of the technology curve. That's, all I hope this information helps you in the career.

Thursday, September 29, 2005

The nightmare that is web applications

Anyone that has developed a web application for a client knows this. It can be lead to alcoholism. The beginning of the process usually goes smoothly. Once you have the database designed and the UI setup, things start to get complicated. Recently on a project, we completed the beta preview, which allowed the client to test the site out, enter records, test out our spiffy error handling and field correction functions, and overall just make sure the thing works. Our next project meeting resulted in a pretty long list of bugs, which can be expected on a project of this magnitude. So we delegated out the list to our programmers and patted ourselves on the back for a successful beta release. Then next week another list of bugs, and another, and another, this time consisting of the same bugs as the first week, a completely personalized tweak on this system here and there and every other imaginable problem that is every programmers worst nightmare. Without boring you with the endless details, suffice to say that I've learned alot from this project thus far, and plan on going about it differently next time.
Here's my plan for the next major dynamic site:
1. Log EVERYTHING related to the project from day one
This includes every version of pages created, every brainstorming session, every conversation and interaction with outside people (including consultants & anyone in attendance with client meetings) The more you have on record, the easier it is to deal with the clients problems later (or the clients accusations)
2. Make sure each person in your web team has dedicated consistent roles throughout the project.
Someone should handle aestheic design, someone should handle HTML related scripting (CSS, forms), someone should handle dynamic scripting (PHP, ASP, etc), someone should handle security issues (SESSIONS, COOKIES, DB security), and someone should be in charge of errorhandling ($_POST checking, DB field communication), . On the database side, one person alone should handle any changes to Tables and Columns, and should be in constant communication with the rest of the team anytime ANYTHING changes in the structure of the database. Lastly one person should lead the client meetings and delegate work as needed.
3. Back up EVERYTHING
This is similar to number one, except it's more detailed. My suggestion is to create a Master log of everything on a dedicated and scheduled backup hard drive AND in paper form. Each table in the database should have word documents and paper print outs of the structure of each table and the language used to build the tables (ex. CREATE TABLE statements). Each web page should have the entire code printed out and stored on the backup drive, this also goes for "include" files and the like, especially if you tend to optimize code later on (ex ZEND optimizer).
4. Seperate the system reliant bugs from the user preference bugs during debugging
Alot of times during the debugging sessions you might come across things that really don't affect the function of the system, rather the "bug" is simply that particular user's problem with the system. You cannot create a perfect application (ex Windows) This is well known and documented throughout the world, so don't kill yourself trying to fix every little nuance that the client suggests. Any application whether web based or not will have bugs, and require maintenance or updates /patches. As long as the system does what it is supposed to at the most basic form, you're safe to release it. Plus by doing this, you ensure a maintenance contract with the client in the future to address these "bugs" as they come up in the future.
5. Remember what worked and what didn't and write protocols for new functions and unique system attributes
Alot of times, I've reused old code and ideas from past projects either to enhance the current site or to save time. If this particular project asks for a unique function to be written, save it and keep it in a protocol book. After a couple projects you'll have a nice compendium of both commonly used functions (ex date computation) and customized functions (ex numerical field ranges for forms) that you can use in the future and that you can show to prospective clients. It can also go into your portfolio.
That should be enough for now, while I'm by no means an expert...I've pulled out enough hair in my life to know that these things work. Good luck.

Introduction

I am a multimedia designer working in Boston. I am also self employed on the side and looking at the possibility of starting an LLC. This blog will hopefully serve as a guide to people that are looking to get into the industry of design; web, graphic and multimedia. I graduated from Endicott College in 03 with a BFA in Visual Communications. My user name on digg.com is bluephoenix.