Category: "Web Sites"

Interconnect / Compare / Broad Spectrum

Imagine a search engine that returns the following information for sites - regardless of query:

  • Date site was last updated
  • Comments about the site business or content
  • Comparative ratings of the site and if it is a business, the performance of the business with respect to competitors
  • Related businesses, by area
  • Location/service area
  • Contact data

Half JAX

AJAX can be implemented in many different ways.

Options:

  • Place all the interface logic on the client side, and have the server act only as backend functionality. For a complex application, this method may be prohibitively difficult. The overhead of placing all the logic on the client side, and managing its delivery and execution is probably not worth the performance gains.
  • Segmenting the pages and populating them with HTML and related logic from the server. This would be using something similar to dojo content panes, which are HTML content. Similar to iframes.
  • Half JAX. Run the pages as HTML templates, augmented with AJAX navigation/population. Thus, the HTML remains static for the page, but the AJAX is used to fill the fields and provide advance features. With an efficient template engine and a sophisticated architecture, this is an excellent approach.
  • Use straight HTML pages, with a template engine. There is no law that AJAX must be used. :)

Delivering the HTML, with AJAX for form population and rich interface features is a nice compromise. The pages remain fairly fast, the rich features are available, and the complexity is limited. This is best implemented with a good architecture of reusable/common components.

Pursuit of Perfection - Engineering

One of the most difficult aspects of engineering is ensuring the requirements are satisfied without exceeding the budget.

There are two cases, the first is scope creep, where requirements are added. The second is polishing and refinement, where the product is improved continuously.

As a rule, scope creep is driven by the customer, and polishing and refinement are the pursuit of the engineers.

RIA offers such powerful tools, with little effort, that it is easy to push code farther than before.

The only solution is careful and cooperative management by all parties.

Choosing javascript Libraries and Toolkits

If you want to add sophisticated client side functionality to a site, and are considering a javascript library like jQuery, dojo, scriptac….us, etc, remember:

  • Powerful tooks often add significant overhead. It isn’t worth using a library to support a single pull-down menu.
  • Try to find on-demand loading, where only the code required is downloaded.
  • Consider themes offered by the toolkits before designing the site. They can greatly improve your design and will work better with the library functions.
  • If you’re using AJAX, definitely use a library.
  • Remember that you can limit the library’s impact by placing it only on those pages which truly require the functionality.
  • Set up caching headers for the library code and CSS. They will probably never change (you shouldn’t change them).
  • Try the libraries out before choosing one. Use more than one if you feel it is worthwhile.
  • Use a CDN.
  • Be prepared to invest a significant amount of time in learning curve.

Don't build a social network ...

The market for social networks is saturated, and it is not a sustainable, profitable business model. Most people don’t want to pay for access, and most people don’t click on ads.

If you see the Internet as a way to engage new customers, find innovative ways to interest them in the products and services of your company. Great opportunities:

  • Rich visual images of products - good pictures!
  • Careful design for ease of access to information
  • Stats analysis to see what pages are used most
  • error log checks to ensure the existing site does not have bugs
  • Comparison opportunities with similar products, help the customers decide between your products and your competitors. If the competitors have better products, invest in yours to improve them before investing in your web site.
  • Product search functions that help the customers see the different characteristics of the products. For example, search on capacity of containers, or BTUs of heaters. Demonstrate the commitment to the product, from the web site until delivery. Help site visitors understand your products.
  • Live chat, so people can ask quick questions
  • FAQ pages, organized carefully, and integrated into the site search
  • Easy contact pages that allow people to send an email without entering much information
  • Links to manufacturers or distributors
  • Ease of purchase (with appropriate security)
  • Store finder, with a zip code search. Provide good descriptions of stores (products offered, specialties, contact information, location, link to map)
  • Nice features such as paint color pickers, option choosers, online estimates, allow the visitors to immerse themselves in the site
  • Information about the people of your company - especially the top executives. Let people see who you are.