Craching

Crache - Poorly configured server caching which prevents distribution of updated files such as CSS, images, and javascript. Crached pages display poorly until the browser cache is cleared.

*** This can be a very subtle problem, as developers often clear the browser cache by force of habit. They would not notice the problem. Site visitors that return to your site after updates may be presented with pages that do not display or function properly.

Key resources

(Apache)

http://httpd.apache.org/docs/2.2/caching.html
http://httpd.apache.org/docs/2.2/mod/mod_expires.html
http://httpd.apache.org/docs/2.2/mod/core.html#fileetag
http://httpd.apache.org/docs/2.2/mod/mod_cache.html

(Mozilla Firebug and YSlow)

https://addons.mozilla.org/en-US/firefox/addon/1843
https://addons.mozilla.org/en-US/firefox/addon/5369

Web Development Firms - Strategies for Today's Economic Environ

Internet services (building web sites and applications) used to be a black box type of service, the client requested a solution, a web company developed one, and then client relied on the service provider for all related work.

Times have changed.

  • Web sites are now perceived as vital communications connections. Clients want the content to be current, and fresh, to engage site visitors. This requires frequent updages and many clients want to manage their content themselves. This improves the response time and reduces the cost. It also requires a mechanism to allow them to maintain the content - usually a blog or content management system. Impact: web companies must be able to integrate designs with applications instead of building standalone pages and sites.
  • Everyone knows more about the web than before. They know many powerful software packages are available at no cost. They know a good team can make changes quickly. Impact: Expectations are higher, and response time is expected to be lower.
  • Web technology has exploded in every direction. Sites must be faster, more attractive, and more sophisiticated than before. Impact: Web professionals must continue learning and pushing the envelope at every opportunity. Web companies must hire the very best people they can afford.
  • Malicious netizens are a constant threat. Impact: Web companies must comply with all the appropriate rules and regulations to protect site visitors, and their servers. Everything, from server configuration, web application firewalls, HTTPS/SSL/SSH/SFTP access must be carefully considered. Application security issues must be identified and addressed quickly.
  • Most companies already have a web site. Impact: There may be a significant investment in content and code. Protecting the investment, while reengineering the system in a cost effective manner may be difficult.
  • Many clients are facing difficult financial choices. The impact of a web site can be difficult to estimate in terms of revenue. Impact: A key opportunity for web companies is providing measurable benefits for clients. Although it may be difficult to illustrate revenue impacts, clear reduction in service costs should be offered. This requires that the web company be able to deliver services in a very streamlined manner.
  • Clients need to know what makes a web company a good fit for their project. Most are more concerned with what they want done, than work a company did for others. Impact: Displaying a portfolio of work done is less valuable than providing an interactive guide to assist a client in understanding the types of services (and possibly the costs) they need.

Great Way to Learn XHTML/CSS

The link above is to a great book for learning XHTML/CSS. I bought it for my daughter, as an introduction to building web pages and sites - and then I read it.

First, and most importantly, it is technically up to date and accurate. The information presented will help the reader build web pages and sites.

Next, it is really fun to read. I read the entire book, which is something I very rarely do with technical books (usually I use them only for reference). I confess I didn’t do the exercises, I write enough code as it is.

Finally, I learned the following:

  • The difference between block and inline elements, and their relationships
  • The value of putting height and width attributes on img tags
  • How float and clear really work, and the impact of them on the pages, especially pages which may be viewed with mobile devices
  • Other finer points of positioning page elements
  • How to center pages in the browser

If you are new to the web, it is a great book to start with. If you are more of a software engineer than a web page coder, it can really help you understand the front-end.

Professional Volunteers - Web

The Internet is a vital communications tool. Web sites and email are important for most organizations that are striving to reach a widely distributed audience in a cost-effective manner.

Many small organizations, especially non-profits, need a site, but don’t have the money to pay professionals. Without a friend that can help, they may get an intern, a volunteer that will work in exchange for experience, a contractor, or use services like GoDaddy’s web site tonight or other template based systems.

Most of these are stop-gap approaches, and some can be extremely expensive.

A great solution is a WordPress blog, hosted by WordPress.

Benefits

  • WordPress is a great application, it is very powerful, and easy to use
  • No application management, no security issues to worry about. No server management necessary.
  • It is a good value, their premium services are priced fairly
  • Great templates, so you can have a professional design, without paying for it. There are so many templates available, it is extremely unlikely anyone will know that you are using an existing template instead of a custom design.
  • You can map a domain name to the blog, so it looks like you’re hosting the site.
  • email can be run through a different server, the people at WordPress can help you find a good company
  • You don’t need a volunteer, contractor, friend, or anyone else to set it up, and it is easy to pass it along to other people

Never forget, you get what you pay for. A volunteer is often someone trying to build up a portfolio. They may have limited skills, and limited experience. Volunteer work will always be pushed aside for paid work - everyone has to eat. People willing to work for low pay are the same - if they could get a job which paid more, they would. Friends are usually more reliable than strangers, but they may have other commitments.

For web projects that are too small for a web company, or don’t have the budget, it is worth considering services such as WordPress, and learning how to handle email on your own. There is little technical skill required and hosting companies are usually very helpful.

If you are concerned that you don’t have the time to set up a WordPress blog or handle the email, remember that even if you have someone help you, you will have to spend time with them to explain what you want. When you want changes, you will have to contact them, then check their work. Investing in learning to do the work yourself will save you time in communicating your needs to others.

AJAX Limits

AJAX and RIA’s are rapidly redefining web interfaces, but they can be expensive and complex to implement.

A key consideration is to keep server side logic on the server. Background scripts should be written to require little to no user interaction, and should allow users to view their progress as they execute, and receive an email of the results when they complete.

The synchronization required to preserve states across accesses and sessions is probably not cost effective. Accepting that the web can initiate resource intensive background scripts, but not interact with them (other than possibly killing them) is a reasonable consideration.

Testing for a script in progress should be done to avoid redundant and potentially corruptive requests.