Archive for May, 2009

A good day for Open Video. A long way to go!

May 30th, 2009 No comments

What are the odds? At roughly the same time we saw the top two user generated video sites on the Web show us a glimpse at the future:

At Google I/O, Vic showed us an HTML 5 demo of YouTube. It looks the same, but the controls are in HTML, powering the video tag. The related videos on the right hand side had a cool new feature. As you mouse over them, they would play along. Right now seeking around in video is an awful experience. With larger pipes we will be able to do iMovie style flip-throughs to find exactly what they are looking for in a video.

DailyMotion goes a step further. They announced not only a demo area but “a new R&D platform dedicated to open video formats and web standards:“. You can find 300k videos all encoded in open formats right now.

Firefox has lead the way with Ogg Theora support, but as Mark Pilgrim noted Chromium can be built with support. The question as Mark says is “Will Chrome support Theora video?!”

Let’s not kid ourselves, piranhas are out there in the murky waters, so it is a balsy move for anyone to do this, especially folks with lots of $ to go after…. but we need to blast open the doors. Here’s to the march of Open Video.

Categories: Webmasters Resources Tags: ,

GWT team Wave’s goodbye to annoying question; It’s the API stupid

May 30th, 2009 No comments

“Why doesn’t Google use GWT more?”

That is a question that I was asked maaaany a time. There are sites like Base and the old mashup editor and others…. but “why not something big like Gmail?”

It was always so tough because it wasn’t a totally fair question.

  1. Google has some of the best Ajax hackers out there. Teams with that talent may not be the right people to use GWT!
  2. A lot of sites were written before GWT was created, and migrating something is a different proposition


Google Wave on the other hand, had the chance to really evaluate GWT and they went with it. There was a talk at Google I/O about why, and some of the cool new features they use such as runAsync that does some incredibly smart things to lazily load code when needed (and gives you a much smaller initial download).

I don’t have much to add to the massive coverage that Wave has gotten today. I see two pieces. The one that most people focus on is how it looks and what the site does. It is very rich, and cool, and some people will try it and some will not like how it feels.

That isn’t the piece I am most excited about. Although it is great to reboot what a communication tool could be in 2009, but I am much more excited about the APIs. A lot of servers and frameworks and languages are vying for the “real time Web server” trophy. What Wave gives you is a federated implementation AND a spec to build your own stuff. At its core I see it as a great way API to let people collaborate on a shared object. That is a fantastic building block.

When I heard about it, I immediately thought about my own world of Bespin of course. From the initial prototype we had the notion of creating a collaborative social experience with code. One feature that has long been on the drawing board can be seen here:



We want to tie chat/status/microblogging content to files and even code snippets in a project. Imagine being able to highlight some code and see not only who created it and when, but also what was discussed. The social bar on the right has some of that concept. Then down below you see the timeline view that lets you go back in time and see the code change before your eyes. Maybe you want to replay the coding that a coworker did while you were out instead of staring at the diffs? This is the kind of thing that I hope we can experiment with Wave to do. We will see!

Categories: Webmasters Resources Tags: ,

Web Storage Portability Layer: Abstract on top of HTML5 and Gears Storage

May 30th, 2009 No comments

Robert Kroeger has released a nice library for local database access. The Web Storage Portability Layer nicely abstracts on top of HTML5 and Gears for database access.

    The WSPL consists of a collection of classes that provide asynchronous transactional access to both Gears and HTML5 databases and can be found on Project Hosting on Google Code.

    There are five basic classes:

    google.wspl.Statement – A parametrizable SQL statement class

    google.wspl.Transaction – Used to execute one or more Statements with ACID properties

    google.wspl.ResultSet – Arrays of JavaScript hash objects, where the hash key is the table column name

    google.wspl.Database – A connection to the backing database, also provides transaction support

    google.wspl.DatabaseFactory – Creates the appropriate HTML5 or Gears database implementation

    Also included in the distribution is a simple note-taking application with a persistent database cache built using the WSPL library. This application (along with Gmail mobile for iPhone and Android-powered devices) is an example of the cache pattern for building offline web applications. In the cache pattern, we insert a browser-local cache into the web application to break the synchronous link between user actions in the browser and server-generated responses. Instead, as shown below, we have two data flows. First, entirely local to the device, contents flow from the cache to the UI while changes made by the user update the cache. In the second flow, the cache asynchronously forwards user changes to the web server and receives updates in response.

    By using this architectural pattern, a web application can made tolerant of a flaky (or even absent) network connection!

You can of course take a peak at the code to see how it works, for example:


1 google.wspl.DatabaseFactory.createDatabase = function(dbName, dbworkerUrl) {
  • var dbms;

  • 3 if (window.openDatabase) {
    4 // We have HTML5 functionality.
    5 dbms = new google.wspl.html5.Database(dbName);
    6 } else {
    7 // Try to use Google Gears.
    8 var gearsDb = goog.gears.getFactory().create(‘beta.database’);
    9 var wp = goog.gears.getFactory().create(‘beta.workerpool’);
    10 // Note that Gears will not allow file based URLs when creating a worker.
    11 dbms = new wireless.db.gears.Database();
    12 dbms.openDatabase(”, dbName, gearsDb);
    13 wp.onmessage = google.bind(dbms.onMessage_, dbms);
    15 // Comment this line out to use the synchronous database.
    16 dbms.startWorker(wp, dbworkerUrl, 0);
    17 }
    18 return dbms;
    19 };

    Nicely done. It would be great to see a version that acts as a shim and when in Gears mode manually implements the HTML5 standard API so you can write your user code to that and not a new google package.

    Lightweight & Highly Customizable Ajax Events Calendar

    May 28th, 2009 No comments

    dhtmlxScheduler is a web-based event calendar which provides simple in-browser scheduling solution. With smooth Ajax-enabled interface dhtmlxScheduler allows users to add, modify or delete events without refreshing the web page.

    Intuitive drag-n-drop behavior gives the possibility to change events date and start/end time by simply dragging the event boxes. The calendar events can be displayed in Day/Week/Month views.

    dhtmlxScheduler is very lightweight (about 19KB gzipped), cross-browser and highly customizable. Each aspect of the calendar interface can be configured through JavaScript API. Developers can easily add/update events, change date format, time scale or calendar language.


    Although dhtmlxScheduler is a pure JavaScript solution, it can be easily connected to the backend database with the help of dhtmlxConnector, a PHP extension that enables data communication between client-side interface and server-side datasource.

    You can also use your own server-side code written in any language (PHP, Java, ASP, etc.) to bind scheduler content to the database. dhtmlxScheduler is distributed under GNU GPL and commercial licenses.

    Detect Page Scrolling with MooTools ScrollSpy

    May 28th, 2009 No comments

    MooTools ScrollSpy is a unique but simple MooTools plugin that listens to page scrolling and fires events based on where the user has scrolled to in the page. Now you can fire specific functionality with just a few simple parameters. David has shown us 4 examples of using ScrollSpy.

    Example 1: “Top the Top”
    When you scroll down a defined number of pixels, you get a “Scroll to Top” link in the lower right hand part of the screen. When you’re back at the top, ScrollSpy is directed to hide the link.

    Example 2: “The Show”
    When you click the link, the window scrolls to the right. During the scrolling process, ScrollSpy shows and hides content blocks based on where in the scrolling process the window is.

    Example 3: “Team Colors”
    This displays a different background color depending on where you are in the page.

    Example 4: “Position Pointer”
    This displays imagery in different positions on the page based upon where the user scrolls.

    10 WordPress Plugins Guaranteed to Save You Time

    May 28th, 2009 No comments

    In these days of the ever-increasing competitive world of the web, time is as valuable as money. To be noticed, and to stay at the top of the game, content writers must post a lot of content on a regular basis. To keep up with time constraints, WordPress plugin authors provide an array of useful plugins that will drastically reduce the time required to write, format, and post your content.

    In this article, you’ll find 10 excellent WordPress plugins intended to reduce and simplify tasks associated with blogging so that you can spend more time creating content, and less time with site administration.

    1. Post Ideas – take charge and manage your post ideas

    post idea

    Post Ideas is a basic plugin that enables you to create rough drafts of ideas and thoughts for future articles without having to make a draft of the post. This plugin helps the writer enter a draft title, description, keywords, links, and most of all, priority of the post idea. Once all the ideas are collected, the writer can pick an article to write by either priority or self-preference. This will enable you to have a web-based idea bank that sits right inside your WordPress installation.

    2. Tidy Up – Automatically find errors and clean up your HTML

    Tidy Up

    Tidy Up is a port of HTML Tidy into WordPress. This plugin can run the HTML Tidy algorithm through all of your posts and or pages and return a proper generated report regarding the HTML code in your posts or pages. In case it contains any kind of errors, it points out to the writer where it is and how to fix it. The plugin does not stop there; it also features a database-cleaning utility that removes unnecessary data in your MySQL database.

    3. Pages+ – Deal with many pages with ease


    The Pages+ plugin is very handy in case your site has many pages. The default ‘manage’ option via the Administrative Control Panel in WordPress provides very little features for managing any of your  pages. Page orders, categorization, deletion, addition, and much more, can be accomplished via this awesome plugin.

    4. Mass Post Manager – Save time managing old posts

    Mass Post Manager

    Mass Post Manager helps you easily manage existing posts. This plugin enables you to manipulate the categories and comments related to existing posts. This is an essential plugin to have in case you need to re-allocate categories of your posts, or manage the comments in the same posts, which is quite tedious via normal WordPress Administration Panel.

    5.Attachment list – Easily spice up attachment icons without coding

    Attachment list

    Attachment List is a simple plugin that spices up those boring old icons that appear on the attachments of a post. You can use this plugin to replace the default icon used by WordPress and replace it with a set of icons, available free-to-use from

    6. Survey Gizmo – Dealing with polls can’t be simpler than this

    Survey Gizmo
    Survey Gizmo
    is a premium plugin that has a free version. This plugin is for creating, running, and managing survey results within the WordPress interface. The plugin also allows you to generate printable reports of your results.

    7. Tweetable Twitter – Saves time in updating your Twitter feed

    Tweetable Twitter

    Tweetable Twitter is a great plugin if you use Twitter. Tweetable Twitter allows the user to integrate Twitter into your WordPress blog and automatically Tweets the latest post that you publish. The automatic Tweeting can also be configured to choose the URL shortening service of your choice.

    8. Secure Files – manage file uploads securely

    Secure Files

    Secure Files is a plugin that aims to solve the problem faced by Registered Only plugin users. The latter plugin allows only Registered users on a particular website to view the content in it, whereas guests can’t see anything at all. Although this protects the content of your database – other files, such as images and CSS files, aren’t protected. The Secure Files plugin is developed to take care of that issue. This plugin allows users to create a directory outside of the root directory for file uploads and downloads. This is an essential plugin to have for multi-author blogs.

    9. SmartVideoPlus – embed videos with ease


    SmartVideoPlus is a plugin that will completely change your simple blog layout to a full-blown video website! Watch the demo of this awesome plugin here.

    10. Sticky Post – no need to hack your WordPress theme to sticky a post

    Sticky Post

    Sticky Post is an impressive plugin that adds the specified post or article on top of each post in the website, without having to modify the current theme that the site uses. This is quite useful, if you want to grab the visitors’ attention with an old, but still is important, blog post.

    Open Source Spell Checker Application

    May 27th, 2009 No comments

    Spell Check Rex is an Open Source Spell Checker Application. It’s a Free spell checking program, written in PHP and MySQL, that can be installed on your website to regularly monitor and report on spelling mistakes. This should be particularly important for e-commerce sites, sites with dynamic content, and generally for people who want their sites to present positively.

    It supports frame-enabled websites & directories, pages can be excluded. This Free Application spiders the  site it is installed on and generate reports. These reports are then provided both on-screen and via a download-able report.


    Spell Checker Features


    • Free Application as most spell checking services charge money
    • Fully built-in to your website meaning you have control. No 3rd-party required.
    • Open source (GPL/GNU). You can see and modify the code.
    • Schedule regular reports to be emailed to you
    • Highly configurable: exclude directories, customize data, set crawl limits/behaviour
    • Comprehensive word list (approximately 115,000 words)
    • Locale-aware spellings
    • Multi-language admin panel
    • Free support available
    • Only 2.5mb download

    Admin panel has multilingual support but Spell Check Rex can only spell check English written websites.

    Free JavaScript Time Picker Script using MooTools

    May 27th, 2009 No comments

    A Free JavaScript Time Picker Script, Time Picker is using MooTools as Framework. The first ever Time Picker that utilize a very easy drag and drop interface. With it’s unique design, anyone can drag the minutes or hour hands independently to select a time.

    A very handy and useful application while building web applications. The beauty of this time picker is that it works in parallel with the date picker.


    Time Picker Features

    • Easy to use, customize and implement
    • Independent hours and minutes hands
    • Drag the clock hands to set the time
    • Uses CSS spirits for faster loading time
    • 12 or 24 hour output with and AM and PM (translatable) ticker

    Gmail / Facebook Style Chat Application with jQuery

    May 27th, 2009 No comments

    Everyone loves the Gmail and Facebook inline chat modules. This Gmail/Facebook Style jQuery Chat Module enables you to seamlessly integrate Gmail/Facebook style chat into your existing website.

    You can see the chat box displays at the bottom right hand corner of the screen. You can keep the chat boxes open and stores state (data) even when pages are browsed/refreshed. It will display “Sent at…” after 3 minutes of inactivity. You can also minimize and close chat boxes easily.


    This chat script can be used for free under LGPL-style license for non-commercial purposes. However, you need to purchase a license for commercial purposes.

    Free 2Column WordPress Theme – WPElegance2Col

    May 27th, 2009 No comments

    WPElegance2Col is a Free 2Column WordPress Theme, with premium features.This Free WordPress Theme is a neat, professional, elegant theme and highly customizable. The Footers, Featured Posts section and Thumbnails can be easily disabled or enable through the Theme Options Page.

    WPElegance2Col is SEO-optimized, ad-ready, WordPress 2.7 compatible with widgetized sidebars and footer.

    Wordpress Theme

    WordPress Theme Features:

    • 2-column Theme
    • Sliding Featured Posts Section
    • Multi level sliding menus
    • Automatic thumbnails of first uploaded image of Posts, in Home page and other archives
    • SEO optimized CSS layout
    • Gravatar Ready Theme
    • Social Media integration
    • Compatible with most WordPress plugins
    • Compatible with WordPress 2.7 and earlier versions
    • Easily spiderable, structured navigation
    • W3C XHTML and CSS Validated theme
    • support for threaded comments and seggregation of comments and pingbacks/trackbacks