Recent Blog Posts
Blogs » Archive for September, 2006
BarCamp Zurich
Quick tip off if you’re in Switzerland (or feel like travelling) - BarCamp, the un-conference is coming to Zürich on October 28, 2006 - http://barcamp.ch/BarCampZurich. Some interesting speakers already lined up. Related blogging here, here and here.
Sep 13, 2006 News Wire
-
Mootools JavaScript Library Released
A superset of the famously tiny moo.fx library for JavaScript-powered effects, mootools adds features found in more complete libraries like Script.aculo.us. Mootools is still impressively small, and tends to give more low-level control to the developer.
(tags: javascript ajax) -
Mootools Drag and Drop Example
Because the site for the new Mootools library is not yet complete, demos of the libraries capabilities are still scarce. This demo shows off how the library handles drag-and-drop with greater control (and a couple more pitfalls) than its competitors.
(tags: javascript) -
AJAX-based One-Page Checkout: Video
For design firm Varien, distilling the checkout process down to a single page with carefully crafted JavaScript and AJAX features to assist the customer in filling it in resulted in a 50% increase in the conversion rate of an ecommerce site.
(tags: business design ajax javascript) -
“Atlas” 1.0 Naming and Roadmap
Microsoft will have a fully-supported 1.0 release of its Atlas library around year’s end. It will be split into three products: the Microsoft AJAX Library (the non-ASP.NET client side stuff), the ASP.NET 2.0 AJAX Extensions, and the ASP.NET AJAX Control Toolkit.
(tags: ajax asp.net) -
Scope in JavaScript
As soon as you get beyond very simple scripts, JavaScript’s scoping rules, and in particular the meaning of the keyword …
Eliminating async Javascript callbacks by preprocessing
The Catch 22 of AJAX is, for the sake of an easy life, most of the time we want to write “synchronous code” but asynchronous is the only way to avoid some rather nasty usability issues. This means rather than being able to write simple code, as we’d like to, such as;
function doClick() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open(”GET”,”http://example.com/products”,false);
# Execution blocks here, waiting for the response to complete…
xmlhttp.send(null);
alert(xmlhttp.responseText);
}
…we’re required instead to handle this via callbacks, the simplest example being…
var xmlhttp = new XMLHttpRequest();
function doClick() {
xmlhttp.open(”GET”,”http://example.com/products”,true);
// Set the callback
xmlhttp.onreadystatechange = handleResponse;
xmlhttp.send(null);
}
function handleResponse() {
if ( xmlhttp.readyState == 4 ) {
alert (xmlhttp.responseText);
}
}
…but that’s now introduced a whole load more potential issues. The callback now relies on the global xmlhttp object being available (and globals for any significant size project are generally evil). And what if the user keeps firing that doClick() function? What about async requests that pause for a coffee break …
Sep 11, 2006 News Wire
-
Live Filter: Re-inventing Search
A new design pattern for search engines that revolves around progressive filtering of results, rather than a single query. The Implementation section is especially interesting, as it covers some of the ugly browser issues still facing AJAX developers.
(tags: design usability rubyonrails ajax) -
Webified Desktop Apps vs Browser-based Apps
Covering similar ground to my editorial in Tech Times #146, this article proposes that the future of desktop computing is not in AJAX, but in desktop applications that are enhanced to take advantage of Internet-based resources.
(tags: ajax programming) -
Web-based Media Sharing Software ccHost 3.0 Released Today
Produced by Creative Commons, ccHost is an open source web application for sharing media files online and building collaborative communities around them. The 3.0 release includes many significant new features. ccHost is written in PHP.
(tags: software php) -
Apache + Chroot + FastCGI + PHP FAQ
Are you managing a single server that hosts multiple PHP web applications using virtual hosts? By configuring your server using Chroot and FastCGI, you can net big gains in both performance and security.
(tags: apache php) -
Court Denies Target Corp. Request to Dismiss Suit
In the ongoing saga of the class-action lawsuit against Target for its failure to add accessibility features to its online store, as …
Catching Session Timeouts before they Bite
Using sessions to store user information is a very handy feature of ASP.NET. But it is not without its dark side. One of the principal difficulties is the fact that sessions can die unexpectedly. This can happen for a number of reasons. It could just time out. The server could decide it needs to recycle the application. A user could clear his session cookies. There could be a sunspot. And here is how to catch these events before you corrupt your database.
Sep 7, 2006 News Wire
-
Light text on dark background vs. readability
Roger Johansson sparks off some debate on the readability (and thus, accessibility) of light text on a dark background. Many first-time web designers go for this look because it can be instantly attractive, but is it difficult to read?
(tags: accessibility design) -
Has accessibility been taken too far?
Jeff Croft considers the question of just how far to take accessibility in the real world. In particular, he points out that accessibility is not an absolute (yes or no) and that most accessibility work involves tradeoffs in other areas.
(tags: accessibility design) -
Let’s talk about accessibility
The two preceding articles received a great deal of feedback, some quite vitriolic. In this post, James Bennett highlights the key points of both and suggests people learn to set aside egos and emotions before joining the discussion.
(tags: accessibility) -
Low Pro: Unobtrusive Scripting For Prototype
Low Pro is a standalone version of the JavaScript components of the Unobtrusive JavaScript Plugin for Rails. Prototype is not particularly obtrustive, but this add-on extends it with many useful features, and some can ease unobtrusive scripting.
(tags: javascript rubyonrails) -
script.aculo.us 1.6.4
This new release of the effects-laden add-on library for Prototype is based on the as-yet-unreleased Prototype 1.5 RC1, and features improved drag-and-drop …
The beauty of “re-purposing”
You may have noticed a transition in my advice over the past 2 and 1/2 years. The shift has been from talking about selling services to selling repeatable programs and products in addition to services. That way, you are building something of sustainable value, and making something once to sell it thousands of times.
In my case, I now design web-based programs and sell information via the web. I don’t have an advertising model, but rather sell information to targeted niche audiences. In 8 months of building, I now have 6 cash-flow generating sites (and a few duds, too).
Anyway, just because a product or site is a dud doesn’t mean that you can’t turn lemons into lemonade, and that’s the purpose of this blog.
Here are two examples:
1. I created a site that sold book reviews to parents. It bombed. But I had 22 wonderfully written book reviews/summaries. So I started marketing those on another site I have that caters to parents. They now sell as a bundled group of reviews, not as a subscription. Results are positive. A bomb has turned into at least a marginal success.
2. I’ve done some research on my marketing books, testing a variety of prices. During …
CouchDb: document oriented persistence
If you’re looking for something “interesting” to mess around with, Damien Katz’s CouchDb project is at the point of working prototype, the server implemented in Erlang (a hot topic in some places) and a demo client application (a simple forum) in PHP.
Firing up the CouchDb server on Windows is a breeze - follow the README. PHP-wise, you need the new http extension which is most easily done on Win32 by grabbing the most recent PHP 5 release (5.1.6) and the corresponding collection of PECL modules. Alternatively the most recent XAMPP (apparently) packs the extension.
The interface between CouchDb and PHP is REST - XML + HTTP - you can also point your browser directly at the CouchDb server (default - localhost:8080) and get around with a little help from the CouchDb wiki.
What is CouchDb and why is CouchDb interesting, given relational DBs etc? To an extent it’s hard to define - best starting point is probably Damien’s discussion of Document Oriented Development. There’s a quick overview here but still it’s difficult to find a truly selling argument. How about some code instead? Here’s a snippet from the demo app (couchthread2.php), which is handling a form post;
if ($_SERVER[’REQUEST_METHOD’] …
Sep 6, 2006 News Wire
-
How to correctly insert a Flash into XHTML
I was recently asked how to place a Flash movie in a file without violating XHTML compliance and without requiring JavaScript be enabled. This blog entry demonstrates the method I currently recommend.
(tags: flash html standards) -
An Open letter to John Warnock
Andrei Herasimchuk’s open letter to Adobe asking that several core fonts (Adobe Caslon Pro, Adobe Jenson Pro, Franklin Gothic, Frutiger, Futura, Gill Sans, Helvetica Neue, Univers) be released into the public domain.
(tags: design) -
Carousel Component
Hear ye! Hear ye! Get your carousel components here! Carousels seem to be all the rage all of a sudden. This implementation is based on components of the Yahoo! User Interface Library.
(tags: javascript design yahoo!) -
jCarousel
This carousel component is a plug-in for the jQuery JavaScript library.
(tags: javascript design) -
Prototype Carousel
Lastly, this carousel control is a port of the Yahoo! User Interface version above to the Prototype/script.aculo.us JavaScript libraries, and is therefore better suited for use in Ruby on Rails applications.
(tags: javascript design) -
Internet Pioneers on What Not to Do
Fourteen of the people behind Internet pioneers like PayPal, Yahoo!, and Netflix offer their advice to entrepreneurs doing business online.
(tags: business) -
Mastering Enterprise JavaBeans 3.0
Free, full-length, online and PDF versions of the just-released book from Wiley …
Sep 5, 2006 News Wire
-
Integrating the Google Web Toolkit with JSF using G4jsf
A fascinating project, G4jsf allows Google Web Toolkit (GWT) applications to run as JavaServer Faces (JSF) components within a Java web application. Though counter-intuitive, this match actually makes a lot of sense, as demonstrated in this detailed article.
(tags: google ajax java) -
Google Image Labeler: Collaborative Tagging Game
An exciting example of harnessing people power. This “game” gives you and a partner 90 seconds to provide labels for images for use by Google Image Search. If your labels match your partner’s, you win points. Built with Google Web Toolkit.
(tags: google ajax business) -
OWASP Autumn Of Code 2006
If you have some spare time between now and the end of the year, the Open Web Application Security Project is offering financial sponsorships (up to US$5,000) for people willing to contribute to many of its projects that foster web application security.
(tags: security opensource) -
Microsoft Pre-Release Software Microsoft .NET Framework 3.0 - Release Candidate
The release candidate of the .NET Framework 3.0 (also known as WinFX) is now available for download from Microsoft.
(tags: .net) -
Precedent
Accessibility consultant Joe Clark reports on mounting anger over the inaccessibility of Canadian ticket retailer Ticketmaster’s site. An article points to inaccessible CAPTCHA checks, while two people have …
Sponsored Links
SitePoint Marketplace
Buy and sell Websites, templates, domain names, hosting, graphics and more.
Want More Traffic?
Get up to five quotes from qualified SEO specialists, with no obligation!
Download sample chapters of any of our popular books.



