stargeek
PHP news website logo.
home    PHP scripts    articles    seo tools    links    search    contact    shop    realtors


PHP Class 'IMC Objects' released







PHP Class 'IMC Objects' released

PHP Class 'IMC Objects' released 01/16/2004 11:05 AM

This is a package of classes that are meant to provide an interface to access data of iCalendar and vCard files defined by the IMC (Internet Mail Consortium). The library can read and write files with the formats defined by IMC.




This is a GrokNews Entry: (what is grok?)





Similar Items

PHP Class 'IMC Objects' released

Grok Headline matches for PHP Class 'IMC Objects' released

PHP Class 'HTML Forms Objects' released


PHP Class 'HTML Forms Objects' released 10/31/2003 07:24 PM
The class HtmlFormsObjects is meant to generate an HTML dropdown list. It is only necessary to call the method GenerateDropDownList and passing its parameters like is shown in the example on bottom of the class file.

PHP Class 'PHP or Java Class Code
Generator' released


PHP Class 'PHP or Java Class Code
Generator' released
03/06/2004 02:00 AM
This package is meant is automate the generation of classes to access databases in Java beans style. It uses the Fast Template engine to process template files that define the skeleton of functions and variables of classes that store and retrieve data object property values from a given database table, getter and setter functions to access those properties and a function to delete a data object row from the respective database table. The package comes with templates to generate classes either in PHP or Java. The PHP template defines code to access data objects in a MySQL database. The Java template defines code to access data objects in any database supported by JDBC.

PHP Class 'Convert Class To HTML Table'
released


PHP Class 'Convert Class To HTML Table'
released
02/10/2004 02:46 AM
This class is meant to display the structure of any class as an HTML table. The class being displayed can have variables that contain objects of other classes or arrays and treats those variables each accordingly.

PHP Class 'Bs_CsvUtil.class.php'
released


PHP Class 'Bs_CsvUtil.class.php'
released
11/08/2002 08:17 PM
Features: supports any separator char sequence, default is semicolon ";". supports separator characters in the values. eg you use a ; as separator, your line may look like blah;hello world;"foo";"foo;bar";"this is a ""string""";got it?;foo as you can see, the values can be in "quotes". if your text uses quotes itself as in the "string" example, they are escaped in ms-style with 2 quotes. and by using quotes we can even have your separator inside the text (example "foo;bar"). line breaks. a csv line may spread over multiple lines using crlf in a field value. see the checkMultiline param and the _checkMultiline() method.

PHP Class 'Bs_StopWatch.class.php'
released


PHP Class 'Bs_StopWatch.class.php'
released
11/07/2002 07:59 PM
You can take times during a code run and at the end get a time table as HTML or text table. The output will contain total and as delta between each take in microseconds. Free Code; This Class is part of the BlueShoes PHP Application Framework, see blueshoes.org.

PHP Class 'calend.class.php' released


PHP Class 'calend.class.php' released 01/03/2003 07:52 PM
This class generates HTML calendars in the portuguese language. In portuguese: Esta classe gera um calendário em português em HTML.

Business Objects' Vision on Track


Business Objects' Vision on Track 01/27/2004 01:44 PM
Complete integration with crystal planned.

Managed Objects' Database Goes Federated
with nLayers


Managed Objects' Database Goes Federated
with nLayers
04/18/2005 04:44 PM
The company's configuration-management database correlates enterprise network data to map IT service configurations.

Business Objects' Crystal Enterprise To
Support Linux (TechWeb)


Business Objects' Crystal Enterprise To
Support Linux (TechWeb)
06/09/2004 02:40 AM
TechWeb - The update is designed to let IT managers integrate reporting functionality into Linux applications.

PHP Class 'My Db' released


PHP Class 'My Db' released 06/09/2004 06:55 PM
This package is a SQL database wrapper supporting MySQL, Interbase and MS SQL server. It can establish database server connections, execute SQL queries, retrieve query results into arrays and display query results as HTML tables.

PHP Class 'My DB' released


PHP Class 'My DB' released 02/15/2004 07:40 PM
This class is a simple wrapper around MySQL database acess functions. It provides wrapper functions around most of the PHP MySQL extension function like database, connection, queries execution and result data access, error message retrieval, database creation and locking of tables.

PHP Class 'CTable' released


PHP Class 'CTable' released 10/21/2002 08:35 PM
This class helps aid in the generation of table output from a database recordset, or other form of data source.

PHP Class 'Stack' released


PHP Class 'Stack' released 10/22/2002 07:55 PM
The Stack class advantage over the array_push and array_pop function is Stack::pop() pops the stack and returns a reference to the popped element. There is also a top function that returns a reference to the top element.

PHP Class 'UBBCode' released


PHP Class 'UBBCode' released 10/20/2002 08:09 PM
Replaces the UBB tags listed below with HTML tags, and vice versa. Also keeps the line feeds in the text and removes all HTML tags. UBB Tags: [b]...[/b] bold [i]...[/i] italic [code]...[/code] source code [img], [/img] images [quote]...[/quote] blockquote [url]http//www.link[/url] links [url=http//www.link]name[/url] links [email]me@home.de[/email] email link [email=me@home.de]name[/email] email link Additional Tags: [u]...[/u] underline [center]..[/center] center [color=name]...[/color] colors For a description of ubbcodes see: http://community.infopop.net/infopop/ubbcode.html FUNCTIONS: function encode($str) function decode($str) function listCodes()

PHP Class 'CGrid' released


PHP Class 'CGrid' released 10/23/2002 08:16 PM
Properties +---- table // Instance of recordset +---- titles // Array with titles of columns +---- colsSize // Size of each colum +---- colsOrder // Name of fields to ORDER BY SQL +---- titlesBgColor // BgColor of Titles +---- titlesOnColor // BgColor of selected title +---- titlesOffColor // BgColor of non selected +---- listColor // Color of content +---- overRow // Color of mouse over line +---- eraseCol // 1 to show erase colum Function +---- show( $sql ) // Show grid

PHP Class 'StyleMenu' released


PHP Class 'StyleMenu' released 10/25/2002 07:23 AM
Class based on HTML Table (Dimitris Kossikidis ). This class provides a fast form to create and to maintain blocks of menus. It allows to use styles and format of table with very few lines of code.

PHP Class 'CSV' released


PHP Class 'CSV' released 10/25/2002 07:23 AM
This class enable you a databse-likely access to comma separated (csv) and fixed length files. Is useful for import from csv to db.

PHP Class 'Tag' released


PHP Class 'Tag' released 10/25/2002 07:23 AM
A simple way to create XML/HTML tags with name, attributes, attribute values and content inside the tag. This class can be extended to make custom tag classes easily. Have fun!

PHP Class 'CMC_form_validation' released


PHP Class 'CMC_form_validation' released 10/25/2002 07:34 PM
With this class you can have PHP automatically generate form validation in JavaScript. Currently supports the following validation types: 1. Required Field 2. Numerical Characters only. 3. Alphnumerical Characters only. This class is extremly easy to use and has been designed in a way to allow for additional validation types to be added.

PHP Class 'XSLT' released


PHP Class 'XSLT' released 10/19/2002 07:49 PM
PHP class which will hopefully make it a little bit easier to work with PHPs XSLT extension

PHP Class 'Smileys' released


PHP Class 'Smileys' released 10/18/2002 07:30 PM
This class replaces smiley tags with smiley images. Useful for forums or guestbooks. When created it reads the smiley definitions and can be called afterwards. FUNCTIONS: function smileys($url) function getSmileys() function insertSmileys($str) function _resetSmileys($str)

PHP Class 'bstCountdown' released


PHP Class 'bstCountdown' released 10/15/2002 07:15 AM
Display a list of 'days until' a set of events, includes a simple example and a more complex one as child classes. Could easily be extended to multi-user and notifications via email by adding a user table and owner columns. Written to MySQL but db access is simple enough to adapt.

PHP Class 'rhc' released


PHP Class 'rhc' released 10/15/2002 07:15 AM
RHC is actually a few files which give the user the ability to do custom error handling, debugging, and handle database abstraction (currently only through Informix).

PHP Class 'URLHelper' released


PHP Class 'URLHelper' released 10/15/2002 07:15 AM
This class give you access to the http header information and provides some help for retrieving and parsing urls. FUNCTIONS: function isURLAvailable($url) function isValidURLFormat($url, $strict=false) function addHTTPtoURL($url) function getHTTPStatusCode($url) function getRealURL ($url, $simple = true, $method = "HEAD") function getHTTPHeader($url) function getMD5FromURL($url, $estFilesize=500000) function _openHTTPConnection($url, $method = "HEAD")

PHP Class 'color' released


PHP Class 'color' released 10/15/2002 07:15 AM
These class converts colortypes. It supports the following colors formats and types: - CMYK - RGB - Pantone - HEX Codes for HTML

PHP Class 'BarcodeI25' released


PHP Class 'BarcodeI25' released 10/15/2002 07:15 AM
HTML Barcode generator for Interleaved 2 of 5 Codes. Código de barras fator Intercalado 2 de 5, padrão FEBRABAN (BRASIL).

PHP Class 'cellroll_lib' released


PHP Class 'cellroll_lib' released 10/15/2002 08:29 PM
Very simple class for faster building of table-rollovers (changing bgcolor for rows or cells) js-scripts

PHP Class 'MyTemplate' released


PHP Class 'MyTemplate' released 10/15/2002 08:29 PM
MyTemplate is very powerful template engine. It allows including a nested template file directly into another template file and automaticaly parse it in any template in set. Working with dinamic blocks is so easy. Only assign block variables and get result. You do not need to parse each block 'manualy'. Automaticaly parses PHP constant and global variables into templates. Supports multiply template directories. You'll like it :) Your code will become shorter :)

PHP Class 'FTP' released


PHP Class 'FTP' released 05/09/2004 06:24 PM
This is a simple wrapper class meant to send a file to a directory of an FTP server using the PHP FTP extension.

PHP Class 'mysqldb' released


PHP Class 'mysqldb' released 10/16/2002 07:47 PM
mysql_db provides access to MySQL using these methods: open() - connects to database query() - runs SQL query against the connected database last_id() - gets last insert id for the connection close() - close database connection Errors are handled via properties $db->errtype and $db->errstr, which can be tested for.

PHP Class 'utilsClass' released


PHP Class 'utilsClass' released 10/16/2002 07:47 PM
Utils class for phpLib, provide 4 methods to select, insert, update and delete data from database. It requires phpLib properly installed. It's really a simple work, but it was helpful to me, so I thought to make it available.

PHP Class 'DB Layer' released


PHP Class 'DB Layer' released 05/09/2004 06:24 PM
This package is database abstraction layer to access all supported databases using a single calling convention. It supports multiple databases using dedicated sub-classes. It features: - Error handler. - Result Pagination - Supported databases: MySQL , PostegreSQL.

PHP Class 'BookmarkParser' released


PHP Class 'BookmarkParser' released 10/17/2002 08:03 AM
This class parses IE, Netscape and Opera bookmark files and returns arrays with the bookmark / folder information. STILL BETA! FUNCTIONS: function parseOpera($url, $folderID, $urlFunction, $folderFunction) function parseNetscape($url, $folderID, $urlFunction, $folderFunction) function parseInternetExplorer($url, $folderID, $urlFunction, $folderFunction, $firstCall = true)

PHP Class 'PWGen' released


PHP Class 'PWGen' released 10/17/2002 08:13 PM
Creates random character passwords, and outputs them to text, html, or as images. Also a demo of image verification code ala Yahoo account sign up. Based on Kevin Gilbertson's PasswordGenerator class.

PHP Class 'preditor' released


PHP Class 'preditor' released 10/26/2002 07:53 PM
Preditor is a class for file editing and copying. It makes editing easier by allowing you to load a file, enter a piece (string) you want changed, and a replacement string, whether it only occurs once, or a bunch of times, and it will go through the file and change each occurence. You can also save the file to a directory. Copy non-text based files to different directories. (more options to come)

PHP Class 'page_handle' released


PHP Class 'page_handle' released 10/28/2002 08:29 PM
A template engine geared to be able to display data without much hassle in PHP code, just fetching of data and giving it to the template engine. Create HTML templates with the data's keywords

PHP Class 'mimetype' released


PHP Class 'mimetype' released 10/28/2002 08:29 PM
This class enables PHP scripts to determine the mime type of a file based on file extension, useful for PHP versions without access to other utilities that determine mime type. Built from the Apache mime type file.

PHP Class 'PageLogic' released


PHP Class 'PageLogic' released 11/18/2002 08:04 PM
I have written modules for webservers with so many php/html files that I lost track, so I come out with this simple module to simplify the logic among pages. Imagine my module is a book, with many chapter inside. -- The book is the main page, normally index.html or index.php. -- The module comprises of many files, each file performs some functions. Thus file is equivalent to a chapter. -- Each file may contain several functions. This are the sections in the chapter. Imagine if I can say goto this book, this chapter and this section. I will need a content page to look up the pages. Thus the idea is formed. The content pages is stored in an .ini format and read in using my INIPARSER class. It will be in the form: [] = =, =, , ... If I hit the page with the action text embedded through index.php?action="..." or The index.php will just call up the function I want. I hope that this will help to modularize your php codes as well.

PHP Class 'designer_stats' released


PHP Class 'designer_stats' released 11/27/2002 07:45 PM
This is not a full blown web traffic anaylsis tool that records everything about everybody, everywhere. It does not access web logs, require or keep them. This is a system to get straight to the heart of what we need to know as web designers/developers. * How backwards compatable to we need to go? * What version of flash can we get away with? * What browser/multimedia technology does our target audience use? * Do we need to look at a multi-lingual version? * What percent of our audience need to download plugin? * Do I really need to test on browser on platform?
Grok Description matches for PHP Class 'IMC Objects' released
GrokA matches for PHP Class 'IMC Objects' released

"XMLHttpRequest & Ajax Working Examples"


"XMLHttpRequest & Ajax Working Examples" 04/07/2005 10:28 AM

AJAX Wrapper for .Net (v1.1) Released


AJAX Wrapper for .Net (v1.1) Released 04/12/2005 11:57 PM
Michael Schwarz, a .NET developer in Germany has released the latest version of his Ajax .NET Wrapper. This class library simplifies the use of XMLHttp by providing .NET objects that generate the necessary Javascript code.

So Ajax it is...


So Ajax it is... 03/19/2005 02:31 AM
I guess I'll have to accept "Ajax" as the official term of the new breed of webapps. In Monday's Wall...

AJAX


AJAX 03/22/2005 04:58 PM

I am playing with AJAX myself but I see many problems with AJAX as the next generation DHTML application platform.  AJAX applications are more expensive to build, test, and update than traditional DHTML applications.

Frankly, I am not even sure whether current crop of popular web browsers can support AJAX because they weren't built with the expectation that a signle web page might stay up for as long as GUI applications.  When even small carefully written DHTML apps can cause enough browser resource leaks to require frequent browser restarts, I think good stable AJAX applications will be rarer than the picture recent hype paints.

And by the time engineers discover the cost of AJAX first-hand, .NET-based ClickOnce applications will look much more attractive than AJAX-based applications can ever be.


AJAX Framework


AJAX Framework 04/15/2005 03:55 PM
AJAX Framework 1.0 Released

PHP Everywhere: Will Ajax Catch On?


PHP Everywhere: Will Ajax Catch On? 03/19/2005 03:26 AM
If you'll remember a while back, we posted something about Ajax, a new technology from Adaptive Path that combines XML and Javascript to make a new "rich DHTML application".

Now just call it "AJAX"


Now just call it "AJAX" 03/14/2005 05:25 PM
Last year we wrote about how some applications -- notably Google Mail and Suggest -- were taking advantage of Javascript plus XML-over-HTTP for richer interfaces. Now Jesse James Garrett of Adaptive Path has written a nice summary and (perhaps more imporantly) come up with a new name for the approach: "AJAX." Some CMS vendors are beginning to use AJAX methodologies, although from what we have seen mostly in a tentative way (if you're a vendor using AJAX, do tell where and how. Asynchronous communication with the server has tremendous potential to make heretofore very linear authoring and workflow procedures in a CMS much more fluid and therefore more, well, lifelike......

Why the term Ajax is useful


Why the term Ajax is useful 04/18/2005 09:55 PM

Software design patterns are useful mainly because they provide a shared vocabulary: rather than discussing the intimate details of a three layered application architecture, we say "MVC". Rather than describing an object that tracks your progress while looping over a collection, we say "Iterator".

The same is true for Ajax. While the techniques it describes have been around for years, grouping them under a single term is extremely valuable for raising the level of discussion about them. No longer will we have to explain XMLHttpRequest / hidden iframes / crazy cookie tricks in depth when discussing sites which pull fresh information from the server without reloading the whole page. Instead, we can say "Ajax" and move on to more interesting things.

Matthew Haughey says it's all about marketing. I disagree; it's about smarter and more effective conversations.


HTML-Ajax-0.02


HTML-Ajax-0.02 04/08/2005 03:14 PM

HTML-Ajax-0.01


HTML-Ajax-0.01 04/01/2005 03:15 PM

AJAX in Flash


AJAX in Flash 03/30/2005 09:01 PM

As I pointed out in my AJAX post, I think difficulties of writing AJAX make it a poor web application platform, particularly since there are easier alternatives.

Flash, for example, is a better platform for some applications than AJAX because it offers similar capabilities (i.e. XMLHttpRequest in DHTML) and comparable, if not better, level of availability along with much better graphics capability.  Flash tool developers such as Lazlo and Xamlon makes it easy to develop interactive web application.  Just take a look at this Google Maps like demo built over a weekend using Xamlon's upcoming tool.

Note that AJAX in Flash is inappropriate for web applications that manipulate DHTML DOM extensively and has a number of issues that makes it prohibitively expensive for uses beyond demos and small tightly-focused applications.  For example, you can't built PhotoShop with it without abandoning usability.

Beyond Flash, .NET looms with superior functionalities and flexibilities.  The only thing it lacks is the availability in several sense.


Catalyst-Plugin-Ajax-0.02


Catalyst-Plugin-Ajax-0.02 03/23/2005 12:21 AM

Will AJAX help Google clean up?


Will AJAX help Google clean up? 03/19/2005 02:41 AM

Features: Errors and AJAX


Features: Errors and AJAX 06/05/2005 11:54 PM
AJAX is hot, but is it real? How mature are the techniques, and can you use them right now? Joshua Gitlin offers a method for trapping client-side JavaScript errors and logging them, server-side, with AJAX.

Catalyst-Helper-Ajax-0.01


Catalyst-Helper-Ajax-0.01 03/19/2005 02:50 AM

Catalyst-Plugin-Ajax-0.03


Catalyst-Plugin-Ajax-0.03 04/01/2005 03:15 PM

Catalyst-Plugin-Ajax-0.01


Catalyst-Plugin-Ajax-0.01 03/22/2005 10:13 PM

Some AJAX Information Pointers for You
and Me


Some AJAX Information Pointers for You
and Me
06/05/2005 11:21 PM
AJAX AJAX AJAX. Every time I turn around I hear AJAX. This is as bad as 2002 when every time turned around I heard RSS. Except in 2002 I had...

Will Ajax Hurt Usability?


Will Ajax Hurt Usability? 03/29/2005 01:28 AM

I'm curious what effect Ajax will have on usability. With this technique, the unspoken nature of Web apps is changing, and apps using Ajax will likely do things that users don't expect.

When I first starting using client-side HTTP requests back in 1999 (long before the snazzy name), I did it really badly. I wrote an intranet phone directory which used background HTTP calls from the browser to retrieve the data and load it into a DIV on the interface without re-loading the page. It worked great, but if the users wanted to find another phone number, they always pressed the "Back" button...and got sent backwards, out of the phone lookup system.

Web users have a "user model" of how forms work (we discussed user models in this post). Web users are accustomed to the fact that nothing happens on a form until they hit a button called "Submit" or "Save," and that this gives them a new page, so they can usually hit "Back" to get back to their form input. I broke this user model, and the user paid the price.

With Ajax, it's easy to break the model of stateless request and response that users are subconciously aware of. You shouldn't do this lightly or you're going to get some confused users.

Here's a current example:

37 Signals' great Ta Da Lists use Ajax to "check off" items in a list. If you click the box next to an item, it's immediately removed from the list in the interface and a request is dispatched in the background to change the item's status on the server.

I understand this and it's quite slick, but what about people who don't spend as much time with this stuff as I do? I know a lot of people that look at a list of checkboxes and think, "I can check a bunch of boxes, then review my selections before finding and clicking a button called 'Submit' that's got to be around here somewhere."

This is the user model that a lot of people have for Web forms. They get to do whatever they want, and nothing counts until they press "Submit." I like Ta Da Lists, but I think 37 Signals made a mistake here. I'd be curious what feedback they've gotten about it.

Where we're going with Ajax is to allow developers to really mess with the unspoken "rules" that users have gotten used to. Ajax is great and provides a revolutionary way to do things, but I know some people will take it too far, too fast. User confusion won't be far behind.


The anatomy of an AJAX framework


The anatomy of an AJAX framework 06/05/2005 11:20 PM
I just read an interesting post from Bjoern on the impact that AJAX can have on your existing applications. As I understand things, Bjoern makes two major points: That you can’t rely on AJAX being a workable solution because XMLHttpRequest requires ActiveX on Windows And that AJAX will force you to completely revise your development strategy because its [...]

Ajax: A New Approach to Web Applications


Ajax: A New Approach to Web Applications 03/25/2005 06:56 AM
Ajax: A New Approach to Web Applications by Jesse James Garrett
http://www.adaptivepath.com/publications/essays/archives/000385.p hp

Ajax isn’t a technology. It’s really several technologies, each flourishing in its own right, coming together in powerful new ways. Ajax incorporates: 1) standards-based presentation using XHTML and CSS; 2) dynamic display and interaction using the Document Object Model; 3) data interchange and manipulation using XML and XSLT; 4) asynchronous data retrieval using XMLHttpRequest; and 5) JavaScript binding everything together. This essay by Jesse Garrett explains Ajax and what the future holds for this exciting application. This has been added to eCommerce Resources Subject Tracer™ Information Blog.

ProNet: Using Ajax with TypeKey


ProNet: Using Ajax with TypeKey 04/12/2005 05:16 PM
Since anything worth doing on the web is worth doing with Ajax, Joe D'Andrea's written up his technique for using Ajax with TypeKey. It's a clean and simple implementation of the authentication service, and it's found a good home on...

Ajax info and pointers


Ajax info and pointers 06/06/2005 12:10 AM
Tara asks: I'm looking for doofus-level (that's me!) introductions to AJAX functionality and perhaps a tutorial or two. Since this stuff seems so JavaScript heavy, and since for all JavaScript wisdom I look to Dori, I'm hoping she'll chime in...

ProNet: So you'd like to make an Ajax
map


ProNet: So you'd like to make an Ajax
map
06/06/2005 12:12 AM
Our own Mark Paschal just visited Linden Lab, the creators of the popular online gaming community Second Life, and he was inspired to create a new app called Landmarker. From Mark's description: At Cienna Rand's suggestion, I've been building a...

Catalyst-Plugin-Ajax-0.04


Catalyst-Plugin-Ajax-0.04 04/08/2005 03:14 PM

AJAX Considered Harmful


AJAX Considered Harmful 03/17/2005 02:49 AM
I intend for this to post to be constructive, so I will focus on two specific suggestions which hopefully will serve as the seed for the development of a set of best practices for AJAX.  Here are the two humble suggestions on things that people should standardize on ...

ProNet: Rico AJAX library


ProNet: Rico AJAX library 06/17/2005 02:07 PM
Sabre's development team has just released Rico, a javascript library for creating rich applications using AJAX technologies. Available under an Apache license, a lot of common visual and data-manipulation functions are bundled into this cross-browser AJAX implementation. The offering comes...

Manipulate Your TV Listings with
TiVo+Ajax


Manipulate Your TV Listings with
TiVo+Ajax
04/17/2005 06:51 PM

Could Ajax Wash Away 'Smart Clients'?


Could Ajax Wash Away 'Smart Clients'? 03/19/2005 03:05 AM
There's more than one way to write a powerful client app. Just ask the Google and Flickr folks.

The Ajax reality distortion field


The Ajax reality distortion field 04/14/2005 03:33 PM

David Temkin raps it out.

WE spent five years trying to build a "Laszlo-like" rich media interface platform inside of Javascript and tehbrowser. Believe me this is one subject I know about.

I LOVE ODDpost and the Google Maps thingie and what people are doing with D HTML nowadays. Our weboutliner is in D HTML.

But lordy lordy lordy - do these folks have a reality distortion field up. David Temkin agrees. Or shall I say - I agree with him.

Ajax, Ajax, Ajax -- the buzzword has taken the Web world by storm. As it's been presented, A jax ("Asynchronous JavaScript + XML") is a new way of creating rich Internet applications by means of "standard, mature, and well-understood technologies" -- i.e., DHTML. This is the big draw of Ajax, and is the core of the hype.

It is indeed possible (and sometimes even desirable!) to create rich Internet applications using DHTML; I've been talking about this for some time. But the idea that DHTML technology is standard, mature and well-understood is accurate in only a theoretical way.

Until very recently, it was commonplace knowledge that DHTML doesn't work consistently across browsers, isn't maintainable, requires code forking, delivers limited fidelity and so on. And while perhaps this is still common knowledge among level-headed developers, somehow the introduction of the "Ajax" buzzword has induced Web-wide amnesia, and people are now under the illusion that creating full-scale applications in JavaScript is a simple proposition -- just throw in a little script here and there, and you have an app suitable for Web deployment. No new learning required, just a few clever hacks.

Welcome to the Ajax reality distrortion field.

This one post about replacing Flickr's Flash UI with a DHTML UI seems to sum up these contradictions rather concisely:

First, the developer, Neil Kandalgaonkar, writes that this DHTML version of the Flickr UI will work in more places that the Flash UI that Flickr uses:

"So what's wrong with Flickr's perfectly good Flash interface? Nothing. But maybe...you often use operating systems where Flash doesn't work, or doesn't work well."

But later in the post, Neil goes on to write:

"This is a hack that works in just one browser, Firefox. Developing cross-platform DHTML is much harder and more painful. Flash has a lot of advantages over DHTML; it's truly cross-platform, and can do much more special effects. If that works for Flickr, more power to them."

Well, that sounds rather different! Finally, when explaining why someone might be interested in what he's done, Neil writes:

"...you're a web developer and you are interested in this bleeding-edge Ajax stuff."

I'm confused. Isn't Ajax/DHTML "standard, mature, and well-understood"?

Just to be clear: I think what Neil has done is cool. But cool, bleeding edge, difficult and incompatible isn't what Ajax is supposed to be all about.

I sometimes think of how developers look at DHTML apps in terms of grading on a curve. A Laszlo-, Flash-, or Java-based RIA will typically receive all sorts of complaints from Web standards vigilantes about non-standard UI, accessibility issues, problems with bookmarking and deep linking, and incomptibility with search engine crawlers. But a similar app built using DHTML -- excuse me, "Ajax" -- elicits enthusiastic responses from the very same crowd like "Wow! Look at how cool this DHTML site is! Isn't that UI great?"

Of course a full Ajax/DHTML app has nearly identical issues with UI, accessibility, bookmarking, and search engines that other RIA technologies do; but they have the veneer of being "standard". And just to state the obvious, lest we forget: HTML as a standard for Web applications is in a precarious position, with the leading browser vendor actively working to define its own all-new markup language for networked applications, and other browser vendors creating a splinter group that diverges from the W3C to promote their own standards for Web applications.

Theoretically, DHTML is a standard. But to quote Yogi Berra: "In theory, there is no difference between theory and practice. But, in practice, there is."

[David Temkin]


I couldn't have said it any better myself.


PHP Class 'IMC Objects' released

The following phrases have been identified by the grok system as matching this entry: edireader bankruptcy setobject xmlhttp rewriting ajax wrapper ajax.net session variable access edi php class xmlhttprequest handler directoryservices -index

















Also check out:


Grok

Ipod Porn on the
Rise

Brief Abstract of
Wikipedia's
Mesothelioma Cancer
page

Get first aid
instructions in your
cell phone

IE is crap
JSPWiki gains
podcasting support

Linux Kernel Trouble
The State of Perl
Development

Fasthosts Introduces
New Scripting
Support Line

FindProfit.com
Primes For Earnings
Season

PHP Class 'File
Scope Replacer'
released

PHP Class 'Image
Resize Class'
released

Computerworld
Australia: Lerdorf:
Future PHP Releases
'Evolutionary, Not
Revolutionary'

Company merges
code-editing tools
with open-source
framework

PHP Class 'CISVC'
released

and then they came
with the super
soakers

I shall smite you
with my curly wurly

tisn't a pity, at
all, actually

I first post,
therefore I am

The Daily Cartoon
for January 16

Thought experiment
Gaming Stock Soars
70%

AOL's Name Blame
Game

McDonald's Real
Gains

Weird Financial News
Jumpin' Juniper
Entertainment's
Investing Appeal

Courting AT&T
Wireless

The Space Payoff
Levi's Aims at
Target

Germs Be Gone
I'm an RSS Addict
Bloodchalker
MT Comment Spam
Mac Gamma
YAPC::NA::2004 Call
for Participation

Perl6 and Parrot at
the NORDU Usenix
Conference

This Week on
perl5-porters (5-11
January 2004)

Diff and Grep Now
Available on
search.cpan.org

Rubbercity Perl
Mongers (Akron Ohio)

Perl Conferences
2004

eBay Today: "Good
Deal" Search Hint

UK Fanclub
Questionnaire: Take
Two

color="green">Forums
Open

KB Toys Files
Bankruptcy

FAOSchwarz.com Vader
FX Lightsaber

Photo Archives: Mace
Windu Lightsabers

EP III: Mayhew Also
Signed For Sequel
Trilogy?

Vintage Photo
Archives: Anakin
Skywalker

eBay Today:
Masterpiece Editions

Battlefront
Interviews

Photo Archives:
Thermal Detonators

Vintage Photo
Archives: Luke
Skywalker (Imperial
Stormtrooper Outfit)

Got Fett?
I-Blog
The One Where I
Visited Microsoft

what is grok?