Introduction to CSS3

<!–

–>

Introduction to CSS3

W3C Working Draft, 23 May 2001

This version:

http://www.w3.org/TR/2001/WD-css3-roadmap-20010523

Latest version:

http://www.w3.org/TR/css3-roadmap

Previous version:

http://www.w3.org/TR/2001/WD-css3-roadmap-20010406

Editors:

Eric A. Meyer
<eric@meyerweb.com>

Bert Bos (W3C)
<bert@w3.org>

trademark,
document
use
and software
licensing
rules apply.


Abstract

The members of the CSS&FP Working Group have decided to modularize the
CSS specification. This modularization will help to clarify the relationships
between the different parts of the specification, and reduce the size of the
complete document. It will also allow us to build specific tests on a per
module basis and will help implementors in deciding which portions of CSS to
support. Furthermore, the modular nature of the specification will make it
possible for individual modules to be updated as needed, thus allowing for a
more flexible and timely evolution of the specification as a whole.

This document lists all the modules to be contained in the future CSS3
specification.

Status of this document

This is an official introduction, issued by the CSS Working Group, which
details the modularization of the CSS3 specification and the CSS test suite.
This document should be considered to be informative, not normative. See the
Style overview pages for more information on W3C’s work
on style sheets, including CSS.

This is a public W3C Working Draft for review by W3C members and other
interested parties. As a draft document, it may be updated, replaced, or
obsoleted by other documents at any time. It is inappropriate to use W3C
Working Drafts as reference material or to cite them as other than “work in
progress.”

A list of current W3C Recommendations and other technical documents
including Working Drafts and Notes can be found at http://www.w3.org/TR.

Please send comments to the
www-style@w3.org
mailing list (see how to
subscribe
) or to the editor.

Table of contents


1. Why Modules?

As the popularity of CSS grows, so does interest in making additions to
the specification. Rather than attempting to shove dozens of updates into a
single monolithic specification, it will be much easier and more efficient to
be able to update individual pieces of the specification. Modules will enable
CSS to be updated in a more timely and precise fashion, thus allowing for a
more flexible and timely evolution of the specification as a whole.

For resource constrained devices, it may be impractical to support all of
CSS. For example, an aural browser may be concerned only with aural styles,
whereas a visual browser may care nothing for aural styles. In such cases, a
user agent may implement a subset of CSS. Subsets of CSS are limited to
combining selected CSS modules, and once a module has been chosen, all of its
features must be supported.

2. Module Overview

All modules contain a “Conformance: Requirements and Recommendations”
section. Any module whose table row is backed with green is considered part
of the “CSS Core.” The listed deadlines (backed in red) represent the time at
which a module should be ready for Working Draft publication. There are also
columns which indicate a module’s participation in each of three “profiles”:
HTML Basic, CSS3, and SVG. A module without any indicated module
participation is at risk of being dropped from CSS3 before it reaches
Proposed Recommendation status. A module without a listed editor is backed in
yellow, and is in serious danger of being dropped.

Module Editor(s) HTML
Basic
CSS3 SVG WD1 WD2 LC Ends CR PR REC
Syntax / grammar / etc. X X
Selectors Tantek Çelik, Daniel Glazman, Ian Hickson X X 5 Oct 2000 26 Jan 2001 1 Mar 2001
Values, Units Håkon Lie, Chris Lilley X X
Value assignment / cascade / inheritance Håkon Lie X X
Box model / vertical Bert Bos X X
Positioning Bert Bos X
Color / gamma / color profiles Tantek Çelik, Chris Lilley X X 22 Jun 1999 5 Mar 2001
Background Tim Boland X X
Line box model Eric Meyer X X
Text / bidi / vertical alignment Chris Lilley, Michel Suignard X X 17 May 2001
Ruby Michel Suignard X 16 Feb 2001
Font properties Chris Lilley, Michel Suignard X X
WebFonts Chris Lilley X
Generated content / markers Håkon Lie X
Replaced content Eric Meyer X
Paged media Steve Zilles X 28 Sep 1999
User interface Tantek Çelik X 16 Sep 1999 16 Feb 2000
Tables Bert Bos X X
Columns Håkon Lie X 22 Jun 1999 18 Jan 2001
SVG Chris Lilley X X
Math Angel Diaz
BECSS Michel Suignard 4 Aug 1999
ACSS
Media queries Håkon W. Lie X 4 Apr
2001
17 May
2001
SMIL Debbie Newman
Test Suite Eric Meyer X

3. Module Descriptions and Related
Information

3.1. Introduction

This provides a general overview of the specification’s goals, as well as
basic notes on how CSS works, acknowledgments, and so forth.

  • 1. About the CSS2 Specification
  • 2. Introduction to CSS2

3.2. Syntax / grammar

A way to attach arbitrary properties to a hierarchically structured
document or other data structure, with the characteristic that it has
built-in “forward-compatibility” (a.k.a. “extensibility”).

3.3. Selectors

Describes the selectors of CSS3. Selectors are used to select elements in
an HTML or XML document, in order to attach (style) properties to them. The
draft includes the selectors of CSS1 and CSS2 and extends them with new
proposals that allow, for example, elements to be selected based on whether
they contain a certain word, or whether they are the only element of their
kind.

3.4. Values & units

Things which are applied to values.

3.5. Value assignment / cascade /
inheritance

How properties interact, and the core of how CSS operates.

3.6. Box model / vertical

The box model describes the basics of the normal text flow, including how
to “float” blocks of text or images, but excluding columns, tables, and other
advanced layouts; i.e., it describes how text and other objects are strung
into lines, and lines into blocks (paragraphs), and how those blocks are put
below each other or side by side with the help of margins and borders. It
treats both horizontal text and vertical writing modes.

3.7. Positioning

This describes the process of placing an element someplace other than it
would normally be in the normal flow of the document.

3.8. Color / gamma / color profiles

In general, basic color descriptions and color handling in multiple
environments. The color profiles section describes how two properties can be
attached to embedded images to specify their “color space,” which is the
information a renderer needs to paint the right color for each pixel. It
should do away with the annoying problem that images, especially GIF and
JPEG, but sometimes also PNG, look different on a Mac than on a PC, or other
platforms.

3.9. Colors and Backgrounds

A description of how element foregrounds and backgrounds are formatted.

3.10. Line box model

A description of the line box model for inline elements, and the inline
content of block elements.

3.11. Text

Description of the handling of text in user agents. Includes bidi,
vertical alignment, text decoration, line breaking, etc.

3.12. Fonts

Description of the handling of fonts in user agents.

3.13. Ruby

A draft that contains proposals for new style properties for typographic
traditions that have so far had little attention in CSS, such as vertical
Japanese and Arabic. The CSS working group is cooperating with W3C’s
Internationalization working group on this.

  • The Internationalization CSS WD

3.14. Generated content /
markers

A description of how content is generated and markers are displayed.

3.15. Replaced content

A module explaining how replaced content is handled and what qualifies as
replaced content.

  • ???

3.16. Paged media

Extends the properties that CSS2 already had with new ones to control such
things as running headers and footers, page numbers and print-style
cross-references (“see page…”).

  • 13. Paged media
  • The CSS3 Page WD
  • Running headers and footers
  • Cross-references
  • Float : gutter-side/fore-edge-side
  • Floating boxes to top/bottom of page

3.17. User interface

Contains features for styling some interactive, dynamic aspects of Web
pages: the look of form elements in their various states, more cursors and
colors to describe GUIs (graphical user interfaces) that blend well with the
user’s desktop environment, and a proposal for “kiosk” mode.

3.18. WebFonts

Authors continue to clamor for “more control” over their pages, and the
fonts used in presenting them. This module will attempt to provide a way to
make fonts more Web-friendly.

3.19. ACSS

An attempt to make styled content even more accessible.

3.20. SMIL

An attempt to link CSS and SMIL together.

3.21. Tables

The tables module contains the properties to lay out boxes in rows and
columns. It allows a designer to assign roles like “table,” “cell,” “row,” or
“caption” to boxes and provides for various alignments and border styles.

3.22. Columns

Proposes new properties to create flexible column layouts.

3.23. SVG

A format that expresses shapes (lines, circles, splines, etc.) in an
XML-based language and their style (fill color, stroke width, etc.) in CSS.
This should make it easy to create text and graphics in the same style simply
by using a single style sheet for both. SVG uses several existing CSS
properties, but also introduces new ones that may or may not be useful for
styling text. It will progress to Recommendation as a separate specification,
but the (new) CSS properties are coordinated with the CSS working group.

3.24. Math

An attempt to provide style properties for mathematical expressions. This
will obviously be deeply linked to the MathML specification.

3.25. BECSS

A proposal to use the CSS syntax and CSS’s system of cascading and
inheritance to attach “behavior” (rather than style) to elements. Behavior in
this context refers to any dynamic changes to the style or the document in
response to user events, such as clicks and key presses. The behaviors
themselves are expressed as pieces of script, in languages such as
ECMAscript.

3.26. Media queries

To describe in more detail what type of devices a style sheet applies to,
this document proposes media queries. A media query consists of a media type
and one or more expressions to limit the scope of a certain style sheet.
Among the proposed media features that can be used in expressions are
“width”, “height” (size of the display), and “color” (color depth of the
display).

3.27. Test Suite

Providing implementation guidelines, concrete examples, and user insight
into implementation support, a test suite is crucial to the success of any
specification. Although the Test Suite is a module in itself and has a module
owner, individual module owners are responsible for assisting in the creation
and review of tests for their specific module.

4. Appendices

Some appendices will be split up to go with individual modules. These are:

  • Appendix B. Changes from CSS1
  • Appendix E. References
  • Appendix F. Property index

For example, the changes between one version of a module and another
should be tracked in an appendix to that module, not a single appendix to the
entire specification. Similarly, there should be a property reference for
each module. There may be a single cumulative reference for the entire
specification, although this is not yet known with any certainty. Each module
should also include an appendix listing any dependencies on other modules or
specifications.

There will also be a few specification-wide appendices. There are
projected to be:

  • Appendix A. A sample style sheet for HTML 4.0
  • Appendix H. Index

5. Module template

All modules should conform to the format defined in the CSS3 editing
rules
[member-only link]. In addition to the definitions of properties
and values, each module contains a list of dependencies on other modules or
specifications, and also provides a list of changes from CSS2.

Categories: HTML, News, Resource Tags: , ,

Overview of Web 3.0

Overview
As the times goes and the technology enriches, the experts feels to develop some thing better that can be more fruitful, advance, user friendly and intelligent. Thus originates the concept of web 3.0 and now it is taking a handsome shape. Web 3.0 have some more feature including the feature of Web 2.0.

Web 3.0 sites will only allow collaboration of content generated from an approved pseudo-random sequence of characters. Web 3.0 would have three main objectives:

1. Seeking Information
2. Seeking Validation
3. Seeking entertainment

Seeking Information
Searching information would be more compact in Web 3.0. Till now, the web uses keywords in order to comprehensive data into usable chunks. Search engines index the Internet in proper order and present it to the end user in order of relevance. The users select the information that is nearer to their requirement. Sometimes this becomes a very hectic process. But Web 2.0 goes one step ahead and brought us a change in the basic way of searching. It applies the tags in the searching data e.g. if anyone wants to look for car. He/she types the word in the specified space of the search engine. The search engine displays many webs, but if the user type BMW cars, it displays all the relevant site onlk\y related to BMW cars. So BMW works as a tag.

Web 3.0 will be more advance in searching the information for example of Cars, Web 3.0 uses the further research beyond the engines, it also uses the subsearch engines that would provide more compact information and user can find the nearest desired data. It would go to all major categories like pictures, videos, blog posts, news articles, commerce etc. Each of these would happed because of RSS feed so that user can get alerts when something new would added to his/her search profile.

Seeking Validation
If the user wants to go the news not the information, it will work in a different way. It would provide the exact data what user wants. It would also search the available people on the net. The user have to type the words what he/she wants to access, Web 3.0 would provide the relevant information in order of its proximity, algorithms, tagging, and validation through user voting.

Seeking Entertainment
Entertainment, the most popular trend of Web 2.0 would be more advance in Web 3.0 as it would be based around the sect of the personality. People Search will replace the social networks that are most popular fashion in this generation of web. For searching about any person, just type the name and all the information related to regarding person would be displayed with some attached tags. If would display the total wiki profile, in which all the data would be specified whether the user would have created it or anyone else. All the related deeds would also shown in the profile. Then People would be more universal rather than now.

The looks and shape of the blogging would be also changed; the current weblogs would be converted in to Microblogging. People will be able to blog from anywhere, without having to spend hours writing a properly formatted post. Web 3.0 will see a more complete integration between devices like cell phones and the World Wide Web. Posting pictures, videos and text from anywhere, anytime would be more tussles free.

Commerce
Here the terms of commerce means the criteria of earning that will be more advance, but the whole criteria would not primarily change. The product will carry on to sell online. “Conversational advertising” and Advertainment will take the place of stock ads and promotions. Sect of personality and their sponsorships will also be more specific as the advertisement companies will be narrower because of categorizing of the people.

The entire advertising landscape will change; the ultra specialized subengines will search the tightly focused target audience to selling the product. Contextual advertisement will take second seat to product placements on sites, search results and subengines.

Categories: Web 2.0 Tags: ,

Web 3.0 And The Features

For those who are in the dark, the web has numbered versions. Not too many people know this truth but, a few years back, a guy named Dale Dougherty envisioned Web 2.0. This is despite the fact that the whole world was in chaos because of the crash of the dot-com. People were losing hope that the Internet would ever rise again but Dougherty never gave up. The Web 2.0 Conference in 2005 gave way to the birth of the World Wide Web.

Web 2.0 has come to depict practically each site, technology, or service which are promoting collaboration and sharing even down to the Internet’s roots. Blogging, tags, wikis, RSS feeds, Flickr, del.icio.us, MySpace, and YouTube were the first fruits. The world has been a witness to the evolution of the Web from its 1.0 phase to Web 2.0. Looking at the great developments on the web’s history, people are wondering what is in store for those who would be able to witness the coming of Web 3.0.

Net technologies are constantly evolving: in the minds of geniuses in universities, in prime corporations, and many other great minds out there. Most of the online population coin the term Semantic web to Web 3.0. This is somehow in connection to Tim Berners-Lee’s invention of the World Wide Web.

Basically, Web 3.0 is a location where web pages are read by machines just like humans read them. This is also a place where search engines abound. Looking at it on a layman’s perspective, it simply means a single database for the whole world (well, this is not quite simple when you begin to fathom the work it’s going to take to make this happen).

Some are skeptical about the birth of this modern Internet idea of Berners-Lee in 2001. He began with an idea where the Semantic Web can have agents that would take care of people’s schedules (even down to the setting of appointments). Semantic web agents can be programmed to do just about anything else (processing of research papers or even booking vacations). All it takes for these agents to become a reality, according to its author, is for the web to be re-annotated.

Nowadays, Web 3.0 is more than just a dream. Official standards which describe the metadata that would make information machine readable are now practically everywhere—they are already in place in RDF (Recourse Description Framework), OWL (Web Ontology Language), there is even a development platform in HP called Jena and structures are to be found in the Spatial database tool of Oracle.

The technology of Web 3.0 is evident in Google Gears which allows users to create web applications even when offline. The Adobe Flash player lets application developers have some access to the microphone and webcam. Pretty soon, it would be possible to drag then drop files from the desktop all the way to a web browser.

More awesome features await those who would want to experience Web 3.0: spectacular graphics, hi-def video and audio, seamless animations, and 3D. The present day’s generations of web front-end engineers are very lucky to have Web 3.0. Fragmentation which could result when technologies skyrocket could be moderated with the use of JavaScript toolkits.

These could very well be the vision that Berners-Lee saw. It’s more than just storing and sharing information now—the Internet could do far more complex actions that would make Web 1.0 and Web 2.0 seem ‘Neanderthal’ in comparison.

Learn more about the benefits you can get from the Internet evolution – http://www.worldinternetcourse.com

Great competition, Great Outcome

SkinToWinChallenge is over!!! Winners are declared!!! The quality of the themes is really great. Especially the first and the second prize are looking really cool. Congratulation to Alberto Alcaraz and Nahuel Foronda. I had also submitted the almost seven themes for the competition 🙂 with motivation of “Air Notebook” and “Adobe MAX” but competition was really tuff. At the end I am happy for that at least one of my theme is got selected for the spot prize.

Basically, I am not a designer but I play with my curser in free time that gives me great joy. I have learned lot of skinning techniques during the designing of the themes. Thanks Event

As per “Juan Sanchez” blog post the entire theme will be available next week for everyone.

Congratulation to all the winners!!!

Thanks Adobe, Thanks Effective UI, Thanks Juan Sanchez, Thanks all the members who had take a part in the competition.

Categories: Adobe, AIR, Flex, News, RIA

Wow !!! You have have a local file access within your browser.

Few days back FlashPlayer 10 (Code name Astro) released, as usual again with new milestones. This version include lots of new feature like native 3D support (Yes it means myMovie.x, myMovie.y and now myMovie.z available), new text rendering engine, custom filters and effects, improved new drawing methods. All above this feature, I like the most is access of local files within your browser.

http://www.gotoandlearn.com/player.php?id=76

http://labs.adobe.com/technologies/flashplayer10/demos/

Great going Astro !!!

Categories: Adobe, Flex, News, RIA, Web 2.0 Tags:

Layout design !dea

For developer it’s always pain to decide position, layout, navigation and containers. here i found very interesting web site which has numbers of layout design ideas. go and explore the site http://www.layoutcookbook.com/

Categories: Adobe, Flex, News, RIA

Titan’s Surface Organics Surpass Oil Reserves on Earth

Saturn’s orange moon Titan has hundreds of times more liquid hydrocarbons than all the known oil and natural gas reserves on Earth, according to new data from NASA’s Cassini spacecraft. The hydrocarbons rain from the sky, collecting in vast deposits that form lakes and dunes.

The new findings from the study led by Ralph Lorenz, Cassini radar team member from the Johns Hopkins University Applied Physics Laboratory, Laurel, Md., are reported in the Jan. 29 issue of the Geophysical Research Letters.

“Titan is just covered in carbon-bearing material — it’s a giant factory of organic chemicals,” said Lorenz. “This vast carbon inventory is an important window into the geology and climate history of Titan.”

At a balmy minus 179 degrees Celsius (minus 290 degrees Fahrenheit), Titan is a far cry from Earth. Instead of water, liquid hydrocarbons in the form of methane and ethane are present on the moon’s surface, and tholins probably make up its dunes. The term “tholins”was coined by Carl Sagan in 1979 to describe the complex organic molecules at the heart of prebiotic chemistry.

Cassini has mapped about 20 percent of Titan’s surface with radar. Several hundred lakes and seas have been observed, with each of several dozen estimated to contain more hydrocarbon liquid than Earth’s oil and gas reserves. The dark dunes that run along the equator contain a volume of organics several hundred times larger than Earth’s coal reserves.

Proven reserves of natural gas on Earth total 130 billion tons, enough to provide 300 times the amount of energy the entire United States uses annually for residential heating, cooling and lighting. Dozens of Titan’s lakes individually have the equivalent of at least this much energy in the form of methane and ethane.

Part of an animation showing lakes on Titan This movie, comprised of several detailed images taken by Cassini’s radar instrument, shows bodies of liquid near Titan’s north pole.
› Video and full caption
“This global estimate is based mostly on views of the lakes in the northern polar regions. We have assumed the south might be similar, but we really don’t yet know how much liquid is there,” said Lorenz. Cassini’s radar has observed the south polar region only once, and only two small lakes were visible. Future observations of that area are planned during Cassini’s proposed extended mission.

Scientists estimated Titan’s lake depth by making some general assumptions based on lakes on Earth. They took the average area and depth of lakes on Earth, taking into account the nearby surroundings, like mountains. On Earth, the lake depth is often 10 times less than the height of nearby terrain.

“We also know that some lakes are more than 10 meters or so deep because they appear literally pitch-black to the radar. If they were shallow we’d see the bottom, and we don’t,” said Lorenz.

The question of how much liquid is on the surface is an important one because methane is a strong greenhouse gas on Titan as well as on Earth, but there is much more of it on Titan. If all the observed liquid on Titan is methane, it would only last a few million years, because as methane escapes into Titan’s atmosphere, it breaks down and escapes into space. If the methane were to run out, Titan could become much colder. Scientists believe that methane might be supplied to the atmosphere by venting from the interior in cryovolcanic eruptions. If so, the amount of methane, and the temperature on Titan, may have fluctuated dramatically in Titan’s past.

“We are carbon-based life, and understanding how far along the chain of complexity towards life that chemistry can go in an environment like Titan will be important in understanding the origins of life throughout the universe,” added Lorenz.

Cassini’s next radar flyby of Titan is on Feb. 22, when the radar instrument will observe the Huygens probe landing site.

For images and more information visit: http://www.nasa.gov/cassini and http://saturn.jpl.nasa.gov .

The Cassini-Huygens mission is a cooperative project of NASA, the European Space Agency and the Italian Space Agency. JPL, a division of the California Institute of Technology in Pasadena, manages the Cassini-Huygens mission for NASA’s Science Mission Directorate, Washington. The Cassini orbiter was designed, developed and assembled at JPL. The radar instrument was built by JPL and the Italian Space Agency, working with team members from the United States and several European countries.

Categories: News

Introducing Microsoft Silverlight

It is with tremendous pleasure that I can reveal Microsoft Silverlight: our next-generation, cross-platform, cross-browser web client runtime. Silverlight (previously codenamed “WPF/E”) is a lightweight subset of XAML for building rich media experiences on the web.

  1. It supports playback of WMV files on both PC and Macintosh, with many options for interactivity during playback; with just a couple of lines of code, you can provide a platform-neutral way to handle all your movie files. Silverlight supports full-screen 720p video and offers seamless transitions between full-screen and windowed mode without losing your position in the video (something that media sites are crying out for today).
  2. By separating markup (XAML) from code, Silverlight provides a familiar web metaphor for designers and developers. You can embed XAML directly within an HTML file if you want a simple, monolithic solution, or you can keep the two separate to enforce a delineation between different web development roles.
  3. Silverlight and HTML integrate seamlessly together. Every XAML element can be accessed or manipulated from the same client-side JavaScript that would be used to interact with any DHTML element: there are no artificial boundaries or barriers, and you can even overlay HTML elements on top of Silverlight content (simply by creating a windowless frame). We’ll also make it very easy for an ASP.NET AJAX developer to add Silverlight content.
  4. You can embed XAML directly into your HTML pages; there’s nothing binary or opaque about the format. There are only three steps necessary to add animation or media to your RIA application: (i) include a standard JavaScript file in your HTML header; (ii) call a function to create the Silverlight object anywhere on the screen; (iii) add some XAML content (an animation, some media) for runtime delivery.
  5. You have full runtime interactivity with Silverlight content. The contents of the XAML file can be completely server-generated, to contain information populated from a database. From JavaScript, it’s just a matter of calling the createFromXaml method to add or remove elements dynamically at runtime. There’s nothing that you can only create or manipulate at design-time.
  6. Silverlight is just a 1MB download on a PC (slightly more on a Macintosh because the universal package contains both Intel and PowerPC versions); it supports Windows XP and above, with Windows 2000 support to come.
  7. Silverlight is blindingly fast – for example, you can play many videos simultaneously without stuttering or dropping frames (subject to network bandwidth, of course). We’re introducing a new video brush in Silverlight that allows you to use video as a texture for any 2D object (a rectangle, an ellipse or a path). This is going to allow designers incredible power to use media in new ways that have never been accessible through other existing technologies.
  8. Silverlight is both client- and server-agnostic. There’s no difference between the Macintosh and PC runtimes; you don’t need any Microsoft software on the server if you don’t want to – you can deliver a great Silverlight experience from an Apache / Linux server to a Mac OS 10.4 client.
  9. Silverlight is almost 100% upward compatible with WPF. Animation, 2D vector graphics, media, text – they’re all present in Silverlight and the concepts you’ve learnt in WPF carry forward (although Silverlight is a subset – it doesn’t support WPF features such as 3D, data binding or templates). You can use the same tools (e.g. Expression Design) to generate content for Silverlight; you can take XAML from Silverlight and use it in a WPF application when you want to scale up and take full advantage of your local machine.
  10. Ah… #10. I can’t reveal this yet – there’s a big surprise up our collective corporate sleeve that will be announced at MIX. I hate to hold back on you, but anticipation is part of the pleasure, as my mother used to tell me as a child when I was waiting impatiently for Christmas to come!

Now that Windows Vista is done, I’ll be shifting the focus of my blog slightly – I’ll still write just as much about WPF, but I’ll also start to write about its web-based little brother, since they both are part of the same continuum and my day-to-day job incorporates both technologies equally. Rich interactive web-based and Windows-based content; it’s an exciting time to be a client platform evangelist!

Categories: Microsoft, News, Silverlight

Microsoft Silverlight rivals Flash, AJAX

Microsoft’s much-touted and much-anticipated RIA (rich Internet application) entry, Silverlight, lets Web developers and designers create “rich, engaging user experiences with 2-D graphics, animation, images, media, and video,” to use Microsoft’s own description. Silverlight competes in this arena with Adobe Flash and Flex, with OpenLaszlo and Curl, and with a variety of AJAX (Asynchronous JavaScript and XML) frameworks.

As I’ve written before, RIAs comprise a spectrum of application types and technologies. Silverlight is Microsoft’s entry in the middle of the “weight” spectrum. It joins the Microsoft AJAX Library, which falls at the lightweight end, and Microsoft .Net Smart Client applications, which occupy the heavyweight end. Microsoft Silverlight 1.0 incorporates a subset of the .Net Framework and supports JavaScript. Microsoft Silverlight 1.1, currently in alpha tests, incorporates a larger subset of the .Net Framework and supports JIT-compiled C#, Visual Basic .Net, IronPython, and (eventually) IronRuby as well.

Unlike many of Microsoft’s other offerings, Silverlight was designed from the ground up to be a cross-platform, cross-browser plug-in. It currently supports Windows and Mac OS using the Internet Explorer, Firefox, and Safari browsers. In the future, it will also support Linux and the Opera browser.

As you might expect from Microsoft, Silverlight is supported by excellent development tools. You don’t absolutely need those tools: Silverlight 1.0 is largely straightforward enough that you could develop applications using free HTML and JavaScript editors if you wished, supplemented by a free XAML (Extensible Application Markup Language) editor, such as XAMLPad from the Windows SDK or Charles Petzold’s XAML Cruncher. On the other hand, the time savings from using Visual Studio for development and Expression Studio for graphics design and video preparation should more than offset their cost.

The Silverlight 1.0 SDK can install a Silverlight JavaScript Application project template into Visual Studio 2005. For the best development experience, Microsoft recommends using Visual Studio 2008, which includes Silverlight 1.1 C# and VB project templates and is currently in beta test, and a preview version of Expression Blend 2. Setting up the Silverlight 1.0 JavaScript Application project template in Visual Studio 2008 takes some effort, which I discuss in this blog entry.

Silverlight is a browser plug-in and, as such, needs to be launched from an HTML page via JavaScript. The Silverlight runtime can parse and render XAML to the browser, animate XAML elements, and respond to user input and other events. It can also download and display media, and handle “ink” input from a pen, a touchscreen, or a mouse.

The Silverlight 1.0 plug-in provides mechanisms for setting and changing the XAML content to be executed by the runtime; for retrieving objects from the runtime; for manipulation of objects through JavaScript; and for downloading image, text, glyph, audio, and video content incrementally.

I found Silverlight development easy to learn, but I had a head start: I was already familiar with XAML, JavaScript, HTML, and Visual Studio. Expression Blend was new to me, but was similar enough to other graphical design tools that I didn’t have to climb much of a learning curve. That said, I’m no graphical designer: I appreciate the division of labor between programmers and designers that is facilitated by having XAML and code-behind files.

he online Silverlight QuickStarts should give most developers enough of a feel for the product to get started with simple projects. Additional reference information on MSDN and in the SDKs helps a bit, but a number of Microsoft Technical Evangelists and bloggers have created videos to make the process even clearer. Some of the videos go further afield, covering useful topics you never expected to hear about from Microsoft, such as integrating Silverlight with PHP and Java, and using SVG (Scalable Vector Graphics) assets in Expression Design. 

Silverlight 1.0 performance is adequate as long as you don’t do too much work in JavaScript; it’s certainly more than adequate for streaming videos (which is done by the runtime) and simple XAML animations. I found Silverlight 1.0 sites to be about as responsive as AJAX, Flash, and Flex sites, but less responsive than Curl sites.

The use of JavaScript in Silverlight 1.0 helps make Silverlight compatible with multiple browsers and operating systems, but it also limits Silverlight’s performance. There are two relevant issues. First, JavaScript is an interpreted language that is inherently much slower than native code. Second, when JavaScript is running, the Silverlight plug-in stops drawing. Silverlight 1.0 can be used for simple user interfaces that don’t spend much time processing events, but it’s not appropriate for creating highly interactive applications, such as games. For that, consider Silverlight 1.1.

Now that Silverlight 1.0 has been released, the Silverlight team is devoting most of its energy to Silverlight 1.1, now in alpha, which has a number of additional features over 1.0. Foremost among these is support for development in C# and Visual Basic .Net, offering a speed boost over JavaScript of roughly 200X, judging by the Bubblemark animation test. The Silverlight Chess demo, however, reveals the computational speedup is close to a factor of 1,000. I wouldn’t be surprised if the final computational speed of Silverlight 1.1 applications was comparable to that of Curl applications, and Curl is fast enough to do ray-tracing.

Silverlight 1.1 supports a larger subset of the .Net Framework than Silverlight 1.0, enabling the development of some fairly serious applications, not to mention some fairly cool games. In Silverlight 1.1 you can do networking and communication, process XML, use isolated local storage, upload files, and use compiled dynamic languages such as IronPython.

But Silverlight 1.1 is still a work in progress. In the meantime, should you jump for Silverlight 1.0? If I had a site that could benefit from streaming media and simple animations, and was intended for viewing on Windows and Mac computers, I wouldn’t hesitate to use Silverlight 1.0, especially if I had a development staff familiar with Visual Studio and XAML. On the other hand, I wouldn’t spend the time and money needed to convert an existing Flash or Flex site to Silverlight 1.0. If performance were an issue, I’d revisit the question when Flex 3 and Silverlight 1.1 are released.

If I had a site that displayed embedded videos from YouTube, I’d have to decide if the additional interactive features I could get from Silverlight made up for the additional bandwidth cost. If my videos fit within the free 4GB hosting restriction of Silverlight Streaming by Windows Live, bandwidth wouldn’t be an issue, and I’d strongly consider moving my content.

Categories: Ajax, Flash, Microsoft, Silverlight

Microsoft posts new Windows XP SP3 build for public download – Release notes, Vista’s pattern may hint at SP3 wrapping soon

Two weeks after it last handed a new build of Windows XP Service Pack 3 (SP3) to several thousand invitation-only testers, Microsoft Corp. today posted that version for public downloading. “We’re broadening the availability of the release candidate in order to receive further user feedback prior to the release of Windows XP SP3,” a company spokeswoman said in an e-mail Tuesday afternoon. “Windows XP SP3 RC2 will be made publicly available today at 5:00 p.m. Pacific time.”

On Feb. 7, Microsoft seeded Release Candidate 2 (RC2) with the 15,000 or so testers who had been working with SP3 for several months. At that time, the company said nothing about taking the version public. This is just the second time that all Windows XP users have had the chance to try out SP3, the last scheduled major update to the six-year-old operating system. The only other public posting was of SP3 RC in December.

Microsoft, however, followed precedence today. Earlier this year, it did the same thing — sent code to its beta testers, then released it to all comers — during the run-up to finalizing Windows Vista Service Pack 1. In fact, although Microsoft has stuck to the vague schedule of delivering XP SP3 sometime in the first half of 2008, Vista’s pattern may signal that the XP Service Pack release is imminent.

Microsoft seeded the RC Refresh build of Vista SP1 on Jan. 11, then two days later posted it for public download. Twenty-two days later, it called a wrap on SP1, saying the code had met its RTM (release to manufacturing) criteria.

Another Vista indicator — the posting of revised release notes just days before SP1 went RTM — may also hint at XP SP3 be finished sooner rather than later. Today, Microsoft published the first version of the XP SP3 release notes to its Web site.

Once SP3 ships, the next major milestone for Windows XP is June 30, when the popular operating system is slated to fall off the reseller and retail availability list.

Microsoft is delivering SP3 RC2 via Windows Update, but users must first download, install, and run a small registry hack available from the company’s Download Center. The hack allows the PC to “see” the SP3 RC2 update on Windows Update. Microsoft also told users to uninstall December’s RC version of SP3 before applying this latest.

Categories: Microsoft, News