Web Stack Series Part 6: Cascading Style Sheets
Part 6 of our journey through the Web Stack brings us into the design realm. In the world of web design, HTML is the cake and Cascading Style Sheets, or CSS, is the decorative icing on top. CSS is responsible for making your web site look delicious.
Cascading Style Sheets didn’t get a lot of attention until about 5 years ago, when web standardistas such as Jeffery Zeldman and Eric Meyer started encouraging designers and developers to separate stylistic elements from semantic, structural elements. Doing so makes web sites consumable by a wide array of different applications.
CSS is a way of separating the look and feel of your website from the underling function of the data an content. This gives you the ability to apply several different style sheets to the same HTML to achieve wildly different results. For example, the following 5 links all point to the same HTML document, but each one uses a different style sheet to drastically change the appearance of that HTML
- http://www.csszengarden.com/?cssfile=201/201.css
- http://www.csszengarden.com/?cssfile=199/199.css
- http://www.csszengarden.com/?cssfile=194/194.css
- http://www.csszengarden.com/?cssfile=185/185.css
- http://www.csszengarden.com/?cssfile=189/189.css
Here is the same HTML document without any style sheets: CSS Zen Garden Sample HTML
Quite a difference! The possibilities that this flexibility affords are endless. You could create a style sheet that renders your web site one way for regular web browsers, and another style sheet that renders your web site in a more compact view for mobile phones. You could even provide different designs for different types of users - and you can do this without ever touching the underlying content or HTML.
I want to illustrate this concept with an example. Here is a small snippet of HTML:
<h1>Hello World!</h1>
<p>Nice to meet you!</p>
Now, let’s write some CSS to add some pizazz. This is what a typical style sheet rule might look like:
h1 { color: red; font-size: 32px; }
p { font-weight: bold; }
Hello World!
Nice to meet you!
Here, I am setting the size and color of all text inside of h1 tags. I am also making all paragraph text bold. Now let’s say I want to change the style of all the headings across my entire site. All that needs to be changed is the single CSS rule.
h1 { color: blue; font-size: 28px; }
Hello World!
Nice to meet you!
Now, on every page of my web site, h1 tags will appear blue and in a slightly smaller font size. Notice that I did not change the underlying structure of the HTML. This illustrates the flexibility that separating structure and style provide to us.
CSS is still maturing and being improved. The W3C issues specifications that browser makers use when creating their software. The specifications layout rules for rendering different elements of CSS. Despite these specifications, however, many browsers still render the same rules differently, creating big headaches for designers.
It is not uncommon for larger web design shops to have a person who is dedicated entirely to creating HTML and CSS, although this is a luxury that most can’t afford. In most situations, it is the graphic designer who will be responsible for creating the CSS for your website. Make sure that the person designing your website is knowledgeable regarding the use of style sheets. A good way to test your site is to view it without the CSS file. Is the site still usable? If so, then your designer has done a good job.
In the next part of this series I will explain graphic design and how it can be integrated with CSS to create spectacular web sites. Stay tuned!
Subscribe to the RSS Feed
6 Comments - Add Yours!
- Solo Signal Series: The Web Stack Explained
- Web Stack Series Part 5: HTML and Markup
- Web Stack Series Part 3: The Database
Tagged:
CSS, design, html, style sheets, usability, w3c, web stack
5 Quick Steps for Tapping the Freelance Marketplace
The dreaded breaking point – more work than time to get all of those projects done. Sound familiar? Well, don’t worry. Overload happens to all of us at one time or another.
Here’s the good news – there’s a gigantic community of freelancers eagerly waiting to share their expert touch on your next overdue project. Whether you need help with programming that widget for your new blog or perhaps expert proofreading and editing of your latest manuscript, help is literally just a quick bid away. You can begin outsourcing today in just a few quick and easy steps.
1. Find the Freelancing Hot Spots
There are scores of websites out there playing matchmaker between project buyers and project workers. We’ll focus on the best and skip the rest. Two sites in particular are worth your attention.
Elance, perhaps the best known outsourcing website, supports a huge variety of service categories – everything from coding to graphic design. That said, the writing category is probably one of the strongest aspects of Elance.
Rent A Coder is another popular marketplace for freelancers and project outsourcers to connect. This service has a vigorous and healthy user community, but tends to be geared towards more technical services like software and web coding.
Project buyers can register and post projects at either of these sites for free. Registration does include a few basic verification steps to make sure you’ll take any projects you hire out seriously.
2. List Your Project
The outsourcing process is in many ways comparable to eBay. First, you post a bid request in the appropriate category. This request includes an exact description of the work you want to have completed and a deadline for the project’s completion.
Ideally, your project description will be as detailed as possible to give potential freelancers the absolute best understanding of the project’s scope. The more accurate you are with your listing description, the more accurate the bids you receive will be. Detail at the beginning saves time and avoids any misunderstanding later on in the process.
3. Receive and Review the Bids
Not long after you’ve submitted your project, you’ll begin to receive bids from a variety of freelancers or coders who are willing to complete your work. Many times, but not always, the very first bids you’ll receive are generic one-size-fits-all mass bid submissions. Just cast these aside.
Read each bid carefully and chances are, the perfect service provider for your project will jump right off the screen at you. The five star quality bidders will prove right away that they fully understand all aspects of your requirements. If a bidder doesn’t even take the time to offer you a personalized and project-specific bid, what are the chances of receiving quality work in the end? It’s also a good idea to request samples of the bidder’s previous work and check any feedback from previous projects they’ve worked on.
4. Choose Your Freelancer
Once you’ve identified the bidder you’d like to work with on your project, simply nail out the precise details via the outsourcing sites’ integrated private message boards. This way, you’ll be protected through the site in case any questions arise or any mediation is ever necessary. As soon as you’re confident about the terms, just click to accept the bid.
Of course, if you’re not quite sure you’ve received any bids you’d really like to accept, that’s okay too. Next time you might try listing in a related category with even more details to gather additional qualified bids.
5. Review, Accept, and Pay
As soon as the service provider has completed the project, they’ll submit the work to you along with an invoice or payment request. Just take a few moments to review and make sure it was indeed completed to the agreed upon specs.
When you are ready to pay, simply follow the steps outlined by the online marketplace you’re using. Your credit card or PayPal payment will go directly to the marketplace, which will in turn credit the provider’s account.
It’s just that easy! Welcome to the world of outsourcing – the affordable and practical new way of getting things done.
Subscribe to the RSS Feed
6 Comments - Add Yours!
- How Much Should Web Site Design, Development, and Hosting Cost?
- Top 12 Things to Consider When Choosing an eCommerce Package
- Web Stack Series Part 3: The Database
Tagged:
bids, elance, freelancing, marketplace, outsourcing, projects, rent a coder, tips
Top 12 Things to Consider When Choosing an eCommerce Package
Digital Web Magazine brings us an outstanding article by Shannon Watters on how to choose an eCommerce package. The number of eCommerce packages available on the market can be quite intimidating. With so many options and choices, it is best to create a plan of attack when searching for an ideal solution for your business.
From the article:
Whether you’re a freelance designer looking for a solution for your latest client, or a new company preparing your first online store, choosing an eCommerce package can be a daunting decision. The industry’s rapid growth over the last few years makes it difficult to immediately determine whether a specific package suits both your present and future needs, but there are a few things you can keep in mind to help you through the process. Below, I’ve outlined the top eleven things to consider when choosing an eCommerce package, considering everything from your company’s growth, your store’s integration and checkout needs—right down to the kind of eCommerce firm you want to work with. By considering the following key areas, you can have a stronger understanding of what your company—or client—needs in an eCommerce package.
Shannon goes on to describe in detail eleven factors to consider before starting your search:
- Scalability
- Integration
- Content Management
- Analytics
- Promotions and Discounts
- Customer Service
- Technical Support
- Intuitive Checkout
- Security
- Examining the Open-Source Option
- Company and Community
I would like to add one more factor to this list: Taxes. Make sure that the package you choose has a robust system for handling tax rules and codes. Depending on the product you sell online, you may need to charge taxes in different ways. Many times this will even vary based on your location and the location of your customers. A quality eCommerce package will allow you to define all of these rules in a simple way that makes it easy to maintain.
I suggest that you have your web developer create a list of the eCommerce packages he or she recommends. Then analyze each option on that list against these 12 factors. Choose the package that best meets your needs in all of these areas.
Head over to Digital Web Magazine for the full article.
Subscribe to the RSS Feed
2 Comments - Add Yours!
- Basics of Web Usability
- Solo Signal Series: The Web Stack Explained
- Effective Web Sites: 5 Things That Should Be On Every Web Site
Tagged:
content management, ecommerce, integration, open source, scalability, shopping cart, software, taxes
Basics of Web Usability
In my previous article Why Web Accessibility Matters I touched on why having and designing an accessible web site made good business sense. In this article, I would like to continue into the area of web usability.
What is web usability?
Web usability has multiple meanings depending to whom you are talking. Some people think it is just making a site work, at any cost. Yet others feel that usability is closely tied into accessibility, and I also feel that this the best practice. If you have a usable site, then the chances are really good that it is accessible. Why? In the backbone of the coding, chances are that the site will be using valid XHTML and CSS. This in and of itself helps to create a site that is usable.
Let’s take a look at a definition by Usability.gov:
Usability measures the quality of a user’s experience when interacting with a product or system—whether a Web site, a software application, mobile technology, or any user-operated device.
In general, usability refers to how well users can learn and use a product to achieve their goals and how satisfied they are with that process. Usability, as defined by Joseph Dumas and Janice (Ginny) Redish, means that people who use the product can do so quickly and easily to accomplish their tasks. Usability may also consider such factors as cost-effectiveness and usefulness.
What defines a usable site?
Now that we have a basic definition of usability, let’s take a look at some considerations that will make your site more usable. There are multiple ways to make a site usable and a lot of them depend on factors of what type of site you have (blog, ecommerce, etc.), your audience (casual web surfer or expert), and what your site is conveying (its purpose).
Use clear and consistent Navigation
One of the problems that I have encountered and I’m sure that you have too, is not knowing where the navigation system is going to take you to. And once you get someplace in the site, where exactly are you? One of the best ideas is to have a clear and consistent navigation system that stands out on the page. The reason is you want to make sure that your visitors know where the navigation system is for your site, whether it be in the upper part of the site and horizontal, or running down either side.
Another aspect of clear and concise navigation is the use of breadcrumbs, or another method of letting users see where they are, and what pages they have taken to get there. You’ve seen them on sites before, and they resemble something like this:
Home » About » Thanks for finding me!
This allows for users that have maybe followed a link to the final page to backtrack easily without having to “go home” and start over again. Statistics have shown that most users scan pages for the content they are looking for within 15 seconds, and if they don’t find it, the go back to the previous page, or leave your site. Not good if you want to sell a service or product.
Sitemaps are another good method of ensuring an easy method of users to quickly find what they are looking for. One big plus of sitemaps is if they are correctly written, it helps with Search Engine Optimization as the spiders from Google and other sites can quickly follow those links to the main content of each page and article. Not to bad for killing two birds with one page, eh?
Make it easy to read
This one gets real tricky, but since you have an accessible site already up and running, it should be pretty easy. You want to make sure that your text is easy to read and resizable. Several factors affect both of these issues:
- Don’t use pixels to define font size as they are not able to be resized.
- Underline only links and use italics and bold for emphasis.
- Ensure there is enough contrast between the background and the text.
- Use plenty of whitespace throughout the site.
- Use proper markup, such as headings, paragraphs and lists to make it easier to define the content.
- Space out your content - don’t write a 15 page paragraph, and adjust line height as necessary.
Remember that the purpose of your site is to convey information and if that information is hard to read or search, you have lost your audience. I’m sure that each of you have been to a site that the text was too small, or crammed together and hard to read. Or to another site where you couldn’t tell if an image was a link or just an image. Some of the best sites are simple and concise with their presentation of their product or services. Don’t believe me? Take a look at the main Google page, or Amazon.com. Their sites are pretty simple and help you look for what you are after.
Keep Searching
One of the biggest usable tips is to have a site search feature for your site. If the user has an idea of what they want to find, but aren’t sure where to find it on your site, then they will leave. The site search is invaluable for your business or personal site, especially if it has more than just a few pages. The site search takes the guess work out of how you have your site organized and where you might have put that valuable piece of information that the user is looking to find. This allows the user to come to your home page, type in a few keywords, and have the relevant results returned to them in a timely and efficient manner.
Don’t make me Scroll!
One of my biggest pet peeves is to have to scroll the page I am viewing left and right to read the content. I’m not talking so much about extra side bars for advertisements or additional information as I am the main content of a page. What I am talking about is the main content of the page. This also relates to making the content readable in simple format. Limit how wide your content is on your page and don’t make it go all the way across the screen. Trust me, your viewers eyes will appreciate this.
Watch your colors
Color is an important visual aspect to any good web design, but it can easily be abused. We all love looking at nicely designed sites, but the colors that are chosen for any site have to be done so carefully. One of the factors we have to consider is that you want certain things to stand out without being confusing. For example, you want consistency in the colors of your headings so that the users know they are going into another section of the content. Your links should look like links, and that should be consistent throughout the site. Don’t underline anything that is not a link to add emphasis, use bold or italics to do this.
Another usability and accessibility factor dealing with colors is that some users could have color deficits, such as color blindness or difficulty distinguishing slight hue and tint variations of a certain color. You want strong contrast with your colors, especially with the background color of your areas.
Testing, testing…
The final usability factor deals with the testing of your site. Often times sites are put together for Internet Explorer, which is not the optimum testing platform. IE 7 is now catching up with Web Standards, so it isn’t too bad of a browser to test and design for. However, designing a site to look right is best if designed in Firefox, Opera or Safari browsers as their rendering of sites is often times most correct. Testing of your site in multiple browsers will ensure that the most users can see and use your site as you intend it to be used and seen.
Validation of your site is a good idea also. It will help you catch errors that can lead to problems with the code, usability and accessibility for your users. You can start with the validation process for your site by using the W3C Validation Service and the best part is that it is free! If you are using Cascading Style Sheets for your site (you are making an accessible site, aren’t you?), then you can use the CSS Validation Service from the W3C also.
It’s a wrap
I hope you have enjoyed reading some of the tips and ideas on creating an accessible and usable site. This article only scratches the surface however on these topics. If you want to learn more about these topics, please contact me or check out some of these links as a good start.
- High Rankings Web Site Usability Tips
- Mike Cherim’s Green Beast Blog
- Usability.gov
- Usability Makes Business Sense - article
- Jakob Nielson on Usability - useit.com
Subscribe to the RSS Feed
1 Comment - Add Yours!
- Why Web Accessibility Matters
- Introducing Guest Blogger Elliott Cross
- SEO Tip: Please Don’t Click Here
Tagged:
accessibility, business logic, elliott cross, seo, structure, tips, usability, w3c, web standards
Why Web Accessibility Matters
I would like to take a moment to thank Aaron for asking me to write for Solo Signal about Web accessibility and usability topics. In this article I would like to focus on accessible web design as it relates to good business practices. My next article will focus on the usability aspects of site design, and how it relates to businesses and individuals alike.
So, what exactly is Web Accessibility?
If you Google search “Web Accessibility” you will receive 217 million results in the search. That is a lot of information to look through to try to find the true meaning of accessible web design. You can pick through the results and find technical sites that relate to the W3C web standards, sites that offer guidance to web developers and site creators and even more results that attempt to make sense of what the true meaning of accessible web design really is.
Let’s take a look at an excerpt of the Wikipedia definition of “Web accessibility“:
Web accessibility refers to the practice of making websites usable by people of all abilities and disabilities. When sites are correctly designed, developed and edited, all users can have equal access to information and functionality.
In other words, a site has to be correctly designed (usable) and developed (coded) so that all users, irregardless of ability or viewing medium, can have access to the information you are conveying and the functionality of the site. The key words here are information and functionality for all users.
Why Information is Important…
As a business owner that either has, or is looking to create a web site, your main goal is to relay information about your products or services in order to create, maintain and grow your business. You want to provide information about who you are and what you do in order to reach the most people with the least amount of effort, and cost possible. As an individual that is surfing the internet, you want to be able to quickly and easily locate the information that is important to you. Why waste the time thinking you have finally found those instructions on how to get rid of that blue screen of death, only to find that you are on a site that sells caskets?
Imagine this
If you own a traditional business store front, imagine turning away every fifth person that comes to the door to do business with you. There is no particular reason for turning them away, you don’t know them and can’t tell anything about the individual. Or, picture turning off all of your lights and painting your windows black, and then expecting your customers to find exactly what they came to your business to buy. What if you were to cram your whole warehouse of items into a small storefront that didn’t allow room for anyone to shop or move around? These scenarios aren’t going to be a positive experience for your customers. This is the type of experience that disabled users face everyday while online.
A person with a disability doesn’t have to have a severe disability in order to have problems surfing online. It could be an individual that has a vision problem and needs to make their font size larger than the default size. Can this be easily accomplished on your site? What about a person that has a developmental delay? Can they easily understand the information and content on your site, or are they confused by the terminology and extensive content that is overwhelming them? Users of your site that have dexterity issues, such as arthritis, might have a tough time using a mouse or the keyboard extensively to navigate your site. Another consideration is that a lot of internet users still are on dial-up connections. And let’s not forget about the new internet users that have their PDA or mobile device. This is a rapidly growing area that requires accessible web design and careful thought into your sites design.
About your business site
I won’t bore you with the details about how to create an accessible site, with examples of coding valid XHTML and CSS, but the basics come down to being able to still read the content (information) of any site just like it was a book. If all of the pictures, styles, colors and decorations on any site were to be turned off, would the content of the site still make sense? Would you be able to follow along with the stories and articles, or easily find your products that you came to buy? Is the navigation easy to follow and once you are on the page you are looking for, do you still know where you are? There are a few more reasons to have an accessible site.
- Reduced Bandwidth cost due to using web standards to separate content from presentation
- Ease of maintenance and scalability
- Improved Search Engine rankings
- Support for multiple browsers and devices
- Reduced legal liability
There are many other reasons for web accessibility. These are but a few of them. It all boils down to the original definition that we covered in the beginning of this article.
You want to be able to make your information available to the most users possible.
In my next article, I will discuss some of the functionality and usability issues that are encountered and how to ensure your site is easily navigated by all users. If you would like to learn more about accessible web design, feel free to contact me via my sites contact form.
Here are a few good resources also for you to check out:
- Developing a Web Accessibility Business Case for your Organization - W3C
- Web Content Accessible Guidelines
- W3C Site Validator - Validate your site here
- Introduction to Accessible Site Design - Sitepoint.com article
- Google.com
Subscribe to the RSS Feed
4 Comments - Add Yours!
- Basics of Web Usability
- Introducing Guest Blogger Elliott Cross
- 72 Essential Acronyms Related to Web Site Development
Tagged:
accessibility, CSS, elliott cross, mark up, optimization, seo, style sheets, usability, web design, web development, web standards, xhtml
Introducing Guest Blogger Elliott Cross
We are proud to introduce our newest guest blogger, Elliot Cross of Red Truck Web Designs, LLC. Elliott will be writing for Solo Signal during the next week and has graciously agreed to pass on some of his knowledge and insights related to web accessibility and usability.
Elliott works out of Burlington, Kentucky and has a passion for developing sites using modern web standards. He brings a unique perspective on web development to Solo Signal and will no doubt provide us with some great information. Make sure to take a few minutes to find out more about Elliott and welcome him in the comments!
Subscribe to the RSS Feed
Add Your Comments!
- SEO Tip: Please Don’t Click Here
- 72 Essential Acronyms Related to Web Site Development
- Web Stack Series Part 4: Business Logic Programming
Tagged:
accessibility, usability, web standards
Web Stack Series Part 5: HTML and Markup
How do web developers create the layouts of web pages? How do they tell the browser to arrange images around the copy in just the right fashion? How do web browsers know that one paragraph of text should be italic, while the other should be bold? The secret sauce behind all this magic is a markup language known as HTML.
HyperText Markup Language, or HTML, is probably the most ubiquitous and well known language in the world of web development. It is the language that programmers use to describe a web page’s content and structure so that web browsers can display it correctly to the end user. Marking up a web page means wrapping all of the content in descriptive tags. These tags describe the content’s purpose and how it relates structurally to the rest of the web page.
HTML is used to create headings, paragraphs, tables, block quotes, and a lot more types of content. It is also used to insert images into a web page. Here are some examples of HTML:
- Headings: <h1>H1 defines a level 1 heading</h1>, <h2>H2 defines a level 2 heading</h2>
- Paragraphs: <p>The P tag marks a block of text as a paragraph</p>
HTML is usually created after the web site mock-up has been created by the graphic designer. After the mock-up is sliced up into the appropriate images, HTML is used to arrange those images around the content of your site. If you have a dynamic web site, the business logic programming will wrap the dynamic content with HTML so that it is displayed correctly in the browser.
Good vs Bad HTML
In the early days of the Web, HTML was used to add style to a web page. It could be used to make things bold and italic, big or small, and even colorful. Once the Web started to mature and gain popularity, a bunch of smart people decided that HTML was being used incorrectly and that standards should be created. Instead of defining the style of a web site, HTML should have been defining the structure. This approach to marking up a web site according to its function rather than its form is called using semantic HTML, or marking up the content to reflect only the author’s intentional meaning. Styling the content is something that should be left up to style sheets, which we will talk about in more detail in the next installment of this series.
Good HTML is the single best ingredient for good SEO. By using semantic HTML to describe the structure of your web site’s content, you make it easier for search engine robots to parse through your site. For example, using the appropriate level of heading to segment content based on importance will help the bots know what information is most important and which information it can ignore.
Traditional HTML did not enforce much discipline on programmers. If the HTML was slightly wrong or incomplete, most web browsers would automatically correct the problem. XHTML is a more recent version of HTML that specifically adheres to the strict standards set forth by XML. This version forces programmers to be disciplined in their syntax. By requiring strict syntax, web pages are more consistent and better prepared to be consumed by applications other than web browsers. For example, if a web site’s content is marked up semantically with XHTML, it can be consumed by feed readers, mobile devices, desktop software, and many other software environments.
There are several different versions of HTML, I recommend that you require your site to be marked up with XHTML 1.0 Strict; your developer should know what this means - if they don’t, find a new developer. the W3C provides specifications for all versions and even makes available a handy validation tool to ensure that your site adheres to the rules of your chosen HTML version. When you are working with a developer, make it a requirement that all pages pass W3C validation.
Browser Wars
Unfortunately, the browser wars that continue to rage on have left many battle scars along the way. As a result, none of the current web browsers render and display HTML in exactly the same way, creating huge headaches for developers. For example, a level 2 heading in Microsoft Internet Explorer may be displayed in 14pt font while the same heading in Mozilla Firefox may be displayed using 12pt font. This is another area where style sheets come into play - they help normalize differences between browsers so that web sites look consistent regardless of the browser in which they are rendered.
Additionally, in an attempt to out do one another, some browsers have included support for proprietary HTML tags. If your web site uses a proprietary tag that is only available in one browser, the site may break or be displayed incorrectly in other browsers. It is best to just stick with plain vanilla HTML as defined by the W3C to ensure maximum cross-browser compatibility.
Educate Yourself!
HTML is a very easy language to learn and understand. I recommend picking up a basic HTML book (for example: Learning Web Design: A Beginner’s Guide to HTML, Graphics, and Beyond) or reading through some online tutorials so that you have a good understanding of how HTML works and what its capabilities are. This will further arm you when discussing your site with designers and programmers. Additionally, a good knowledge of HTML will give you a greater appreciation of the planning and work that goes into creating a good, quality web site.
In the next part of this series, we will be discussing Cascading Style Sheets. Style sheets are the icing on the HTML cake - they add style and glamour to your semantically marked-up web site. Check back soon!
Subscribe to the RSS Feed
Add Your Comments!
- Solo Signal Series: The Web Stack Explained
- Web Stack Series Part 3: The Database
- Web Stack Series Part 4: Business Logic Programming
Tagged:
CSS, html, mark up, programming, style sheets, w3c, web browser, web design, web development, xhtml
How Much Should Web Site Design, Development, and Hosting Cost?
What’s the easiest way to create awkwardness, spite, and frustration between clients and web site developers? Bring up the price of the project and you will instantly create a volatile situation. In most interactions between clients and web site designers/developers, expectations of project costs are drastically different. So how much should a web site really cost? The answer is more involved than most people assume.
This is a long article, so for those who want a quick answer, here you go: For an interactive web site with custom design and quality coding, I would expect to pay somewhere in the range of $2,000 to $15,000. If you are paying less, you are probably getting an off-the-shelf CMS with a generic design template. Chris Pearson sheds some more light on graphic design pricing: How Much Should a Design Cost?
For more complex sites or online applications, expect to pay $20,000+.
… And Knowing is Half the Battle
As a consumer of web site development services it is important that you take some steps to educate yourself about the process. An informed consumer is knowledgeable about what he or she wants to buy and does research on options, availability, and market prices. These are the basic elements of an average web site project:
- Hosting
- Database Design
- Business Logic Programming
- Markup, Styling, and Graphic Design
- Standards-compliance, Accessibility, and Testing
- Ongoing Maintenance
Make sure that you have at least a high level understanding of each before working with a developer. Reading the articles here at Solo Signal is a good place to start. In addition, I would recommend picking up a copy of Web ReDesign 2.0: Workflow That Works by Kelly Goto and Emily Cotler. This book has an emphasis on redesigning existing sites, but the concepts discussed are the same for new web sites.
Placing Value on Time and Knowledge
Behind every web site is a programmer and a designer. The knowledge that these individuals possess and the time they put into every project is often overlooked and not considered when pricing a project. Sarah Lewis of Blogging Expertise explains this value nicely in A Frank Discussion About Pricing:
- Details. Professional designers and firms pay particular attention to the details that will make or break your site.
- Time. Most people who end up using a professional designer or firm understand that their time is worth something, and that spending your time on your core business is one of the best places you can invest your time. Working with web professionals allows you to tap into our experience and knowledge and save hundreds of hours.
- Experience. A professional designer or design firm isn’t just selling you hours on a project; we’re selling you years of experience in the sometimes-overwhelming world of the Internet.
- Knowledge. When you hire a professional designer or firm, you are also getting access to a wealth of information that we’ve gathered and are happy to share.
Keep in mind that you are not just paying for the developer’s time, you are paying for the knowledge and insight they have acquired over many years of experience. Here is a story to illustrate this point:
Once upon a time there was a steam generating plant that was not producing much steam. After a frustrating search for the cause, the plant manager, in desperation, called in an expert. After only two hours on site, the expert found the problem and placed “X’s” on two pipes that were causing the problem, saying that they had to be removed.
When presented with the bill, the plant manager asked the consultant how he could charge $5,000.00 for only two hours of work. When he asked for an itemized bill, this is what he got:
1. $400.00 - Placing “X’s” on two pipes
2. $4,600.00 - Knowing where to place the “X’s”
The plant manager got what he paid for and probably a lot more. He had already used up more than that amount on his own staff not to mention the loss in revenue while the plant was shut down. For him, securing the advisory services of a consultant was the right thing to do.
The same is true for a web site designer or developer. You may feel you are paying way too much for the actual time spent, but in reality you are paying for knowledge, not just time.
Paying for Quality
As with most things, it comes down to this: You get what you pay for. If you want a successful website that is attractive, standards-based, accessible, search engine optimized, stable, and fast, then take the time to find a good developer/designer and be prepared to pay them what they are worth. You will not regret the purchase.
Sure your computer geek nephew knows HTML and could build a web site for just $100. He also knows how to use a screwdriver. Does this mean he could build a safe, reliable, and fuel-efficient car for you? Probably not, so why take the same risk with your web site, a potentially large value-center for your company?
A good way to gauge what you can afford is to ask designers and developers for their prices and rates. Ask for examples of past projects and how much was charged for each. This will give you an idea of what you can expect to pay. If you can’t afford what you originally had in mind, consider scaling back the project and breaking it into smaller chunks that can be completed when you have the budget.
Find Someone You Truly WANT to Work With
Don’t try to wrangle a bunch of individuals and firms into a bidding war, for two reasons. First, you are basically saying that you don’t care who develops your site, as long as it is cheap. If this is the case, you might as well just call up your nephew. Second, this just makes the winning developer bitter because he or she had to bid beneath their real costs to land the project. Now you have an angry developer who is under-paid and trying to minimize the damage by finishing as quickly as possible. Does this sound like a good situation for you and your web site? I don’t think so either.
Let me illustrate my point: A few weeks ago I decided that a new look was in order for my personal site (Aaron Forgue). The first step I wanted to take was to have a logo created. I knew that I wanted to work with James Mathias, an excellent designer who has done some amazing work. I asked James for information regarding pricing and quickly discovered that I couldn’t afford him. Instead of trying to find a cheaper designer, I made the decision to wait until I could afford him. James is the person I want to work with, and I am not going to sacrifice the quality of my site just to save a buck or two.
Interestingly, James wrote an outstanding article related to this very topic: Respect.
A Quick Overview of Hosting and Other Costs
Hosting is a topic that I will write about in more detail later on, but for the purposes of this article, it is important that you factor in recurring fees. There are basically three recurring web site fees: domain Registration, site hosting, and on-going site maintenance.
- Domain Registration - Domain registration is simple, I recommend purchasing your domain for as many years as possible (e.g. 10 years.). I buy domains through GoDaddy, you can usually get a discount there by using the coupon code “diggnation“.
- Web Hosting - There are several different levels of hosting, but to give you a ball park estimation, I would expect to pay anywhere between $15 - $500/month for hosting. Obviously this is another example of getting what you pay for. At $15/month you will be sharing server space with a bunch of other websites. At $500/month you will most likely have your own dedicated machine that is managed by an experienced server administrator.
- On-going Site Maintenance - Site maintenance is typically billed at an hourly rate. For freelance developers this is usually between $40-$100/hour. For emergency, 24/7 maintenance, be prepared to pay $200+/hour.
The bottom line: educate yourself. Not nearly enough businesses understand the value of a well-designed website and suffer because of this ignorance. More and more people are using the Internet to research and purchase goods and services. If your online presence is lacking, you will miss out on a lot of potential business.
Subscribe to the RSS Feed
12 Comments - Add Yours!
- About
- Why Web Accessibility Matters
- Demystifying the Web Development Process for Business-Minded People
Tagged:
budget, cost, low cost, price, reference, value, web design, web development, web hosting, web site
Web Stack Series Part 4: Business Logic Programming
Today we continue our look at the web stack by explaining Business Logic Programming.
Web sites are highly complex organisms. There are hundreds of processes and actions that take place behind the scenes every time you access a single web page. Harmoniously coordinating these actions and the components responsible for making a basic web site perform flawlessly is not an easy task. At the heart of all this activity is server-side scripting, a type of “web site glue”, and it is the layer of the web stack where business logic and interactivity are added to your web site.
Server-Side Scripting
So what is server-side scripting? Server-side scripting is a process that applies business logic to data from different sources (databases, user input, etc.) in order to create output that fulfills a user’s request. In short, it is a programming language that runs on the physical server. Developers encode your business logic into scripts (literally, sets of programming commands) using this language. When a user makes a request, the data is run through these scripts and transformed based on your business logic. Once transformed, the data is wrapped with HTML and graphics and outputted to the user. Here are the steps:
- User makes request
- Webserver Software initializes server-side scripts
- Scripts fetch appropriate data from database based on user’s input
- Scripts apply business logic to data from database
- HTML web page is generated by scripts and returned to the user
Let’s use an example to clarify. Imagine that you own a company that sells widgets online. These widgets have a number of configurations that are specified by your customers. Each unique configuration will be priced differently based on the options chosen by the user. Additionally, your widgets are made from a raw material that is only available seasonally, so you need to adjust your prices based on the season.
Here are three basic business rules:
- Small widget base price is $15.00
- Large widget base price is $30.00
- If the client orders in the Fall or Winter (defined as October through March), an additional $10.00 fee is added to the base price
These rules define your business logic. Your developer will take these rules and translate them into server-side scripts so that when an order is placed, the correct amount is charged. Here is are some sample orders with the rules applied:
- Small Widget ordered in June
Price: $15 + $0 = $15 (Small widget, no seasonal fee) - Small Widget ordered in December
Price: $15 + $10 = $25 (Small widget, seasonal fee) - Large Widget ordered in August
Price: $30 + $0 = $30 (Large widget, no seasonal fee)
So, when a users requests to buy widget #1, your server-side scripts grab the appropriate prices from the database, add them up accordingly, and generate a web page displaying the price.
Types of Languages
There are many options for server-side scripting languages. Each language has advantages and disadvantages, but any language will sufficiently handle your needs. As a result, it is usually best to let your programmer use the language that he or she is most comfortable with. Here are the most popular server-side scripting languages:
- PHP - Common open source solution based on including code in its own language into an HTML page.
- Microsoft ASP.NET - A set of web application development technologies marketed by Microsoft
- JSP - Java-based system for embedding Java-related code in HTML pages.
- Ruby on Rails - Open source framework written in the Ruby programming language.
- Adobe Cold Fusion - Cross platform tag-based commercial server side scripting system.
The business logic layer of the web stack is where everything comes together. Information from disparate sources is combined and transformed into something useful and valuable to the end user. It is important that you find a good developer to handle this part of your web site, as it will ultimately determine the quality of your site.
Our journey through the layers of the web stack is now moving away from the server side of things and into the realm of the end user. Make sure to subscribe so that you don’t miss the next installment!
Subscribe to the RSS Feed
1 Comment - Add Yours!
- Solo Signal Series: The Web Stack Explained
- Web Stack Series Part 5: HTML and Markup
- Web Stack Series Part 3: The Database
Tagged:
business logic, programming, server side scripting, web stack
Securing Customer Data: 7 Precautions For Accepting Credit Card Payments
Making the decision to accept credit card payments through your web site is a major step forward and with it comes a lot of responsibility. Rich over at Aiming for Independence has posted a great article outlining the seven actions you should take immediately if your business accepts credit cards. Here are some excerpts:
#2. Make sure that any credit card information being transferred across the Internet is encrypted.
#5. Set a short time limit on storing unencrypted customer information
In addition, I would suggest that, if possible, you avoid storing users’ credit card numbers all together. Often your merchant processing company will store the required information and allow you to issue refunds with only the unique transaction identifier. This ensures that you will never be at risk of compromising your users’ credit card information. Ideally your website will simply serve as a conduit for transferring payment information between the customer and the credit card processing company.










