Category: "Web Sites"

Drupal RPM Component Construction

The next major step for Drupal will be assembly of an RPM repository that bundles compatible components into RPMs that can be managed as such. In order for this to succeed the server filesystem architecture must be created such that a single installation of Drupal can run multiple sites.

Social Networks - Profit

The best way to profit from social networks is to develop the skills to build them. If you are a web person - of any sort - designer, developer, engineer, database expert, server administrator, SEO expert, or Internet marketing specialist, you are well-positioned.

First, study the various social networking systems and applications. Understand what social networking is, at a high level, from many angles. Identify what makes them work, which ones are successful, and why. Examine the business aspects of these sites. Who makes money? Who spends money? Why and how?

Next, ensure you are working with state-of-the-art materials and technologies. Social networks are expected to be high-end systems. Your skill set must include the appropriate abilities to allow a contribution to a social network development project. If you don’t already have these skills, it is extremely important to acquire them.

Finally, build a social network. Don’t bother investing alot of time. Find a powerful solution, like http://ning.com or something similar, and create an online community.

Update your resume and get a job. Profit from social networking. Monetize your skills.

Key Site Architecture Considerations

Virtually every site or web application should consider the following:

  • Multilingual capable - even if the content is not immediately available in other languages. Retrofitting translation into a site is extremely costly.
  • Common components - any code that will execute in more than one place should be shared through includes or other mechanisms.
  • Hierarchical templates - this provides a more consistent interface and more efficient code. Templates must be general enough to support this.
  • Appropriate user assistance - help, at both the field and page level
  • List of browsers supported - you can’t support every browser. Identify those you will.
  • Graceful error handling - don’t just issue a print or echo and die
  • Security - close the windows and doors into your application. Ensure error handling prevents disclosure of code and database elements
  • Configuration - database access constants should be sourced from a single point, as should all other configuration directives. This ensures all elements of the application, including backend/offline scripts. Otherwise, the constants can’t be changed without risking the integrity of the system.
  • Server configuration - prevent access to areas the site visitor should not see at the server level.
  • Multi-mode deployment - only put the code required on the server. Set up the distribution/installation process accordingly.
  • Use mod_security.
  • Let the web server be the only reader of script files. This makes it more difficult for hackers to get to the web code.
  • Use robots.txt and meta tags to keep things out of search engines unless necessary.
  • Change off port 22 for SSH, or close it entirely from public access
  • Enforce these practices across the entire team, and audit for them during development

Speed - Fast Pages, Rapid Engineering, High Quality

These will be the defining characteristics of successful web companies. To be sustainable, the fourth element is quality.

To achieve these results, you need a well-educated, experienced team of engineers, applying innovative ideas, with an artist with an excellent technical understanding. If the site must draw traffic through search engines, SEO is also extremely important.

Clients must be able to describe the objectives of the site if they expect a company to build it, then they must trust the technical staff.

There are many powerful tools available that cost little to nothing. They are of no value if you don’t know how to use them. The cost of building a sophisticated site is not in the software itself, but in its application and integration.

No More Flat Pages

Building a complex application requires creative use of the page space. At a certain point the page is full, and additional content/options/functionality must be integrated with innovative approaches.

  • Dialog or popup boxes are extremely effective for displaying search results. Integrated carefully into the form functions, it allows a user to review the search results without closing the box
  • Tabbed navigation is good for hierarchical content displays
  • Accordian panes are good for compressing a stack of content into a small area, opening them on refresh is helpful for the user