Instant Web Site - with Full Control

Concrete5 (http://www.concrete5.org/) offers a great way to create a site quickly, and be able to customize it later.

This is a valuable service, because many people start with a simple site, and then want to extend it. Concrete5 gives you all the access you need, so that when you are ready to extend the site, in any way, you are ready. This also means you can start with their hosted solution, then move gracefully to your own server.

They have a great collection of themes/skins/designs to choose from: http://www.concrete5.org/index.php?cID=614

This solution allows you to run a very powerful system without the help of an expensive web development firm. They handle the hosting, application upgrades, and security.

You may need help setting up email, but you can contact them or a hosting company. The prices are excellent.

Check it out.

Session Timeout Notes

  • Server should use a deterministic method to timeout sessions. cron jobs are good. These should be lightening fast. See other posts in this blog. These timeouts address the situation where the user closes the browser and walks away without logging out.
  • Logging out should force session cleanup. If temporary files are not security risks they can be removed by a different cron job.
  • Temporary file cleanup can be performed less frequently, unless this would compromise sensitive data. cron jobs are good.
  • AJAX controls may fail to execute properly if authentication is required for delivery. Pinging the server to check for session timeouts can limit user frustration when a page doesn’t function due to a session timeout. It may be difficult or prohibitive to attach error trapping to all the AJAX controls in an application. Another options is to cache the control content, but that may be impossible if it is truly dynamic.
  • Ping requests may update the session file timestamp. A ping count can be used on the server side to differentiate between ping requests and user-initiated requests. After a certain number of ping requests, the server can time out the session. AJAX and page (HTML) user-initiated requests should clear the ping count.
  • Users should be alerted gracefully of timeouts.

Rapid RIA Development

Each step ends with place in version control, submit for review, evaluate review responses and apply them as appropriate..

  1. Define the page architecture, common page elements first. These must be stable before beginning.
  2. Build page level XHTML/CSS for all pages, target browser FireFox, with only enough back end code to deliver the pages. Use static server-side content to populate dynamic controls/queries for illustration. Create data in the database to support it. Validate the XHTML/CSS as well as possible (some libraries have proprietary attributes).
  3. If common components are identified in the previous step, they should be constructed reusable/shared components. For example, a file upload or search results dialog box will probably be used in more than one place. Both client and server-side code should address this to avoid duplicate code.
  4. Tune colors.
  5. Define and implement client-side functionality, allowing content to be delivered through AJAX, navigation, any dynamic operations.
  6. Implement client-side validation.
  7. Extend pages to run under any other browsers you will be supporting. Clearly indicate limitations, such as will function but may not display well. Provide notification for users of unsupported browsers.
  8. Integrate and implement server-side validation. It should be identical to client-side validation, with addition considerations for security.
  9. Implement page level functionality.
  10. Test, test, test.

http://know-waste.com has moved to http://web-notes.wirehopper.com

The registration for the domain name know-waste.com expired, the credit card number had changed, and the most cost-effective solution is to run this blog as a subdomain.

Web Development - Horizontal and Vertical Markets

Horizontal

http://en.wikipedia.org/wiki/Horizontal_market

  • Web sites
  • Intranets
  • ecommerce
  • Live support
  • Social networking / web 2.0
  • Blogs
  • Flash
  • RSS / aggregation
  • SEO
  • Internet Marketing

Vertical

http://en.wikipedia.org/wiki/Vertical_market

  • Application development, including RIAs
  • email management
  • Server management
  • Licensing
  • Toolkit / Framework development
  • Technical support
  • Product support
  • Open source customization
  • Content Delivery Networks