Four Types of Web Developers, Which are You?
Tags: Development, Business, Communication | on 15/8/08
After years of working with developers and observing motivations - it seems I've generalized people into a few categories.

Please don't balk if they aren't 100% accurate, since everyone is different it is hard to generalize - but this shows the general trends I see of paths people follow when devleoping for the web.
Type A: Developers for Developers
The core of the coding world. They have philosophical debates about code with each other. From this group of people came all the programming languages ( C++, PHP, Java, Ruby, etc ). If they have any people skills at all you will see them leading conferences and in the lime-light. Otherwise you can find them in password protected MIRC channels and in the deep dark caverns of corporations where no business person has ever step foot.
Type B: Developers for Client-Developers
They build plugins, frameworks and tools for themselves and fellow developers. The focus is on developing bits of reusable code to accomplish client work more efficiently. In the marketplace some are self-employeed, yet most of these people occupying full-time positions as team leads (or normal developers who exceed employer expectations). Their philisophical debates are found to be mostly around what are the best tools to use, but also on how to write the best code. Community activity is high - as most have blogs, comment regularly on blogs and attend conferences.
Type C: Client-Developers
These developers use out-of-the-box software packages and slightly modifies them to get client work done. Their focus is on doing what the boss or client tells them for the day. May listen to podcasts, or participate in community lightly via blog comments or in-frequently posted to blog hosted at Blogger.com. Will only attend a conference if it is local and 100% paid for. In the marketplace you will find them working 40 hour weeks. Prime motivating factor is family and job security.
Type D: Developers for Money
These people are hack'n'mash, "developers". You will find them grabbing dreamweaver or any WYSWYG tool to, "make a million" via affiliate programs and any idea they can get their hands on to make money. Visit their sites and see all types of ads - link ads, popup ads, pop-under ads (though some are finding smarter methods). Products are being sold because they understand the human condition and feed desire into a sale (conversion).
What type of devleoper are you? I am definitely type B.
Should JavaScript Be Required?
Tags: Accessibility, JavaScript, Development | on 16/12/07

Should you offer your website to those without JavaScript? - or should you simply require it to make sure your website works how you intended? Where do you draw the line in the sand between functionality and accessibility?
The Simple Answer
Do not require JavaScript in any public areas of your website.
If your website is public-facing, then you should not require JavaScript. It is bad for search engines and accessibility. The search engines will not be able to parse all of your website, leaving you with bad search rankings. And most obviously people without JavaScript turned on will not be able to view your hard work.
The non-public facing parts of your site varies. You may be able to tell ahead of time whether or not your administrators (non-public users) use JavaScript, which is usually the case. I think it is fine to require JavaScript for admin interfaces so long as they are not open to just anyone.
The Stark Reality
There are cases in which you simply cannot build websites to accommodate JavaScript on or off. This is life. Requiring JavaScript then boils down to three basic factors: requirements, timeline, and dedication.
Requirements
First, is a non-JavaScript of the website required? If not then you can't base your decision to build a non-JavaScript version based on the requirements. You then have to factor in the next two variables.
Timeline
Do you have time built into the project for building a non-JavaScript version of the website? If you aren't required to build your website without JavaScript, then what is the timeline like? Does it allow you to go the extra mile for your users? If you have the time on your hands, then it comes down to the last factor.
Dedication
Lastly, are you dedicated enough to develop that perfect website that works without requiring JavaScript? We front-end developers sometimes aren't dedicated enough to build a websites that gracefully degrade.
To be fair, there is usually not a lot of pressure on us to go this far with our work - so why do it? The client usually doesn't care and neither do your coworkers. Requiring JavaScript is a personal choice, but soon enough it won't be. You will be forced to develop websites that don't require JavaScript in the future, so why not learn now? Target was sued and soon enough businesses will realize that this is important.
One Final Note to Business Owners and Business Analysts
If you are a business owner or business analyst reading this, then please realize this: building websites that have great features and yet works without JavaScript can be a difficult task. Don't pressure web developers to do this without paying them the proper time and resources to accomplish the task. Time is valuable and money talks.
5 Things I learned from Coding Open Source
Tags: Development, Open Source | on 5/5/07

1. Create a solid foundation.
When you release a piece of code to the open source world, make sure it is commented and nicely formatted. I was under the impression that I would release a piece of code and people will just use it. Not so, they actually interact with your code and modify it to their needs. When you release code to the public, if you comment it well and make it easily extendable you will be amazed at how other developers augment it.
2. Treat your community well and watch your project grow.
Make sure you give users a platform to speak off of. I did this with comments on the demo page. In open source, the community you are a part of is the lifeline to a better project. If you respond to users and fellow developers, they will help you out a lot. jQuery calendar went from having a basic feature set, to having 25+ customizable options and 10+ languages. Could I have done that alone? No, and thats the beauty of open source. I can release something and if I have a solid foundation and a community to fuel it then it will grow.
3. If your code becomes popular, prepare for tons of bugs and feature requests.
At first, it was really cool to get any response at all on my code. I was instantly fixing, updating and supporting my users. After a few months the code became more and more popular. I eventually got overwhelmed with emails and comments. Now I could literally spend three full work weeks tracking down and catching up on the comments on my jQuery Calendar plugin alone. I decided I need to shut down my comments and direct all traffic to jQuery's bug tracking tool. At least now it will be categorized, organized and more efficient. I think comments were a really great starting point because people could make comments without having to register or go to a new location to comment. But at some point I need to have a life and that involves making things easier for me, the developer.
4. Test your code in browsers you don't care about.
Make sure your code is tested in Safari, IE6+, FireFox and Opera or else you will never hear the end of it. Maybe you don't care about one of those browsers but I guarantee someone will complain because they use it as their primary browser. Use something like Firebug Lite to debug your code in non-firefox browsers.
5. Don't expect money, you'll get paid in other ways.
I've talked to open source gurus and they don't get many donations, so you probably won't either. You will get paid in other ways. Sometimes you need to do things because you are passionate about it rather than expecting to get rich. There is more to life than being rich.
Programming in the Wee Hours
Tags: Development | on 5/5/07

Do you ever have that itch at 2:30 AM to get up and program? Well this happened to me this morning and it is now 4:45 AM. My mind loves solving problems and doesn't care what time it is. This has happened since I was very young, age 14 on up. I would wake up early or never get to sleep because I was rolling around thinking of ways to solve computer and programming problems. Sometimes I feel like I was born for this.
Run Multiple Versions of IE!
Tags: IE, Development | on 5/5/07
A friend sent me an standalone version of IE6 (Eolas version) today. I booted IE6 up on my machine with ease and my first question was, "Is this legal"? Well, I did some research and I was astonished by what I found!

Tredosoft's Install multiple versions of IE on your PC - YES, thats right, you can install IE3 IE4.01 IE5 IE5.5 and IE6 on your computer! Now you can see what grandma sees when she checks her email with IE 4.01! I'm kidding - of course the main purpose of these older editions is for testing and fixing old IE bugs.
All of the versions of IE were installed on my computer in a minute. The only stipulation that I found was this:
Microsoft supplemental EULA says : IF YOU DO NOT HAVE A VALID EULA FOR ANY "OS PRODUCT", YOU ARE NOT AUTHORIZED TO INSTALL, COPY, OR OTHERWISE USE THE OS COMPONENTS AND YOU HAVE NO RIGHTS UNDER THIS SUPPLEMENTAL EULA.
Download Multiple IE Installer (EXE)
I am truly amazed.