January 31, 2008

Search Engine Cloaking - What It Is?

Cloaking is a search engine optimization technique in which the content presented to the search engine spider is different from that presented to the users' browser. This is done by delivering content based on the IP addresses or the User-Agent HTTP header of whatever is requesting the page.

The only legitimate uses for cloaking used to be for delivering content to users that search engines could not parse(like MacromediaFlash).However, cloaking is often used to try to trick search engines into giving the relevant site a higher ranking; it can also be used to trick search engine users into visiting a site based on the search engine description which site turns out to have substantially different content.

Often when you get a high ranking page under quality keywords the first thing that will happen is your page gets stolen (called PageJacking). Often that page is stolen just to put up a duplicate some where and reduce your rankings. Yes, that is what happens with many engines. They see the duplicate and think "duplicate" and mysteriously your page disappears in the next search engine update.So, it's easy to imagine what happens on what's regarding cloaking. Search engine cloaking is just one aspect of a much bigger picture. This is why search engines can't even consider banning cloaking. It is so widespread and pervasive, they'd have to delete 1/4th of the domains in their indexes - those would be the best sites they have listed.

January 27, 2008

80+ RSS Readers & Aggregators Collection

  1. Aggie - A .NET based application for reading RSS files. Open Source, for Windows and Linux-with-Mono.
  2. AmphetaDesk - A perl-based desktop reader that runs in a browser. Windows, Linux and MacOS versions available.
  3. Awasu - A free Windows RSS client, allowing monitoring of a variety of news sites and weblogs around the world. Using plugin architecture, can also be customized to monitor databases, email accounts, and other resources.
  4. Beaver - A desktop RSS aggregator, capable of reading all flavours of RSS/RDF feeds and managing them in a familiar, simple three-pane Outlook Express style interface.
  5. Blagg - News aggregator for the Bloxsom weblogging system.
  6. BlogExpress - Free. It can read contents from any weblogs (a.k.a., blog) and any sites that provide XML files for content syndication (generally, a file with .rss, .rdf, or .xml extension). BlogExpress requires Microsoft .NET Framework 1.0 Runtime.
  7. Bloglines - A web-based personal news aggregator that can be used in place of a desktop client.
  8. BottomFeeder - A Smalltalk, desktop RSS Reader. Open source, runs on Windows, Mac, and various Unix flavors.
  9. Carmen's Headline Viewer - Shareware newsreader client for Windows.
  10. Composite - RSS/RDF Aggregator - A free desktop RSS aggregator application for .NET
  11. Deskshare's Active Web Reader - Free aggregator. Supports RSS feed formats 0.9x, 1.x and 2.x. [Windows 98 SE / Windows ME / Windows 2000 / Windows XP]
  12. eNewsCrawler - RSS news reader with scroller allows you to get the latest news from any of the thousands of available news channels and weblogs located across the web.
  13. Fastbuzz Headline News - A web based RSS aggregator that provides delivery either on the web or via email.
  14. Feed on Feeds - A PHP/MySQL based server-side RSS aggregator. All feeds are in one place, and users can read the latest news wherever they are.
  15. FeedDemon - RSS feedreader for Windows. Enables you to quickly explore the world of RSS from your desktop without having to visit hundreds of sites. Written by Nick Bradbury, creator of TopStyle and HomeSite.
  16. FeedReader - Freeware application for Windows.
  17. Feedroll - Web-based reader generates a JavaScript code for syndicating feeds on any Web page.
  18. Fetch - An "Enterprise RSS" client and server system, for internal corporate messaging and information flow.
  19. Friday - Java front-end for viewing news aggregation sites and site syndication feeds on mobile devices.
  20. fyuze - Acts as a personal news portal for searching, sorting and sifting daily news from RSS feeds.
  21. Genecast News Service - A server based RSS news and weblog aggregator converting them to Usenet News.
  22. Hotsheet - A Java based desktop newsreader. Works on Windows, Apple, Linux and anything else with a Java Virtual Machine.
  23. iBlog - Mac OS X blog editor and RSS reader.
  24. InfoSnorkel News Aggregator - Windows application that aggregates RSS feeds, plus content from sites without feeds.
  25. JavaScript RSS Reader - Downloadable script for reading RSS 1.0 and RSS 2.0 feeds.
  26. JERSS - Allows seamless integration of RSS newsfeeds into websites. It is a Java servlet generating Javascript objects the web author can manipulate.
  27. Klipfolio - A Windows based desktop news reader. Reads simple XML files that point to RSS feeds.
  28. Liferea - A RSS/RDF news aggregator for GNU/Linux. Its intended to be a FeedReader clone.
  29. Lionhardt Technologies - Information on Broadcast Builder which allows you to create RSS (Really Simple Syndication) channels & Weblogs (Blogs).
  30. MulleNewz - An Apple OSX dockling RSS reader.
  31. MyHeadlines - Content syndication search engine and news reader that can be integrated into a website running PHP and MySQL.
  32. myRadio - Extension to Radio Userland aggregation from RSS to any data source, including XML, HTML, and SOAP.
  33. MyWireService - A web-based custom newspaper that delivers just the headlines you want, from all the news sources and weblogs you like in one page you can access from anywhere.
  34. News is Free - Directory of feeds also allows for personalized news pages.
  35. NewsApp by Server.com - Free, customizable, web-based aggregator.
  36. NewsBox - Offers access to multiple news sources in German and English.
  37. Newscrollet? RSS viewer - Java-based RSS (really simple syndication) viewer that works on any Java-enabled platform, including Windows, Linux, Unix, Mac OS X and Mac OS 9. It features automatic scrolling of headlines in a minimized mode.
  38. NewsFeed - A desktop RSS reader and aggregator in Python/Tk.
  39. NewsGator - News aggregator that runs in Microsoft Outlook. Site features product overview, online tutorial and trial download.
  40. NewsGator Online Services - Services for reading RSS/Atom feeds in any web browser, any email client, or a mobile device.
  41. NewsMonster - Mozilla and Java-based aggregator with RSS 2.0 support.
  42. Newz Crawler - Provides access to news content from several sources, including XML, RSS, Usenet, and the Web.
  43. NewzSpider - News aggregator that runs on your computer and downloads headers from your favorite news sites and blogs. NewzSpider supports all RSS standards (0.91, 0.92, 1.0 and 2.0).
  44. NetNewsWire Lite - NetNewsWire is an OSX desktop RSS reader, written in Cocoa.
  45. nntp//rss - Enables RSS feeds to be read with NNTP newsreaders. Requires the Java Runtime Environment.
  46. Novobot - A heavily featured desktop newsreader, that can also scrape non-RSS'd sites
  47. Open Source RSS Aggregator - Console RSS aggregator which has been tested under Linux and OpenBSD, and should work properly under other Unix variants as well.
  48. Parss Project - The general idea behind Parss is to solve the problem of countless individual (desktop) RSS viewers randomly and redundantly transferring and processing almost exactly the same set of RSS feeds.
  49. Peerkat - Cross-syndicated personal syndicated news aggregator for use with Python.
  50. Perl XML::RSS - This Perl module provides a basic framework for creating and maintaining RDF Site Summary (RSS) files.
  51. phpNewsfork - Browser-based news channel and Weblog interface based on PHP, XML-RPC, and RSS. It uses the XML-RPC APIs from meerkat.oreillynet.com and syndic8.com, and does not require a database.
  52. PocketFeed - PocketFeed is an RSS/RDF news aggregator that runs on the Pocket PC 2002 PDAs.
  53. Radio Userland - News aggregator included with weblog software application for Apple and Microsoft platforms.
  54. Raissa - Headline and news reader for Newton MessagePad.
  55. RDF-Ticker - A shareware RSS newsticker application for the Windows desktop.
  56. Reptile - A P2P project, with RSS reading.
  57. Rnews - Server-side rss aggregator written in php using mysql as the back-end and uses magpierss for the rss parser.
  58. RSS Bandit - A free desktop news aggregator for Windows built on the .NET Framework.
  59. RSS Viewer - A Java based, open source RSS reader.
  60. RSSConnect - An Open Source C# .NET RSS Reader. Options and features descriptions and free download.
  61. RSSOwl - Uses the SWT Eclipse library to provide a cross-platform desktop application to read RSS subscriptions.
  62. Pineapple - Website news aggregator for Mac OS X.
  63. Pluck Product Info: RSS Reader - Free, runs in Internet Explorer and supports all of the RSS formats. [Windows 2000 Home or Professional, or Windows XP]
  64. RssReader - Free RSS reader is able to display any RSS news feed.
  65. SharpReader - Three-pane RSS Aggregator for the .NET framework.
  66. Shortwire.com - View, alert, create, publish and host RSS feeds and blogs with ease.
  67. Slashdock - A simple Mac OS X application that fetches and updates headlines for the latest postings on slashdot-compatible sites and RSS-compatible sites.
  68. Straw - A desktop news aggregator for the GNOME environment. With project information, news, and downloads.
  69. Syndigator - A Gtk/Gnome RSS reader in Perl. News, screenshots, and download.
  70. Syndirella - Open source, desktop RSS news aggregator running under .NET, with the additional capability of monitoring regular Web sites.
  71. TALAggregator - Multi-user web based RSS Aggregator. Caches feeds to MySQL database, handles bad RSS, and includes template driven interface.
  72. The Furrygoat Experience - PocketFeed for Pocket PC RSS aggregator
  73. TheYoke - A simple RSS aggregrator designed for use on the UNIX command line.
  74. Tinderbox - An Apple OS feedreader.
  75. Ubernode - A free, web-based personal news aggregator that can manage both RSS feeds and feeds automatically created from any web page by detecting updates.
  76. Vox Lite - Allows visitors to keep up-to-date with sources of information that support the RSS protocol.
  77. Wildgrape NewsDesk - A free .NET based RSS reader with hundreds of RSS channels and supporting the OCS directory format
  78. WinRSS - Freeware feeds reader for Windows.
  79. wTicker - A RSS news feed headline reader for Windows.
  80. GreatNews - The intelligent RSS reader. GreatNews is extremely fast RSS reader, optimized for full page reading.

January 24, 2008

20+ List of Public and Open Torrent Trackers

Here is a small list of open torrent trackers. These public torrent trackers track any torrents, whether you upload the torrent to their site or not, and track for any users whether they are registered on their sites or not. Basically, if you need trackers for a torrent that is open to the public, use these trackers. In fact, use all of them so that you have super-duper redundancy in case your primary tracker goes down. One of the weaknesses of the BitTorrent protocol is its reliance on centralized trackers. The use of redundant trackers all (along with the DHT feature), but eliminates this weakness.

[See original post at Tummblr.com]

January 23, 2008

Apache Batik SVG Toolkit Overview

Apache Batik is a Java-based toolkit for applications or applets that want to use images in the Scalable Vector Graphics (SVG) format for various purposes, such as display, generation or manipulation.

The project’s ambition is to give developers a set of modules that can be used together or individually to support specific SVG solutions.

The Batik modules are of one of three types: application modules, core modules and low level modules.

Application modules illustrate how to use the core modules and let users evaluate the Batik software by experimenting with its features. So, the application modules illustrate the functionality that Batik offers. The Batik SVG Toolkit distribution contains a few demos:

  • Squiggle SVG Browser
    The Squiggle SVG Browser lets you view SVG file, zoom, pan and rotate in the content and select text items in the image and much more.

  • SVG Font Converter
    The SVG Font Converter lets developers convert character ranges from the True Type Font format to the SVG Font format to embed in SVG documents. This allows SVG document to be fully self-contained and have their rendered identically on all systems.

  • SVG Rasterizer
    The SVG Rasterizer is a utility that can convert SVG files to a raster format. The tool can convert individual files or sets of files, making it easy to convert entire directories of SVG files. The supported formats are JPEG, PNG, and TIFF, however the design allows new formats to be added easily. In addition (and despite the name) the rasterizer tool can also convert SVG files into PDF.

  • SVG Pretty Printer
    The SVG Pretty Printer lets developers “pretty-up” their SVG files and get their tabulations and other cosmetic parameters in order. It can also be used to modify the DOCTYPE declaration on SVG files.

Core modules are the heart of Batik and the primary deliverables for the projects. These are the modules developers use to manipulate, generate, create, convert, render and view SVG content. They can be used individually or in combination for various purposes, and the application modules offer some usage examples:

  • The SVG generator is a module containing SVGGraphics2D class, that lets all Java applications or applets easily convert their graphics to the SVG format, as easily as they draw to a screen or a printer, by leveraging the Java 2D API’s extensible design.

  • The Swing components module includes, primarily, the JSVGCanvas class, a UI component that can display SVG content and let the user interact with that content (zoom, pan, rotate, select text, etc.).

  • The Bridge module is rarely used directly. It is responsible for creating and maintaining an appropriate object corresponding to an SVG element. The bridge converts an SVG document into the internal representation Batik uses for graphics (GVT, the Graphic Vector Toolkit).

  • The Transcoder is a module that provides a generic API for transcoding an input to an output. This module transcodes an input stream or a document into a particular ouput format, used for converting SVG documents to other types.


Low-level modules are used internally by the core modules to accomplish their work.
These modules are not expected to be used directly by developers using the Batik API. Rather, they support the operation of the core modules. The low level modules include:

  • The Graphic Vector Toolkit (GVT) module, which represents a view of the DOM tree that is more suitable for for rendering and event handling purposes. This module describes DOM tree in terms of a tree of Java graphics objects.

  • The Renderer module is responsible for rendering a GVT tree and any related task. For example, a raster based renderer may perform some caching (the default renderer in Batik does that). However, a renderer could perform any task deemed necessary and does not have to be raster based.

  • The SVG parser module contains parser classes for complex SVG attributes such as the transform or color attributes. Higher level modules rely on the SVG parser module.

Here are small list of projects and products that using Batik SVG Toolkit:

  • The Apache Cocoon project uses Batik to rasterize SVG images.
  • The Apache FOP project uses Batik to handle SVG images. It uses the SVG rasterizer and extends the Batik transcoder architecture to offer SVG to PDF conversion.
  • ElixirTech’s ElixirReport uses Batik for charting and for its SVG component.
  • GLIPS Graffiti is an Open Source Extensible Full Feature Native SVG Editor.
  • eDoc Studio, a page layout package, uses the Batik SVG generator to export pages to SVG.
  • ILOG Discovery Preview, a free visual data analysis tool letting you visualize and edit data sets in a very wide variety of views (2D graphs and charts, various kinds of treemaps, parallel coordinates, parallel histograms and much more), uses the Batik SVG export module.
  • The JFreeChart Project uses Batik to export charts in the SVG format.
  • Lagoon, an XML-based framework for web site maintenance, uses the Batik SVG Rasterizer to render SVG as bitmap graphics for web publishing.
  • ILOG JViews Component Suite, a product for advanced visualization, uses and extends the Batik SVG export module.
  • Lords Map is a program to allow players and visitors to view the current map of various campaigns. Lords Map uses Batik’s SVG DOM and SVG Generator.
  • Luxor XUL is a free, open-source XML User Interface Language (XUL) toolkit in Java released under the GNU GPL that supports hand-picked Mozilla XUL goodies and also includes a ultra-lightweight, multi-threaded web server, a portal engine, a scripting engine, a template engine and much more. Gerard Bauer, the Luxor project lead, has written an extensive SVG presentation.
  • OptimalJ, a UML Class Diagram Editor for NetBeans, uses Batik to export SVG.
  • Sketsa is a vector drawing application based on Batik. With Sketsa, you can create vector graphics that can be scaled and printed at any resolution, without losing detail or clarity.
  • Oracle Corp.’s JDeveloper10i uses Batik to export class diagrams in SVG. It uses the SVG export module.
  • Svolgo, a Graph Visualisation/Transformation Framework for the Semantic Web Cross-model transformation, node and arc diagrams, representation in SVG. This project uses Batik’s SVG DOM implementation.
  • Volity is an open platform for Internet-based multiplayer casual gaming. Its official client, Gamut, uses Batik, allowing developers to create game UI files that use ECMAScript-driven SVG.
  • XWeb, a tool to create websites automatically out of XML input. Uses the Batik SVG Rasterizer.
  • XML_svg2image is a PHP class which translates SVG files to PNG or JPEG using Batik.

If you are interested in Apache Batik SVG Toolkit, you can download it from Apache XML Graphics Project

January 21, 2008

225 million SVG enabled devices have been shipped

Ikivo and AMD claim to enrich graphics on mobile phones Based on Open standard and Imageon processor. Hoping to take advantage of the growing demand for high quality graphics on mobile devices, Ikivo has introduced a version of its accelerated vector graphics software that'll run on AMD's Imageon media processor. This solution is based on OpenVG - a royalty-free, cross-platform API that provides a low-level hardware acceleration interface for vector graphics. Ikivo's software utilises its Mobile SVG (Scalable Vector Graphics) technology to improve a mobile device's ability to display high quality images.
Uses include Mobile TV, 3D games, media players and on device portals (ODPs). Ikivo is claiming that globally as many as 225 million SVG enabled devices have already been shipped.AMD is arguing that its Imageon chip can support high speed graphics whilst still requiring only low power levels – necessary for use in smartphones and other handheld devices.

[See original post By Tony Dennis]

Renesis SVG Player Key Features

Renesis SVG Player

Renesis Player is a complete SVG 1.2 compatible renderer and viewer.
It was developed by
examotion® GmbH with the purpose of beeing the most complete and yet most perfomant implementation of the Scalable Vector Graphics Standard.
It is available for a lot of different operating systems and devices including Windows, Windows CE, Linux, MacOS and others.

Renesis Player Key Features


  • Optimized Parsing and Rendering
  • Very small memory usage
  • Efficient scripting, allowing interaction with HTML
  • High quality printing and exporting
  • High quality rendering
  • Extendable through COM, JS, and other technologies
  • Various plattforms and technologies:
    • Windows 98, ME, 2000, XP, 2003, Vista
    • Windows CE
    • Linux (Suse, Redhat, Debian, etc.)
    • ActiveX Control
    • .NET Assembly
    • Browser Plugin (Firefox, Internet Explorer, Opera, Safari and more)
    • Sun OS
    • Symbian
  • Extended SVG 1.2 Features:

    • Text Wrapping Modes
    • Pages Support
    • Event Handlers
    • EcmaScript for XML (E4X)
    • Multiple Text Editing

    Scalable Vector Graphics

    Scalable Vector Graphics or short spoken SVG is a standardized format for describing interactivate, animated vector graphics for the web and desktop. It is usable for many different things like data exchange, intranet applications, websites and much more. It was promoted by the W3C Consortium back in 2001 as Version 1.0 and since that continuously evolved further until version 1.2 which is the current one. One of the main facts of SVG is that it is purely based on XML which allows the easy generation of SVG content.

    Renesis Player Support

    Renesis player has a professional support, provided by RENESIS Alliance .
    The RENESIS Alliance is a special area aimed towards professional users of the Renesis Technology, Distributors of the Player, OEM Partners and Enterprises using the technology.

    The RENESIS Alliance offers different options. The members can subscribe to, depending on their financial and technical needs including but not limited to developing specific extensions to the RENESIS Technology, helping in using RENESIS within the member's Environment or Product and offering professional support within a guaranteed time.

    Renesis SVG Player Launches Version 0.7

    From press release:
    "
    A new Release v0.7 of the Standalone and IE-Pluginable Renesis® SVG Player is out. What's special on this version is the all-in-new Font and Text Engine which supports things like Unicode, Embedded Fonts, Text Selection, Copy to Clipboard, Text-Anchoring, Font-Stretching, Text-Decorations and much much more. The perfomance of the text engine should have improved as well. Other news are many many bugfixes and improvements based on our bugtracker as well as fixing one huge issue that caused a lot of crashes on various platforms. The next release is planned for somewhere between Juli and August 2007 and will mainly be a maintenance Release that will get a completely rewritten DOM Structure (not the EcmaScript binding!). Why should you care? As of now, inserting a lot of elements (especially text nodes) causes a lot of memory overhead and speed loss. The new structure system should shorten down the used memory to as low as 30-40% for dynamic changes as well as speed up the dynamic changes by a factor of 4-10x at a minimum so stay tuned! As always, comments, thoughts and questions are always very welcome into our forum. "


    You can download the most performant, memory-efficient SVG Player here.


    January 18, 2008

    MySpace and YouTube Proxy

    There is some web-proxies that are MySpace and YouTube compatible:

    • www.rightref.com - MySpace proxy/YouTuve proxy/Web-based anonymous proxy service
    • www.funsetup.com- Another MySapse compatible proxy/YouTube proxy/Web-based anonymouz proxy service
    • www.gocovered.com - Unblock MySpace proxy free/Unblock YouTube proxy free
    Excerpted from their sites:

    RightRef hides your IP address and our encrypted connection prevents monitoring of all the data transfer.Browse your favorite websites at your school or at your work anonymously.RightRef makes a narrow tunnel across the firewall through which you will be connected to the www. RightRef is a web-based anonymous proxy service which allows anyone to surf internet privately and securely, in an untraceable manner. Just enter an URL (website address) in the form and press go. Once we make a tunnel, you can surf as normal as you were comfortably. Access to RightRef is totally free.

    Yahoo! Groups for SVG developers

    There is a Yahoo! Groups for SVG developers:

    SVG stands for Scalable Vector Graphics, an XML-based 2D graphics language designed by the W3C. It is a free, open standard, and is platform- and vendor-independent. SVG images can be static or animated, and can provide interactivity through script or declarative syntax. SVG is popularly used as as a rich WebApp presentation format, but also for Web-friendly scalable images. This is a mailing list for anyone who is interested in developing SVG content, or in helping others solve development problems in either the SVG format or in scripting.

    Read the Last Topics from tech.groups.yahoo.com/group/svg-developers/:

    Create additive behavior on key press event Hello, I would like to move a rectangle of 25 pixels each time I press the 'r' key. I'm looking for a solution without scripting. Is it doable with SMIL? Here...

    Failed attribute warning on Opera browser Good afternoon. The following SVG code is throwing a warning into the Opera Error Console and I would prefer not to put this code live without, at the very...

    C APIs/library to create SVG Tiny (Mobile SVG) Hi All, I am new in SVG development. I need to create SVG files in C/C++ server and which will futher serve the mobile clients. Please let me know if there...

    Sketsa SVG Editor 5.1 released We proudly released Sketsa SVG Editor 5.1. It is available from http://www.kiyut.com/products/sketsa/ under download section. What's new: - Updated Apache...

    wikipedia: serve SVG where supported by UA, not PNG wikipedia: serve SVG where supported by UA, not PNG http://bugzilla.wikimedia.org/show_bug.cgi?id=12623 would appreciate comments on the bug, not this list ~:"...

    Opera: title not displayed in tooltip Eric & Chaals, the weather symbol displayed in: http://peepo.getmyip.com/~JonathanChetwynd/zanadu.svg do not provide a tooltip on mouseover though there is a...

    These public domain weather symbols, now have titles: These public domain weather symbols, now have titles: http://commons.wikimedia.org/wiki/Category:Weather_symbols regards Jonathan Chetwynd Accessibility...

    low resolution on firefox (2.x) svg native player I'm writing a client/server application in SVG. I noticed that the svg native player of firefox (2.x for windows) has a low resolution than firefox (2.x for...

    [ANN] Batik 1.7 released The Apache Batik team is proud to announce the release of Apache Batik version 1.7, a Java-based toolkit for processing SVG. The 1.7 release fixes a number of...

    External CSS for SVG in XHTML not working for IE7? I am having a problem getting Internet Explorer 7 to use an external style sheet (CSS) for styling SVG in an XHTML document. This is my XHTML document, served...

    SVG countdown Hi, I get a bit confused about modifying the content of a element. The more I read, the more I feel confused. :-s I would like to write a SVG code that...

    SVG element and event passthrough Hi, if I have an SVG element in front of some other DOM elements, Safari 3 is letting mouse events pass through the SVG and reach the underlying DOM elements...

    update on status of textArea widget Hi, I was hoping I could get people's feedback on what the current best practice approach is for when a multi-line textArea widget is needed in a pure svg...

    scripted SVG playback buttons for video playback Hi, and Happy New Year. I was just trying to construct playback button(s) for a Theora video embedded in SVG using JavaScript. However, trying to attach the...

    Opera caching problem I have a Perl cgi that serves an xhtml page including, as object (no embed) an SVG drawing whose specs can be changed by submitting data from an html form....

    Change reference to external CSS file per script Hi all, I have an example at http://www.carto.net/neumann/temp/loadCss.svg where I use javascript to change the reference to an external CSS file by removing...

    SVG, Batik, FOP, scripting, and converting to PDF hi, I have a SVG file which i am able to convert to PDF without a problem. However I would like to enable scripting in the final PDF. Here is the SVG...

    tspan text-decoration ASV3 won't underline multiline text the way I think it should. The following puts all decorations on the first line: ...

    Resolving begin and end list at run time hi i don't know how to resolve the begin and end values of the this file. does any one know how to solve it. i know the behaviour but don't know the solution. ...

    Why does pluginspage not work in IE? Hello everyone, my sister just pointed me to a problem with the SVG embedding on my website. My code looks like this...

    Are there any other major SVG discussion groups? Hi, I asked a few days ago about an issue regarding this SVG file that I've been trying to script in order to play video, but received no response. So, not to...

    getBBox in firefox problem Hi, I can't get the following code to work in firefox. ASV6 seems to have no problems. I imagine I've got something to do with namespaces wrong but I can't...

    Heads Up for SVG Open 2008 Hi, SVG Community- At SVG Open 2007, we promised to announce preparations for SVG Open 2008 in late December or early January. I thought I would kick off the...

    SVG Scaling, Resizing & Manipulation Please help. I have been trying desperately for a few months now to develop a Java utility using Batik to scale a few SVG files. Here is what I'm trying to do:...

    Read external file contents from within SVG Hi All, Sorry if this is OT - but I need some pointers to achieve the following: An 'onclick' event on a SVG element changes the 'visibility' attribute of a...

    svg games I know there are tons of SVG games out there, eg at http://www.codedread.com/games.php , http://blog.codedread.com/archives/category/entertainment/games/ , ...

    Cancel opacity inheritance I need one particular element in a translucent group to be opaque. Is there a way to escape the opacity set in the parent for this element? ...

    Opera/Firefox performance I'm developing map applications where the average svgz files are 50kb- 150kb. They usually have a couple of eventhandlers for tooltips, highlighting elements...

    Target overlapping elements I have an svg map with elements covering other elements. I want the user to be able "get to" the bottom-most elements without turning off the elements at the...

    Help to add javascript to a inline SVG code Hi, IÒ‘ve created (with xslt) a inline SVG graph as is explained in here . So my code has a name space with 'svg' prefix...

    January 16, 2008

    Web 2.0 Concepts to Keep Your Members Coming Back Again

    By: Jeremy Gislason

    Web 2.0 may be the most overused, and misunderstood, term of the decade. What it means, in a nutshell is providing a user driven website. Basically many membership marketing websites are Web 2.0, especially social networking sites. The users determine the content in the form of forums, blogs, article posting, reviews and so on. To further enhance the usability of your website and thus the benefit to your members, here are a some ideas to provide a few interactive extras or member benefits.

    Training courses are an excellent tool to provide benefit to your members. There are multiple forms for delivering your courses. You could use email - text or html or both, pdf downloads, website content pages, streaming & downloadable videos and audios.

    E-mail training courses - Getting your members to sign up for an e-mail training course that takes place over perhaps eight weeks, is a great way of keeping your members engaged with your site over a period of time. You could make this a free course, a paid course or both. Maybe give them a few lessons for free and ask them to pay for the rest of the course once they are into it.

    However, to get maximum exposure giving away an entire course or even multiple courses of good quality for Free will really get people coming back to your site. We do this with some of our own membership sites including MembershipMillionaire.com.

    Video tutorials - This is a very effective form of training as it is much easier to show your members what you are doing, rather than trying to explain it. It prevents your students becoming frustrated when they can’t understand what you are explaining, and reduces misunderstanding.

    You could do the videos yourself using software or you could hire experts in video creation if you are not comfortable using software or doing videos. You could do simple power point slideshows and narrate them or you could stand/sit in front of the camera and talk.

    With many Internet users on broadband or ADSL nowadays and computer processors getting faster and faster videos are now going mainstream.

    Teleclasses - Teleclasses are similar to conference calls and are conducted over the telephone. They are an excellent way for your members to take part in live learning, as well as having personal interaction with you and other members of your site.

    There are many services out there that provide teleconference lines for you to use. Some are free and some have paid services, you should decide what is best for your business needs. You could even record your calls, have transcripts made and then sell that as another product in itself. To top that off you could offer reprint or resell rights to those calls and sell licenses.

    Product reviews - Reviews posted by other members is a fantastic interactive medium. It could also engage heated discussions! Nothing gets traffic faster than controversy whether good or bad. Let your members speak their mind about products and services they've used. This will not only help other members and visitors out but it will add lots of content to your site that the search engines love. Sites such as Amazon.com, SureFireWealth.com and others do this on a regular basis.

    Guest interviews - Guest interviews with a well known personality who is connected with your niche subject will add huge credibility to your site. Promote guest interviews on your website and in your newsletter. This is a quick way to get great content.

    You could post the interview on your site as website content. Or you could have the streaming audio or video up and even let your members download the interviews. Let them post reviews and comments to the interviews and you've got even more content.

    Forums - Forums are a type of virtual community and provide the opportunity for people with similar interests to talk to each other. Your members will already have a shared interest in your niche subject, so creating active discussion forums won’t be too challenging.

    Here's a tip, have good forum monitors and admin in place to keep things smooth. Having multiple monitors can help you get your new forum started as well as keep discussions ongoing. You could keep your forums open to everyone. That will be better for search engine traffic but it can also attract spammers and forum hackers. Having a private forum for your members only can keep things more secure and full of like minded individuals.

    Competitions - Encourage your members to post on your forum or blog by running a competition. Award a prize each month to someone who has made the best post on your forum, and each individual posting would be an additional entry into the prize draw. Or maybe give a prize to the member who writes the most reviews or posts the most comments each month to your site.

    Involving your members in polls and surveys.
    Member polls - Asking your members to answer a simple question relating to your niche subject is a simple and effective way to get them involved in the site. Have a regular monthly poll and publish the results of the previous month’s poll above the question for the current month.
    Surveys - Some niche subjects lend themselves well to surveys. If yours does not you could conduct a survey about your membership site itself. This gives your members the chance to express their views and let you know what changes they would like to see.

    Getting feedback can also let you know where to take your membership site. By allowing your members to tell you what they want you can just simply give it to them. We've taken surveys ourselves over the years and they can be very insiteful. The poll or survey data you generate can be gold to your customer feedback system for the future of your business.

    Newsletters - Newsletters may be used to highlight forum posts, questions that people have asked, blog posts and even case studies, survey results, success stories and more. Get your community involved in the content both online and in your newsletter. They’ll be invested in the results. We'll get more in depth about newsletters in another article.

    For now I hope these gave you some ideas to get going with.

    Author Resource: Jeremy Gislason is a leading expert on membership sites, marketing and online business.
    Do you want to market and sell all of your products faster? Free how to business and marketing courses at: www.membershipmillionaire.com/

    [ Article taked from www.articleintelligence.com/]

    All You Wanted to Know About Proxies

    By : Benicio Brown

    Though a common term in the computer age today, it needn’t bring out doubt in users. We all know what a proxy is, something that’s used instead of the real thing, especially when it comes to dubious deals where you send a proxy to carry out an intended act instead of the real person. Similarly in the world of servers, proxy servers are fast gaining popularity. A closed proxy can be accessed by limited people and permits using someone else's computer to conceal your identity and/or location. An open proxy refers to a proxy server that can be accessed by anyone who uses the Internet.

    By and large, a proxy server permits users in a particular network group to accumulate and further internet services such as DNS or web pages. Consequently their bandwidth usage is lessened and controlled. In case of any open proxy, however, every user on the Internet can avail of this forwarding service.

    The open proxies, also known as anonymous open proxies, allow users to hide their true IP address from the service they access. In fact the use of proxies has at times been intended to abuse or disrupt a service. This obviously includes breaking its terms of service or the law. For such reasons open proxies have been viewed as problematic from time to time. They have been under severe scrutiny because school children, as well as office staff have been known to use it time and again to access restricted sites during work hours.

    The use of proxies can work to your advantage as it ensures that no one can take advantage of you in this visual world. This is very true in reference to users who use social forums on a daily basis. Users may be getting onto such sites to gain knowledge, learn about latest developments or also increase their social networking base, but there are always those who are on the prowl to find the vulnerable and easy targets. And just incase you’re targeted your life could be a mess.

    Your credit card accounts could be tampered with, someone would know all your details and you could be stalked or blackmailed and worse still you’d find yourself visiting sites and forums which you never have. You could even be made the next porn star. For your identity to be protected and enhancement of online security, the use of proxies works just fine. This permits you to access facebook, hotmail, youtube, and others without a worry. These may be popular as fun sites, but they also promote educational needs, helping you learn along the way or even have a secure social networking group you can depend on. Along the way you can make alliances that can assist you in getting a job, help make business or even make a friend. The opportunities are endless, as long as you keep yourself safe from prowlers.

    A computer can be run on an open proxy server without the owner knowing this. This is possible because of misconfiguration of proxy software used in a particular computer. Malware, viruses, trojans or worms are all used for this purpose. Open proxies are slow, as slow as 14400 baud (14.4 kbit/s), or even below 300 baud. At times they could keep alternating between fast to slow every minute. PlanetLab proxies are quicker and were deliberately put in place for public use.

    Despite the popularity of proxies, because of the controversies surrounding them, there are systems in place that don’t permit their usage everywhere. IRC networks routinely test client systems for identified open proxy types. Mail servers can be configured to routinely check mail senders for proxies with the help of proxycheck software. Mail servers can also consult various DNSBL servers that block spam. Such servers also list open proxies and help in blocking them.

    Nevertheless, anonymous open proxies have also been hailed because they enhance ambiguity, in other words security when browsing the web or engaging in other internet services. The use of proxies conceals any users’ true IP address. This is a boon because your IP address can be used against you. It can help miscreants construe information about any user and accordingly hack into his/her computer. Open proxies are being looked upon as the next big thing when it comes to dodge efforts at Internet censorship by governments and concerned organizations. There are various web sites that make available updated lists of open proxies on an ongoing basis.
    Author Resource:- Need a free template for your proxy website? Please check Skin my Proxy where you will find free PHProxy templates and free Zelune templates.

    [ Article taked from
    www.articleintelligence.com ]

    What are planetlab proxies?

    Guide to finding, testing and using anonymous proxies for web surfing.

    What are planetlab proxies?
    Planetlab proxies are machines that are part of the planetlab research facility, which is an effort at studying global computing and communication. These proxies are always hosted by an academic institute and the majority of them are located in the USA so that most of their names end in .edu.

    They are everything one could want from an anonymous proxy: they have a static IP, they are very fast, non-filtering and keep the connection alive, which means that the next request will be handled through the same proxy instead of a different proxy. As the saying goes 'If it's too good to be true, then it's probably not true.' So it is the same with planetlab proxies.

    The main guide says planetlab proxies should be removed so you might not have any obvious planetlab proxies in your list. Some, however, are harder to detect and that is where this separate guide comes in.

    What happens when I use a planetlab proxy?

    Initially, nothing. It would appear as if you have found a very good and working proxy. However, after a short time a message will pop up on your screen which is something like this:

    You are trying to use a node of the codeen network. Your IP is not recognized as being part of the planetlab consortium of IPs.

    From that moment the proxy will stop working and you have no other option but to remove it from ProxyHunter - which by itself can be annoying if you have many proxies in your list, to find the one rogue proxy.

    How do I detect planetlab proxies in Charon?

    Planetlab proxies give themselves away in Charon when you are testing for new proxies. Here are the criteria:

    - If DNS lookup is successful, their name usually has planetlab, planet or pl or something similar in their name. Additionally, their name ends in .edu.

    - A planetlab proxy is always a gateway proxy, meaning that it will forward your requests to another proxy. In Charon the IP of this other proxy will show up under the gateway column. Usually a gateway proxy will forward requests to a proxy in the same cluster of IPs. For planetlab proxies this is not the case. For example, a usual gateway proxy configuration is 168.143.113.16 forwarding to 168.143.113.30. An example of a planetlab proxy configuration is 169.229.50.10 forwarding to something like 129.237.123.250. Additionally if you were to check the same planetlab proxy a few times, it might forward your requests to three seemingly random gateways.

    - Planetlab proxies always use two ports: 3127 and 3128. Therefore, if you find a proxy in Charon which has both these ports open, you can bet that it is a planetlab proxy (even if the DNS lookup fails).

    [The information taked from
    Proxy Guide: Planetlab proxies. ]

    An Introduction to Streaming Transformations for XML

    There is an interesting acticle by Oliver Becker, Paul Brown and Petr Cimprich about
    Streaming Transformations for XML.

    ...XML transformation language that operates on streams of SAX events. STX resembles XSLT 1.0, the tree-driven transformation language for XML, but STX offers unique features and advantages for some applications.

    XSLT's popularity has grown over the past three years, both aiding and riding on the adoption of XML. In comparison to API-level programming with Document Object Model (DOM), XSLT provides a loosely-typed, declarative environment tailored for tree-oriented transformation of XML documents, which has achieved wide adoption as a general-purpose XML manipulation tool despite the proscription:

    ...XSLT is not intended as a completely general-purpose XML transformation language. Rather it is designed primarily for the kinds of transformations that are needed when XSLT is used as part of XSL. — XSLT 1.0
    DOM versus SAX
    "Which is better, DOM or SAX?" is a common question for newcomers on XML-related discussion lists. (And, one could legimately also ask "DOM or JDOM or DOM4J or XOM?" and "SAX or XNI"?)

    DOM provides an overall view of an XML document through tree traversal and manipulation. DOM is heavyweight, however, in that it typically imposes a memory footprint of around five times the size of the underlying XML text for simple documents. DOM also imposes a significant time overhead for creating the necessary objects.

    SAX provides a sequential view of an XML document through a stream of events. SAX-based programs typically maintain some amount of state information that encapsulates already-received events, but SAX processing requires a negligible amount of memory (typically only the representation of the current event and the buffer for the parser).

    SAX is the event-oriented sibling of the DOM API. (See the sidebar for a short discussion of DOM versus SAX.) STX provides a streaming analog for XSLT by adopting some of the now familiar concepts from XSLT (e.g., matching based on templates and an XPath 1.0-like expression language) but using SAX as the underlying interface to the XML document. In line with the proscription about XSLT, STX is neither a general purpose XML transformation language, nor is it an attempt to improve, extend, or replace XSLT.

    Like SAX, STX is a completely free, grassroots effort by the XML community, initiated by Petr Cimprich; the specification and a mailing list are hosted on SourceForge. The current version of the STX specification contains a list of other contributors. There are currently two STX processor implementations:

    • Joost, a Java-based processor by Oliver Becker
    • STX::XML, a Perl-based processor by Petr Cimprich.

    [Read full article from XML.com]

    Scalable Vector Graphics (SVG)

    Here is a small note about Scalable Vector Graphics (SVG)
    (excerpt from the W3C, About SVG page):


    SVG is a platform for two-dimensional graphics. It has two parts: an XML-based file format and a programming API for graphical applications.

    Key features include shapes, text and embedded raster graphics, with many different painting styles. It supports scripting through languages such as ECMAScript and has comprehensive support for animation.

    SVG is used in many business areas including Web graphics, animation, user interfaces, graphics interchange, print and hardcopy output, mobile applications and high-quality design.

    SVG is a royalty-free vendor-neutral open standard developed under the W3C Process. It has strong industry support; Authors of the SVG specification include Adobe, Agfa, Apple, Canon, Corel, Ericsson, HP, IBM, Kodak, Macromedia, Microsoft, Nokia, Sharp and Sun Microsystems. SVG viewers are deployed to over 100 million desktops, and there is a broad range of support in many authoring tools.

    SVG builds upon many other successful standards such as XML (SVG graphics are text-based and thus easy to create), JPEG and PNG for image formats, DOM for scripting and interactivity, SMIL for animation and CSS for styling. SVG is interoperable. The W3C release a test suite and implementation results to ensure conformance.

    Most known SVG Viewers List

    Here is a list of most used SVG Viewers from Web3.0.Demystified:

    Renesis SVG Viewer
    Sub-title: SVG 1.2 Compatible Cross-Plattform Viewer
    Developed by: Emia Systems
    Current Version: None
    Type of Implementation: SVG Viewer
    License Type: Free Product
    Availability: Not Publicly Available
    OS Platform: Windows, Windows CE, Mac OS, Linux, Embedded Linux, Other Unix, Solaris, Any .NET Enabled, PalmOS, FreeBSD, BeOS, Symbian, WindowsCE, Other, Smartphones
    Built to SVG Profile: SVG Full
    http://www.examotion.com/pages/renesis/index.php
    Notes: Renesis is the new SVG 1.2 Rendering Engine from EvolGrafiX. Renesis is planed to be available for Windows Platforms, Linux Platforms, Unix Platforms (including Mac OS X) and mobile platforms like Windows CE, Linux Embedded and Symbian as well as for the Webbrowsers Firefox / Mozilla / Netscape, Internet Explorer and Opera as well as Safari on MacOS X.
    Renesis will support about 94% of the SVG 1.2 Standard, 100% of the SVG 1.2 Mobile Standard as well as the sXBL Standard.
    Renesis is a platform written on standards so that applications build for SVG can run on Renesis on any of the previously mentioned platforms.

    eSVG Viewer
    Sub-title: SVG Viewer for mobile devices
    Developed by: eSVG Viewer for PC, PDA, Mobile
    Current Version: 2.3
    Type of Implementation: Mobile SVG Viewer
    License Type: Commercial Product
    Availability: Trial
    OS Platform: Windows CE, Symbian
    Built to SVG Profile: SVG Basic
    http://www.esvg.com/
    Notes: SVG Viewer for mobile devices and embedded systems.

    GPAC Project
    Sub-title: Multimedia framework including players and encoders for different multimedia formats including SVG
    Developed by: GPAC
    Current Version: 0.4.2
    Type of Implementation: SVG Viewer
    License Type: Open Source Project
    Availability: Free Download
    OS Platform: Windows, Windows CE, Linux, Embedded Linux, WindowsCE
    Built to SVG Profile: SVG Tiny
    http://gpac.sourceforge.net/
    Notes: GPAC features several players (a command line player for Win32 and Linux platforms called MP4Client, a player with GUI for Win32, Windows Mobile and Linux called Osmo4 and plugins for IE and Firefox). These players allow rendering of SVG content conformant to SVG Tiny 1.2, i.e. namely SVG Tiny 1.1 and audio/video/gradients/scripting. Detailled information may be found on the project web site.

    Batik SVG Toolkit
    Sub-title: A Java SVG toolkit, including the SVG browser Squiggle
    Developed by: Apache Software Foundation
    Current Version: 1.6
    Type of Implementation: SVG Viewer
    License Type: Open Source Project
    Availability: Free Download
    OS Platform: Any Java Enabled
    Built to SVG Profile: SVG Full
    http://xml.apache.org/batik/

    Mozilla Firefox SVG support
    Developed by: Mozilla SVG Project
    Current Version: 1.5 beta 1
    Type of Implementation: SVG Viewer
    License Type: Open Source Project
    Availability: Free Download
    OS Platform: Windows, Mac OS, Linux
    Built to SVG Profile: SVG Full
    http://www.mozilla.org/projects/firefox/
    Notes: Firefox 1.5 will be the first product released by the Mozilla Foundation to include SVG support. In this beta 1 release support on Microsoft Windows is available on Windows XP only due to a dependance on the DLL gdiplus.dll. Downloading this file from microsoft.com and copying it to your Firefox install directory will automatically enable SVG for anyone using an older versions of Windows.
    The aim of the Mozilla SVG Project is ultimately to impelement SVG 1.1 Full. For the features included in this release of Firefox see
    http://www.mozilla.org/projects/svg/status-ff15.html
    Mozilla code is stricter in some areas when it comes to conforming to the relevant standards. A lot of SVG will require a few tweaks for it to work in Mozilla Firefox. If you haven't read them already, check out the following documents for tips on getting your SVG to work in all SVG implementations and for answers to some frequently asked questions.
    http://www.mozilla.org/projects/svg/faq.html

    TinyLine
    Sub-title: SVG Tiny viewer and SDK for Java devices
    Developed by: TinyLine
    Current Version: 1.8.2
    Type of Implementation: SVG Viewer
    License Type: Freeware
    Availability: Free Download
    OS Platform: Windows CE, Embedded Linux, Any Java Enabled, PalmOS, Symbian, J2ME
    Built to SVG Profile: SVG Tiny
    http://www.tinyline.com/
    Notes: SVG Tiny implementation and advanced 2D graphics for J2ME platform

    Opera 8
    Sub-title:
    Developed by: Opera Software
    Current Version: 8.54
    Type of Implementation: SVG Viewer
    License Type: Free Product
    Availability: Free Download
    OS Platform: Windows, Mac OS, Linux, Solaris, FreeBSD
    Built to SVG Profile: SVG Tiny
    http://opera.com/download/
    Notes: Supports SVG 1.1 Tiny + gradients and opacity (also for 'g'-elements).

    Opera 9
    Sub-title:
    Developed by: Opera Software
    Current Version: 9.20
    Type of Implementation: SVG Viewer
    License Type: Free Product
    Availability: Free Download
    OS Platform: Windows, Mac OS, Linux, Solaris, FreeBSD
    Built to SVG Profile: SVG Basic
    http://my.opera.com/desktopteam/
    Notes: Supports SVG 1.1 Basic and parts of SVG 1.1 Full.
    Support documentation in more detail here:
    http://www.opera.com/docs/specs/opera9/svg/
    Public releases available from:
    http://www.opera.com/download/
    Weekly builds can be downloaded from the desktop-team blog:
    http://my.opera.com/desktopteam/

    DOM vs. SAX

    "Which is better, DOM or SAX?" is a common question for newcomers on XML-related discussion lists. (And, one could legimately also ask "DOM or JDOM or DOM4J or XOM?" and "SAX or XNI"?)

    DOM provides an overall view of an XML document through tree traversal and manipulation. DOM is heavyweight, however, in that it typically imposes a memory footprint of around five times the size of the underlying XML text for simple documents. DOM also imposes a significant time overhead for creating the necessary objects.

    SAX provides a sequential view of an XML document through a stream of events. SAX-based programs typically maintain some amount of state information that encapsulates already-received events, but SAX processing requires a negligible amount of memory (typically only the representation of the current event and the buffer for the parser).


    [source]

    Adobe SVG viewer for LINUX

    You can find the Linux version of Adobe SVG viewer (ASV3 Beta) on Adobe ASV download site.

    Grab the Redhat Linux version. It should work in any Linux distribution. Linux is not yet a fully supported platform by the Adobe SVG team. However, they provide this beta version which did not go through quality assurance. ASV3 on Linux does not properly work in current Firefox/Mozilla versions, but should work in Konqueror and Opera.

    Linux Installation Instruction:

    • Download the tar.gz file and untar it in a temporary directory ("tar -zxvf adobesvg-3.01x88-linux-i386.tar.gz"). cd to the adobesvg-3.01 directory. Adobe provides an install shell script, but that usually does not work, due to the heterogenous pathes used in the various Linux distribution. You can safely delete the file "install.sh".
    • As a next step copy all remaining files in this directory to your plugin directory (on my SuSE box it is "/usr/lib/browser-plugins").
    • If the browser does not yet watch this directory for detecting new plugins you need to tell it. In Konqueror open "Settings" --> "Configure Konqueror" --> "Plugins" --> and edit the "Scan Folders". You can add the new directory if it is not yet listed and tell konqueror to manually scan for new plugins.
    • ASV should now appear in the plugins list as "libNPSVG3.so". In Konqueror if you want to use ASV instead of KSVG you need to edit the "File Associations" in the "Configure Konqueror" panel. In the known types tree view go to "image" --> "svg+xml" go to the "Embedding" tab and check "Show file in embedded viewer". In the "Services Preference Order" list move the "Netscape plugin viewer (nsplugin)" up to the first position.
    • Your Konqueror is now ready to view SVG files in ASV3.
    • In Opera you need to go to "Tools" --> "Preferences" --> "Advanced" --> "Content" --> "Plug-in options" and add the path to the "Plug-in path". ASV should now be enabled in Opera.

    Third-party SVG plugin for IE

    Microsoft's Internet Explorer Browser (IE,MSIE) Internet Explorer does not currently (as of IE 7.0) support SVG natively, but third-party plug-ins are available - such as Adobe SVG Viewer.

    There has been no firm public statement about intent to support SVG in some later version of the browser, though unofficial statements have indicated the possibility. There is support for a similar technology, VML, but this is found in no other browser.
    Internet Explorer 4, 5, and 6 all understand SVG embedded with the object tag, presuming you have installed a plug-in.


    [Retrieved from http://wiki.svg.org/Internet_Explorer]

    January 15, 2008

    Top List of 100+ Web 2.0 Online Generators

    Ajaxflakes.com provides a very useful list of 100+ Web 2.0 Online Generators.
    Not only are many of these generators easy to use and free, but also they can be very useful in creating images for your own website or blog. These make it easy to add stuff like stripes, badges, loading gifs, rounded corners and more to your site.

    January 4, 2008

    The Web Is Dead

    Article by Rockford Lhotka about the future of the web:

    Many people have predicted the end of the Web, or the death of the browser. Obviously neither prediction has come true. Even in the worst of the "dot-bomb" years, Web development remained a significant concern at companies of almost any size.

    But I do think the Web, as we know it, is finally coming to an end. And this does not make me unhappy.

    In recent memory you would be hard-pressed to find any technology that remained mainstream and viable for more than about 10 years. Think about CORBA, COM, Win32, and even Java. Each had a good run of no more than a decade before the "next big thing" came along, relegating once-viable technologies to the status of legacy technologies.

    Depending on when you start counting, the Web as we know it is around 10 years old, and so it's time for it to gracefully pass on and officially become a legacy technology. It's about time, too. The Web has driven some incredible and important changes in the way we think about software development. At the same time, the Web is little more than a stack of hacks that has grown ever deeper and nastier as time has passed.

    It's important to remember that HTTP and HTML were designed as document transport and viewing technologies. Everything else, including the ability of users to enter data, managing state, style sheets, and client-side script and server callbacks (AJAX) are hacks layered on top of something that was never designed to do what it is used for today. No sane person would design the Web to work the way it does, and the result is barely contained chaos.

    And yet this barely contained chaos is arguably the dominant programming model in the world today. For the moment.

    I submit that AJAX is the last gasp of a dying technology. It is the hack that adds the straw that will break the camel's back. Yes, AJAX is cool, and it allows some adequately rich interaction while retaining reasonably broad reach, but it also pushes the browser as far as we're likely to go. Beyond this point, either the browser transforms into a full-blown programming platform or we find another answer.

    And the industry has already arrived at another answer represented by Silverlight and Atlas. If the browser can't become a full-blown programming platform, we'll just use it as a launch point to load something else that is a programming platform.

    Silverlight 1.1 is in an alpha state right now, but I believe it represents the future of the Web. The Web isn't dead, but it is about to undergo the biggest transformation in the past decade. Given a choice between writing complex JavaScript that must accommodate differences in browsers to interact with an antiquated browser API, or writing C# or VB .NET code that is consistent regardless of browser or platform, and which uses a modern API, I think most developers would choose the latter, hands down. And that's Silverlight (if Microsoft delivers on the promise of the alpha release).

    Instead of using the aging and overly complex HTML, you can create the visual layout using the modern and well-designed XAML language. Instead of using interpreted and hard to debug script, you can use compiled .NET languages. Instead of testing across multiple platforms and browsers, you can spend your time building more features and testing them more completely.

    Perhaps most importantly, you can achieve levels of rich user interaction that are prohibitively expensive or even impossible using DHTML and AJAX. Given access to XAML and .NET on the client, you can create user experiences that Web developers have only dreamed of providing. All that, with the same zero complexity deployment characteristics that have made the Web so popular.

    Yes, the Web as we know it is drawing to a close. But the future of the Web has never been brighter!

    [read source]