About Web 2.0 and xCss

It's increasingly common for websites to offer their users customization options. YouTube, GMail, Facebook, MySpace, and others allow you to customize your personal areas of the site.

Some websites such as BBC are even beginning to offer this type of capability to anonymous users, who have not logged in or setup an account.

These types of capabilities are often referred to as "Web 2.0".

Our team as Sygnal is not big on fluffy marketing labels, especially when it’s not clear what they’re selling. But to us “Web 2.0” is about these elements;

  1. Improving usability
  2. Increasing customizability
  3. Increasing connections between things

Each of these goals have a number of enabling technologies behind them, for instance;

1. Improving usability
Use AJAX for real-time UI interaction or Flash for data feeds and animation.
2. Increasing customizability
Use JQuery to adjust HTML output on the fly. Use WebParts or “web flakes” type approaches for UI arrangement.
3. Increasing connections between things
Use RSS or JSON for inbound streams like news feeds. Use web services to interact with 3rd party servers like Amazon.

What Does xCss Do?

xCss seeks to solve, simplify, and standardize some of the technical challenges around the goal of increasing customizability.

In web design, one of the core mechanisms used to control the styling of websites is the Cascading Style Sheet (CSS). CSS files govern the visual appearance of a website, and are usually used to define the color scheme of a website, as well as many of the graphics elements, and even the layout of the page. Modern sites are entirely dependent on the CSS file for site styling and layout, to the point that simply changing that one file changes every aspect of the sites appearance.

xCSS offers fully dynamic control around the generation of your website's CSS file, so that the web design team can keep good CSS-centric design practices, without having to resort to custom CSS generation techniques like perl scripts.

How can xCSS be Used?

xCSS improves several key areas of website development. It offers;

Parameter-driven customizability

Change colors on-the-fly by simply passing them to the xCSS file as it is rendered.

xCSS further augments color control by supporting a variety of color math functions that allow you to do manipulate (saturate, desaturate, brighten, darken, etc.) colors to create a palette that suits you.

Browser-specific CSS capabilities

One of the ongoing challenges of web development is that browsers keep changing, and worse, they keep breaking the rules of how standards are implemented. This means that for the forseeable future, web developers will still face the problem of browser-specific exceptions in CSS design.

xCSS makes it possible to deliver modified CSS elements to different browsers, so that a user visiting with, e.g., Internet Explorer 7 will get a different result than a user visiting with FireFox or Chrome.

This keeps code clean, and more easily testable, and avoids dependency on fragile CSS hacks that exploit browser-version-specific processing rules.

Styling driven by external feeds

Make your website appearance change based on external factors. Examples will help illustrate some of the things you can do;

Example: If you have a finance site, you can adjust the art and color of your site depending on whether it's a bull or bear market.

Example: A photography site, in which the background indicates the time of day at the company's headquarters location. The site style adjusts for sunrise, morning, noontime, evening, sunset, and night.

Example: A weather site, in which the background & colors adjust for weather details such as wind, humidity, temperature, and precipitation.

With the appropriate adapters, xCSS could be used to read its parameter values from an RSS feed or XML file, so that these data details can be pulled from external sources.