browserLabLogo

Adobe has released a new Flex application called Browser Lab. It allows you to see what your web pages will look like in a variety of browser versions including FireFox, Safari, and Internet Explorer (versions 6, 7, and 8).

You can set up a side by side view, magnify part of the page, and select different browsers.
There’s an onion-skin feature that lays two pages on top of each other so you can quickly check alignment issues.

This tool is very helpful because it is so hard having access to multiple versions of Internet Explorer.

Here is a screen shot showing my home page in FireFox 3.0 and IE 7.0.

browserLab

You do need to register with Adobe to use this tool. However, if you are already registered for BuzzWord (a collaborative document site) or Kuler (a color scheme tool) than you have the userID/password you need. Here’s an article I wrote on Kuler.

Apple & Snow Leopard

Aug 29, 2009

snowleopardbymurphy1703Apple does it right.

On Wednesday I received an email notice from Apple saying that Snow Leopard, the new operating system was ready to ship. If I ordered right away I could have it by Friday.

Price. I thought about it for a few microseconds and then placed my order. After all, a major upgrade for $29, what a deal. And, the reviews were coming in very positive. A faster, smaller upgrade that solved real problems instead of adding on unnecessary features. And, it was shipping a month early. (Take note Microsoft!)

As Promised. Friday afternoon comes and as promised here comes Snow Leopard disguised as a FedEx delivery person. Right on time.

Customer Service. Ahh, but there is a glitch, a lump of coal in the snow. When I start installing the new system I hit an error. There is a scratch on the CD-ROM and the installation errors out. But, my original system is still intact and running fine. So, I call customer service. Something I don’t normally do. Hey, it’s only $29. (Actually it is $69 because I ordered the family pack license for 5 computers.) I can’t believe it when the Apple representatives answer the phone on the third ring. After some verification of my address I’m told a new CD will be on its way. I should have it Tuesday or Wednesday. “We are so sorry for the inconvenience,” the representative tells me with what sounds like true sincerity.

The snow leopard is very rare. So is a company that ships weeks before a deadline, does fast shipping, offers a product with a low price and increased performance, and has absolutely great customer service if something goes wrong. Now, that’s the way to run a business. Apple shows that this is possible. It’s a shame that the few remaining Snow Leopards living in the remote Himalayan mountains of Tibet are so rare. The world needs more Snow Leopards.

Photo by Dave Murphy. Check out his Flickr photos.

Teach Yourself Programming in 10 years

Programming is an art and a science. It’s a life-long passion, not something you will learn in 7-days, 30-days, or even a semester.

Learning one language is not learning how to program. Peter Norvig, in his 2001 article, “Teach Yourself Programming in 10 Years” summarizes this up:

Researchers (Bloom (1985), Bryan & Harter (1899), Hayes (1989), Simmon & Chase (1973)) have shown it takes about ten years to develop expertise in any of a wide variety of areas, including chess playing, music composition, telegraph operation, painting, piano playing, swimming, tennis, and research in neuropsychology and topology. The key is deliberative practice: not just doing it again and again, but challenging yourself with a task that is just beyond your current ability, trying it, analyzing your performance while and after doing it, and correcting any mistakes. Then repeat. And repeat again. There appear to be no real shortcuts: even Mozart, who was a musical prodigy at age 4, took 13 more years before he began to produce world-class music. In another genre, the Beatles seemed to burst onto the scene with a string of #1 hits and an appearance on the Ed Sullivan show in 1964. But they had been playing small clubs in Liverpool and Hamburg since 1957, and while they had mass appeal early on, their first great critical success, Sgt. Peppers, was released in 1967.

Being a programmer is a state-of-mind. And if it your passion, those ten years will fly past before you know it.

Here’s some points that Peter lists as Secrets to Success:
* Get interested in programming, and do some because it is fun. Make sure that it keeps being enough fun so that you will be willing to put in ten years.

* Talk to other programmers; read other programs. This is more important than any book or training course.

* Program. The best kind of learning is learning by doing.

* Work on projects with other programmers. Be the best programmer on some projects; be the worst on some others. When you’re the best, you get to test your abilities to lead a project, and to inspire others with your vision. When you’re the worst, you learn what the masters do, and you learn what they don’t like to do (because they make you do it for them).

* Work on projects after other programmers. Be involved in understanding a program written by someone else. See what it takes to understand and fix it when the original programmers are not around. Think about how to design your programs to make it easier for those who will maintain it after you.

* Learn several programming languages. Include one language that supports class abstractions (like Java or C++).


So, as you struggle with that obtuse error message, or work through a re-design or a re-design for a program that just didn’t work right keep in mind that challenge to move out just beyond your current ability; making yourself an expert in your field.

Robot explores human nature in NY

Kacie Kinzer is interested in humans and how we interact with each other. The TweenBot is a rolling box with a smiley face and a flag giving the robot’s desired destination in the middle of New York City.

Thinking that the robot might be destroyed or ruined due to the hazards of city life it was made disposable. Kacie filmed the results from a discrete distance and it is heart warming to see what happens.

I can’t help but wonder if the tweenBot had been fashioned after the more sinister Transformers. Or, how would people respond if it was otherwise rude and abrasive with flashing lights and was painted with an irritating color combination or loud boom-box noise output. I think it is the happy face that does it and the delightful simplicity of the TweenBot. (There is a lesson in all of this!)

Here’s Kacie’s website describing the TweenBot project.

tweenBotPath
Mission 1: Get from the Northeast to the Southwest Corner of Washington Square Park / time: 42 minutes / number of people who intervened: 29

Doing a search on Kacie I discovered the Whisper Jar:

One secret captured forever in a jar, until a human comes along to listen to it and then replace it with his or her own secret. The roundness and the white luminescence inside a plain and simple canning jar makes this so magical. I wonder where I can get one for my office?

Kacie has more! She created the There Chair. When Kacie sits on the chair in her apartment in New York City, a light glows in the chair back home at her parent’s house, giving them a sense of presence. This is so totally cool.

So, this isn’t really about if people are good or not, as I first thought when I saw the TweenBot video. Instead I think these designs show us connection, with each other and the technology around us.

Here is Kacie Kinzer’s portfolio if you would like to see some other fascinating designs that touch deep into our sense of being connected as humans.

Noodling and Hunkering

One of my favorite technical words is “noodling”. I have my students noodle around with code to see how it works – have them break it and than fix it again to get control.

I often noodle around with code when working on a project, trying to stretch things a little more, trying to find out “What happens if I do this?”. This is especially useful when working with CSS and a new web site design.

At South by Southwest I heard Jared Spool from User Interface Engineering talk about design and user interfaces. I’m on their mailing list now and today he introduced me to another technical term: hunkering.

Here’s a excerpt from his article:
The behavior of hunkering was the same [for all types of people]:

  1. They lay out whatever physical pieces they have — raw materials,
    sketches, and images they’d collected.
  2. They work to put things close to where they’d be in their final
    form, relative to the other pieces.
  3. Then they step back and ponder it for a while.
  4. In some cases, they walk around to view it from a different
    angle, to see what it looked like from another perspective.
  5. Then they start back up to work.

This can be done in any type of business from web designer, to programmer, to cabinet maker, to dress designer.

Hunkering also ties in with a book I’m reading,
A Whole New Mind, by Daniel Pink. Daniel talks about using both sides of the brain, both the analytic left side as well as the more artistic, free-flowing right-side in order to deal with challenges we face in today’s world. No longer can we just be analytical thinkers working a problem in a straight line. Instead, we have to become more artistic thinkers, looking at things as a whole and getting ideas from other disciplines. Jared’s term “hunkering” describes how to do this process in a very real manner.

So, next time you are starting a project, before you start writing code or hammering nails, do some noodling around and hunkering to kick your right brain into gear.

Here’s Jared’s article: Hunkering: Putting Disorientation in the Design Process.

Browser Shots

Jan 16, 2009
Browser Shots

BrowserShots.org allows you to specify the URL of a target website and then proceeds to take “pictures” of how the page will look in each of the browsers you selected. This is a great way to do the final testing on how well your pages work without having multiple browsers loaded on your machine.

Here’s what the home page looks like:

Click for a larger view

Click for a larger view

There is also a link that will validate your CSS code as well as your XHTML code.

The top graphic a look at my home page which is a valid (strict) XTHML page. Notice how text and images don’t show up on all the browsers including the new IE 8.0

Special thank to Tim for telling me about this valuable web site.

You Are Global

Sep 27, 2008
You Are Global

I often talk about my son Micah in my classes because he gives me so many real-life examples that show how the concepts I present in class are put to work out in the real world.

Micah has written an interesting resume building site named GigTide using Adobe Flex. When he first published the site he received emails from several users in Italy and Greece asking him to fix the application so they could use the special characters of their language.

Did he have to re-write the entire application? Nope. All he had to do was change the character encoding to UTF-8 (Read Tim Bray’s article if you’d like to know all the gory details about character encoding.) Now GigTide.com can be used by Americans as well as by people that use a script languages found in other parts of the world.

And, its a good thing too, because when Micah checked his Google Analytic numbers the other day he discovered a nice surge in hits from Thailand. He did a little research and discovered a Thai blogger had written about GigTide and it triggered a surge in interest with the site.

He did a little research and found the CyberBiz blog entry showing GigTide in Thai.

That’s the example. Here’s what I teach in my course:

  • Keep in mind that when you put a web site up that you have the entire world as your market. Not just your town, or your state, or your country, but the potential of the whole world. (Think on how you can leverage your product/service/site to address more than the people in your own village…)
  • Use Google Analytics to keep track of what your site(s) are doing
  • Write your code and design your applications so they are accessible to people around the world

Creating different color schemes using KulerColor schemes are an important building block to good web design Here is a great tool from Adobe that allows you to build a color scheme from a logo or photo or by simply choosing the colors yourself.

You have to register with Adobe to use the tool, but registration is free.

Look for the “Create” button on the left to open up the palette selector and you can either upload an image or pull one from your Flickr account. I’ve seen similar pages do this, but they took color samples at random from the image. With Kuler you can move the hotspots around to select the key colors that you want to incorporate in your theme. The resulting color swatch shows the hex color values and is great to print out and keep with your client files.

Here is a screen shot showing our Computer Careers logo and part of the resulting color swatches:
Build a color scheme from your client\'s logo

By using colors on a consistent basis you improve the professional look and feel of the site and increase the believability of the site.

Special thanks to Michael in my Web Programming classes for showing me this great web development tool.

Problem Solving

Mar 13, 2008
Problem Solving

Every semester I get frustrated emails from students containing the phrase, “I just spent ____ hours on this and couldn’t figure it out.” Here’s a short excerpt that I usually include with my reply:


I can sure understand how frustrating it is to do something without success for so many hours. But, next time something like this happens, and after the first half hour, stop and ask for help, do something different, or find another resource. It depends on the problem but, normally if you are spending more than a half hour trying to solve a problem than your problem-solving skills need some work.

Here’s a checklist that will help you build up your problem-solving skills and hopefully speed your way to solutions:

  1. Stay focused. Don’t try to multi-task. Behavioral scientistists have proven that trying to do multiple things at once makes all of the tasks suffer.
  2. Simplify the problem. Web page not changing? Try typing in some odd letters (XYZ) in the middle of the page to see if they display. If they don’t you might have been spending the last hour typing in one file and looking at another!
  3. Keep track of what you have tried. Write it down so you aren’t repeating the same thing over and over and over. Be organized and consistent on how you look for a solution. Don’t just shotgun things over and over and over.
  4. After each failure try something different. If one combination doesn’t work think of something different to do. (Use number keys instead of number pad, check caps lock, type out the password in a simple editor to see the results…)
  5. Google is your friend Do a web search with the error message or a short phrase so you can see if others have had a similar problem.
  6. Think about the problem differently. Maybe what is broken is something completely separate from what you are focused on! Think of what else might be causing the problem.
  7. Go do something else or take a short nap After a set period of time, stop what you are doing and do something else. I usually give myself 1/2 hour to an hour depending on the problem.) Go take a shower, or sit down with a cup of tea, coffee, or pop and sit quietly, go take a 15 minute nap. Let other alternative solutions come to mind and then jot them down. Don’t force them, they will run away like minnows in a clear pool. Set a time limit for this activity. You should have 3 or 4 alternative things to do in 15 minutes of sitting quietly.

    No, playing video games does not count here. That just focuses you on other problems that may be more interesting (at the moment) to solve.

  8. Imagine what the solution or success looks like. If you don’t believe something will work, it probably won’t.

Photo from iStockPhoto.com. I tell my Java students that this is what the Java compiler looks like :-)

Hosting Traps to be Aware of

One of my students sent me a link to an excellent article on things to be aware of when purchasing a web hosting server package. Here are some highlights from Jason Faulkner’s article:

  • Be cautious on paying for your own dedicated server
  • Be skeptical of the claim “Our Data Center Is Top Notch”
    • Cisco router and firewall (I have a Linksys – a division of Cisco – home router with a built in firewall).
    • 100 mb backbone (all my equipment and NICs are 100 mb capable), but you would probably see gigabit backbone instead.
    • Backup power supply (pick any consumer level battery backup).
    • Climate controlled environment (we have heating and air conditioning).
    • [insert a stock photo of row of server racks here which I paid $20 for the rights to use.]
      Granted this is a very absurd example, but you get the idea of how easy it is to stretch the truth.
  • Avoid The “Free” Domain Registration With Hosting Package
    If there is nothing else you take from this article, remember this: Never let your hosting provider register your domain name for you as part of a hosting deal. Often times you can purchase a hosting package which includes free domain name registration and renewal as long as you remain a customer. While this may seem appealing, it is the worst thing you can do because your hosting provider, not you, owns the domain. This may not sound like a big deal, but as soon as you want to move hosting providers, guess who controls your domain? Not you. Worse yet, there is absolutely nothing you can do to get control over your domain unless the current owner (the hosting provider) transfers it to you.
  • Be Aware of “Unlimited Bandwidth and Storage”
  • Less Than $5 Per Month Hosting: As the adage goes… you always get what you pay for. Putting it bluntly, if you are paying $3 per month for hosting, you are only going to get $3 worth.
  • Beware of the claim ” 99.99% Up-Time Guarantee”
    If you do the math, 99.99% up-time means the server is only unavailable 4 minutes and 22 seconds per month (53 minutes an entire year).
  • Don’t trust the offer of “100% Free Hosting”
    bandwidth is not free. Make sure you read the fine print in any agreement claiming this as most likely there are ads embedded somewhere in your site, or the hosting package is so limited that it is virtually worthless.
    1. Go out to Jason Faulkner’s article for all the details.

      Thanks Pat for the great tip.

The WebFreeLanceSwitch logoLeo Baubuta on the FreeLanceSwitch blog writes about the 10 Essential Habits for FreeLancers:     

One of the things about being a freelance worker is that it is so free.

This can be a tremendously liberating thing — but it can also be intimidating, and confusing, and difficult. Without someone forcing you to work, why should you? It’s much easier to find distractions instead. And if everything’s up to you, that also means you’re responsible for everything — from start to finish. And that can be tough, especially when you’re just starting out.

The key, I’ve found, is to develop certain habits that will keep you not only disciplined but successful. Simple habits, to be sure, but ones that can go a long way towards taking you from a broke freelancer to a happy and productive one.

 

You don’t have to be a free-lancer to make these habits useful. Entreprenuers and students can use these as a guideline to become the person you want to be, to accomplish what you want to accomplish.

Here they are in summary with some of my own notes:

Market yourself.  Marketing is about connecting what people need with what you have. Advertising is part of marketing, and so is good customer relationships (word of mouth advertising and viral advertising). 

Be persistent. It is commonly said that a person needs to hear/see/experience the connection or message at least 7 times.

Be professional.

Set and meet deadlines.

Find focus. Concentrate on your current task or project, and eliminate distractions so that you can focus on this one task. Get everything else out of the way, and really focus. I use the David Allen’s principles outlined in his book Getting Things Done (GTD) and use Chandler and iGTD on my computers to help me focus, focus, focus.

Find time. Or, I think of it as "make the time"

Awesome quality. When you’re done with an assignment, go over it again, and look for mistakes, and ways you can improve. Sometimes you just need time to let a project "simmer" until it is ready for that professional garnish.

Follow up. This is how you build relationships.

Billing. This is another aspect of being professional. Be timely and consistent.

Building a rep.Your reputation is your best asset. In all areas of our lives.

Chandler logo of an orange dog
 "It’s possible for a person to have an overwhelming number of things to do and still function productively with a clear head and a positive sense of relaxed control.", David Allen, Getting Things Done (GTD)

I’ve been running Chandler for several weeks now and am using it as a stand-alone application to help me get things done. The software is designed on the principles presented in the best-selling book "Getting Things Done" by David Allen.  David’s concept is to get everything out of your head into a system. After all, our short-term memory is only 3-5 things. With everything in a trusted system (like Chandler) all you have to do is scan through the lists for the "What’s next?" item.

Chandler was a little perplexing when I first installed it but then I picked up a copy of David’s book and everything fell into place. Its amazing how quickly the stress of getting things done disappears and how much better I can concentrate on a single task (like writing this blog!) without being sidetracked by so many different things.

Chandler also offers a free server so projects and to-do lists can be used collaboratively. I will be setting one up to work with my advisor as I finish my Master degree project. The program runs on Windows, Mac OS X, and Linux. It is still in beta but it runs very quickly and smoothly. This is a nice piece of software and a great application based on solid principles.

Here’s a short tutorial that shows how to install and use Chandler.  Chapters 5, 6, and 7 have some great screen shots showing how the different aspects of the program work to help you organize your tasks and projects. After you play with the program for a few days, get the book and you’ll really be able to utilize the power of stress-free productivity.

I was just asking about Jason Niebuhr a few weeks ago. Today I see there is an article in the local newspaper describing Jason’s success as a computer repair business person. (Part One of the article. Part Two of the article) Jason is a student I had the first year I began teaching. He is totally blind. Using headphones and a program named JAWS, he would listen to the computer and my lectures at the same time.  A common adage is that teachers learn more than their students and Jason taught me a lot!

He showed me how to use the resources you have no matter what. He made me very aware that there’s more to teaching than just showing a PowerPoint to a group of people. Even though I am a strong visual learner I understood that different people learn different ways. However, Jason made me really apply this concept showing me how we all learn through multiple channels. Whenever I presented something that was only visual Jason would immediately ask me what  was there. It didn’t take me long to figure out how important the multi-channel teaching is and to include an auditory channel in everything I presented. (Because of JAWS I could easily do this using text on a web page. It didn’t mean I had to be talking all the time.)

But, all of these are common lessons. I learned something even more important from Jason.  A lesson about judgment.  I remember a particular conversation when several teachers were talking together about Jason’s chances for success. "How will he be able to tell which wire is hot?"  one teacher asked.  (Being blind, Jason can’t discern the difference between a red, black, or white colored-coded wires.) "How will he keep from being electrocuted? What if he reaches in and touches one of those capacitors!" another exclaimed. I don’t remember my exact response but I vaguely remember either agreeing with the group or remaining silent. I know I did not speak up for Jason’s abilities.

A few years later I had another student. He had stopped taking his medications and had become very paranoid. His behavior toward faculty and other students became rude and aggressive. Again, we all agreed that even though he had extremely high grades, his behavior would exclude him from having any job that we could think of. After a few traumatic semesters (for the student as well as for faculty!) he got his medications in balance again, finished his degree with an A+ average, and is now working as a successful software engineer.

It’s difficult writing about our judgments as teachers. We aren’t supposed to do that. And it is the success of Jason Niebuhr as well as many other students who have taught me a very important lesson: I can never know when the passion and personal perseverance of a student will help him or her overcome all odds (and judgment calls). And, the next time I hear folks forecasting someone’s future as bleak and hopeless, I know I will speak up and offer these two very good examples of people who surprised us and created their own success.

Congratulations Jason and thanks for teaching me some very important lessons!

USB plugs with "right-side up" markedI’m forever doing the USB dance. Each time I start to insert a USB device I flip it back and forth wondering which way is up. I was complaining out loud during a meeting the other day. "Why don’t USB manufacturers use two different colors of plastic or a large symbol that we can feel?" I asked everyone. Someone pointed out that there is the USB symbol, but it is so small and I shouldn’t have to put my glasses on to figure out which side of a plug goes up.

I got an idea later that day and went and got a bottle of my wife’s fingernail polish. Here’s a shot showing how I marked the "up side" of each of my USB plugs. And, now a week later I’m pleased to report that this has made my life just a little smoother.

Now, if we could only get architects to design doors so you could tell by looking if you should be pushing or pulling… Instead of fingernail polish everyone has to put up signs telling us to push or pull. That’s great until you are in a country where you don’t know the language. Why not just design things properly so their use is obvious? Push or Pull ?

We shouldn’t have to resort to fingernail polish and push/pull signs.

The cache (pronounced "cash") is a storage space on your hard drive that holds all the files that the browser receives from web servers. This includes html files as well as graphics, sounds clips, and movies.

In order to display things as fast as possible the browser checks the cache first and if it finds the pages you are requesting it uses the files on your hard drive instead of waiting for new ones to be downloaded from the Web.

If you are a web developer this can be trouble because the browser will keep showing you the old version and not the file with the changes you have just made.

A common trick is to hold down the CTRL key when requesting a new web page. This tells the browser to bypass the cache and to get the files once again from the source. This works with IE6, IE7, FireFox and other Mozilla-based browsers.

Using FireFox about:config settings

In FireFox you can disable the cache by using the about:config page. Type about:config in the address field of Firefox.

Do a search for browser.cache and set the line set browser.cache.disk.enable to false.
Restart FireFox to apply this setting.

There are many other settings you can make to FireFox in the about:config page. Here is an excellent page that highlights some popular ones. Proceed with caution however. You can really ruin things if you mess around too much and don’t know what you are doing. Make one change at a time and test it. Also, I would recommend backing up the prefs.js file if you plan to do extensive configuration changes.  On XP it is located in the C:\Documents and Settings\YOUR-USER-NAME\Application Data\Mozilla\Firefox\Profiles\YOUR-CONFIG-FOLDER.default. (If everything fails just delete the prefs.js file and FireFox will create a new one with default values.)

My email file structure showing two important folders: permission and registration.Two Important Email Folders

The two most important folders in my saved emails are "Permission" and "Registration".

Permissions

Whenever I find a photo or other resource out on the Web that I want to use, I always send the owner an email asking for permission. I briefly describe how I’m using their resource, giving them the URL of the page where I am found it as well as my URL where I am using the photo. Before sending the email I add my own email address in the BC field (Blind Copy) which I file in my "Permissions" folder.

If I receive an affirmation back from the owner I store it in the folder as well. And, if they tell me I can’t use it (this has only happened once – it was a photo of a mud skipper and the photographer was adamant about everyone wanting to use his photos…) I simply take it off the site and look for another alternative.

This way I always have a copy showing due diligence in asking for permission in case a copyright issue ever arises as well as a copy of the permissions I’ve received.

Registrations

My other folder is used to hold the response emails I receive from site registrations. This has proven to be a very valuable resource when I have gone out to a site and cannot remember what my user name and password were for that site. I simply have to open up my registration folder and do a quick search for the site name. This could be a security risk, so I make certain I don’t put valuable site registrations such as my banking or e-commerce site information. But, it is great for the standard site registrations such as IBM Developer Works or my New York Times account. I also have my FireFox browser remember these low-risk userid/passwords, but whenever I have to rebuild my browser profile, all of these are lost. That’s when this email folder becomes indispensable.

by peterj | Categories: bestpractice | 2 Comments

Before & After

Dec 6, 2006

beforeAfter.gif

Unlock some of the mysteries of graphic design by looking at the Before&After design magazine. They offer several free issues including building a logo of letters
beforeAfterLogoOfLetter.gif
and picking the right typestyle for the page design.
beforeAfterRightTypeface.gif

Subscriptions are print subscriptions are $42 but you can get an on-line pdf version for $24. The free issues are priceless.


Technorati : , ,

Page Layout with CSS

Nov 7, 2006

3ColLayout.jpgUsing CSS for Page Layout

Back in the old days, people had to use tables to position things on a web page. Often tables inside of tables inside of tables were required to get the right effect. Needless to say, this added a lot of extra markup tags to every web page, making it difficult to maintain.

Then, along came SEO – Search Engine Optimization. Web programmers and designers discovered that search engines were using the keywords listed in the title and the main heading (h1 element) of each page to calculate a ratio between key words and number of characters on the page. Having all those table tags greatly reduced the SEO ratio and pages that used table layout received a much lower SEO rating.

Here is a tutorial showing how to layout out a page with a two-column or three-column layout using CSS. This moves all of the styling and layout tags out of the SEO equation, leaving more undiluted text on the page. You can use these layouts as a starting point of your page design without having to build everything from scratch.


Technorati :

What should I charge?

Oct 25, 2006

What should I charge? This question comes up a lot.

Here’s are some pieces to the puzzle that might help determine what to charge a customer. Each one has to work with the others.

  • What is your time worth?
  • How fast are you?
  • Do you want the business relationship to be long term or short term?
  • What is the current market rate?
  • How much experience do you have?

What is your time worth?

A person out of high school working at a burger shop will put a lower price on his or her time than a professional manager that is making big bucks. Be careful not to undersell the value of your time.

How fast are you?

You have to realistically look at how fast your can create web pages or write a program. It takes a new student a much longer time to figure out a basic CSS design than a seasoned, five-year CSS expert. And, the expert will have several templates ready and waiting so he or she can create a basic site in minutes. Literally.

Even something as simple as typing speed plays into this figure. Let’s say you can only tap out 30 words per minute on a good day. And, that’s using English words. It might drop down to 15 words a minute when you start typing code…

Now compare your output to another person who is able to type code at 60 wpm or higher. Who will be the most productive? The 60 wpm will be able to generate four web pages or more for every one the 15 wpm typist can write. If you have your skill set down (CSS, XHTML, design, some JavaScript) and have a few web site templates in your personal library that you can build from you will be able to finish normal tasks much quicker than someone that doesn’t. The faster you are the more you can charge. Time is money for both you and your client.

Do you want the business relationship to be long term or short term?

This will help you determine how to charge. If you want this to develop into a long term relationship you may want to charge a flat rate for a set number of pages. Later additions and changes could be billed at an hourly rate. A common error though is to charge to little in order to “buy the business”. After awhile you will find yourself doing lots work and the first question, “What am I worth?” will be nagging at you. It’s always harder to raise rates later than to bill a little higher in the beginning.

Should you charge by the hour or by the project? A short job is usually best by the hour. Longer projects could be billed by a flat rate. Also, if you are newer to the business of web site programming and design you might want to charge a flat rate for a set number of pages.

What is the current market rate?

This is the question that most people are really asking. But, these numbers are only valuable if they seen in context with the other questions listed here. Most professional agencies charge between $100 – $200/hour. A complete, professional website normally runs $1,500 on up depending on how complex it is. The keyword here is professional. Also, keep in mind that these rates are what the agency charges, not what the web programmer gets paid. The agency or company has to pay salaries, utilities, and rent out of this money as well as show a profit.

I usually recommend to people just breaking into the market to charge between $15 – $50/hour depending on their skill level. Once they are established they can charge the higher rate. Established could be roughly defined as a person that has at least 10-15 working web sites that they maintain.

How much experience do you have?

As you continue to work in the field and learn more skills and techniques you will be able to charge more. Experienced people have built up a toolbox of code and techniques that allow them to build and maintain sites/programs quickly and easily. Also, a web developer/programmer that can build a shopping cart or a web page that can be maintained by the customer without needing a programmer is a lot more valuable than one that can only create static web pages that simply display information.

If you can think of better ways to do the routine things quicker and easier you will be even more valuable. For example, one of my students started work at a web design company and put together a framework of code that allowed him to created complex web sites very quickly. Each web site had the same basic structure, but by adding different graphics and modifying the CSS code he was able to create unique sites in an hour or so (once he had the framework built.) All the other employees took several weeks to accomplish the same amount of work.


Technorati : , ,
Del.icio.us : , ,

ada.gifAccessible Web Pages. Imagine having your computer read the text of your page to you with the monitor off. You have no mouse. All navigation has to be done using the keyboard. How accessible is your web page?

This is how the blind and search engine spiders “read” your web pages.

Two factors are bringing accessibility to the forefront. First is the realization that search engine spiders are blind. The second is the recent ruling that Target, a private company, can be sued for not having an accessible web site.

Search Engines are Blind – Blind people cannot see graphics, Flash presentations, or colors on a web page. When a blind person browses the Web they listen to the page using software such as JAWS which read the text and convert it to speech. (Earle Harrison from Triumph Technologies demonstrated this during one of my Web Programming I classes.) Search engines are the same. They do not care about how pretty a page looks or how many graphics it has. All a search engine spider wants to know are (1) what are the key words and (2) what ratio is the ratio of keywords to the overall text of a web page. It turns out that creating accessible web pages increased SEO (Search Engine Optimization). By moving all those color, font, and table tags out of the <body> element and into the CSS Style section, you not only make the page easier for JAWS to read, but you increase the ratio of keywords to content.

Private companies can be sued for not having accessible web sites. A recent ruling by the courts states that:

U.S. District Court for the Northern District of California ruled yesterday that a retailer may be sued if its website is inaccessible to the blind. The ruling was issued in a case brought by the National Federation of the Blind against Target Corp. The suit charges that Target’s website is inaccessible to the blind and therefore violates the Americans with Disabilities Act (ADA), the California Unruh Civil Rights Act, and the California Disabled Persons Act.

Up until this ruling only government agencies were held accountable to Section 508 of the ADA. Now everyone must be aware of the ramifications of excluding non-visual browsers from their site. This especially involves JavaScript tools such as AJAX as well as Flash.

The key is to create a web page that has layered options. The basic web page should contain all essential information. All essential information in the graphics should be also represented as plain text either in the alt=” ” attribute or as part of the text of the page (preferably both). The next layer would be CSS which will take the plain-text page and make it more readable and interesting to visual browsers. And finally, the multimedia layer which includes Flash, movies, and slide shows which should be thought of as the “frosting on the cake”. Not essential, but nice to have for all the folks that like lots of sugar. Any essential information presented in this layer should already be included in the text of the page. By building your pages in this manner everyone will have access to the key information of the page, your client will get a higher SEO, and you can sleep at night knowing you won’t have to be dealing with a lawsuit based on inaccessible web pages.

A short aside. A mouseless world really sank in when I offered Earle Harrison, a person who is blind, a mouse pad as a thank you for presenting to my class. He very graciously declined, reminding me that he doesn’t use a mouse pad. He doesn’t even use a mouse because he cannot see the cursor… Even Earle could see the light bulb go on over my head as it all clicked into place.


Technorati :
Del.icio.us :
Ice Rocket :
Buzznet :