Rob Gonda's Blog

jQuery Button Contest - Many Prizes!

To encourage people to promote the jQuery project and get as many people involved in the community as possible, jQuery is holding a contest to build a "Powered by jQuery" button.

The Rules:

  1. The contest will run until November 3rd. Winners will be announced November 5th.
  2. All entries must must be optimized for the web (8-bit PNG) and images should be no bigger than 173x31 (example).
  3. The jQuery team will have the right to the use the submissions anyway they wish. This will prevent any copyright issues in the future. The winner must also be able to provide a PSD (or AI) file so that the image can be maintained in the future.
  4. Prizes will be awarded for 1st, 2nd and 3rd place submissions.
  5. The general jQuery community will do the final voting, moderated by John Resig, creator of jQuery, and Rey Bango.
  6. You should make use of the jQuery hat logo in your button (you’re free to re-draw it, as necessary). If needed, here’s a raw PSD of the hat logo.

The Prizes:

  1. First Place Prize: Two Books - Ajax Design Patterns and John Resig’s upcoming Pro JavaScript Techniques
  2. Second Place Prize: One Book - Foundations of Ajax
  3. Third Place Prize: $10 Cash to a PayPal account of your choosing!

The prizes will be shipped anywhere in the world via regular post.

All submissions should be made in the comment section of this posting via a standard hyperlink. Make sure that you provide a valid email address when submitting your entry.

This is your chance to really help expand the jQuery community by creating a top notch button that will get a ton of exposure. Good luck to everyone!

jQuery 1.0.3 fixes 58 bugs

Another bug-fix release is ready for all to enjoy! It is highly recommended that you upgrade right away. As always, if you spot a bug, please add it to the bug tracker. jQuery 1.0.3 is featuring only bug fixes - leaving all API additions/changes/deletions until the next full release: jQuery 1.1.

Download now.

DOM Vs. innerHTML

There is quite a debate when using Ajax/DHTML on whether to use DOM nodes or innerHTML. I've been a follower of innerHTML, not only because it's easier, not only because you reuse the same view layer, but now also because it's indisputably faster.

When using an MVC architecture, it's easier to reuse partial UI's by rendering them as usual and injecting them into the page using innerHTML. That has been the philosophy of Rails, and mine when coding any Model-Glue / MachII project using Ajax.

Check out this benchmark and see for yourself...

Dojo 0.4 to be released Tuesday

Dion from Ajaxian says Dojo 0.4 will be released next Tuesday at the Ajax Experience... nice, Firefox 2.0 and Dojo 0.4. The final release candidate is already available here.

Among other features, 0.4 includes:

  • GFX Library
  • Internationalization infrastructure
  • dojo.debug.console: console logger, improved debugging with Firebug
  • dojo.html.metrics - scrollbar width measurement, current font size measurements, the ability to get how much of an HTML fragment will fit on a single line in a container, and to populate a container node with as much of an HTML fragment as will fit into it. Also included is a way of measuring the dimensions of a node if one was to populate it with a specific HTML fragment.
  • Widget Infrastructure: namespace support, subwidgets, refactoring of dir structure
  • Widgets: New widgets have been added and updated including: VML support, FilteringTable widget, Slider, Toaster, DropDownTimePicker, RadioGroup, Clock, ProgressBar, Datepicker, Editor, AccordionContainer, and many more.

model-glue jquery Ajax contact manager

I just finished migrating my Ajax Model-Glue Contact Manager example to jquery... it literarily took me no more than 30 minutes; I was truly amazed on how easy it was, and 20 of those minutes were to realize that I needed a plugin for my form serialization. I probably changed no more than 5 lines of code, and removed about 10 more.

I even had some nice transition effects, which I took out for now to show the very very basics; I will add them again and provide a new download in the next few days.

You can view the example here and download the code. The flow is exactly the same as the ajaxCFC example, but if anyone has any questions please add a comment and I'll try to answer it for you.

ajaxCFC meets log4javascript

I was playing today with log4javascript and I thought it was a good idea to integrate it with ajaxCFC. I added a couple of basic log calls as shown in this example.

I added a trace for the invoked call, showing the call ID, remote method name, and serialized arguments, followed by the server response. I also added a broken call to illustrate logs of a server side error.

In order to enable the debugging, all you have to do is to add debug: true to the ajaxConfig object. If this key is not present, the debugging classes won't even be included, to save on loading time and performance.

Let me know what you think.

Spreadsheet Dojo Widget

Marius Hanganu released a Spreadsheet Widget written in Dojo... it is pretty impressive, and pretty heavy at the same time. Dojo is incredibly powerful, but this widget max'ed out my CPU for about 30 seconds... not so impressive. You can view the demo here. If your browser does not respond just have patience... I know, I know, but it's still in beta, has some bugs, and hopefully will not have these performance issues once it hits 1.0.

Here's a list of features from the author's site.

Features
  • Based on Toolbar and TabContainer widgets
  • Keyboard cell navigation
  • Column, row resizing
  • Cell, column and row selection
  • Cell formatting (font, font size, bold, italic, underline, color, background color)
  • Sheet management (rename, delete, new)
  • Functions (22 math functions, 6 string functions)

Status


  • This widget is definitely not final and has several bugs
  • Tested with Firefox and IE only
  • On IE runs slower than Firefox
  • If it would be released as an independent piece of software it would be labelled as 0.7 version

Goals for "1.0" version:


  • Fix all remaining bugs related to column, row resizing and selection
  • Support cell presentation format (dates could be displayed as mm-dd-yyyy, numbers as xx.xx, etc)
  • Support for date functions
  • Post spreadsheet data in JSON format to be saved serverside
  • Improve validation

New Online Ajax Magazine

Check out this new & free Ajax magazine that will focus on topics relating to Ajax with a slant on the JQuery library.

If you haven't heard of JQuery, I would definitely recommend you check it out, it's a very powerful JavaScript tool.

Its definitely some good reading and well worth picking it up. And you certainly can't beat the price!

gotta give mxAjax some props

I downloaded the latest version of mxAjax, and I gotta give Arjun some props.. the idea of open source projects is to take one and make it better... as I mentioned before, you can clearly see that he reused some elements of ajaxCFC, but the funny part while looking at mxAjax.js, is that he took functions w/o knowing if/where they're being used... I have two functions to lazy-load JavaScript: include() and include_dom(). I realized that include_dom() doesn't work on every browser so I'm not even using it... I left it there because I think it's a better way of including your scripts and I had planned to use it only if the browser is compatible... So to keep the story short, mxAjax has both these functions, and of course, he's only using include()...

****************************
Scorpio may end the war :)

my spry requests

I know, to those who know me this is kind of a weird post... I haven't been much of a spry follower but I chose to give it a second try and these are my two cents:

  • Spry is great for dynamic data with static layouts
  • You can get more control over the raw data using Spry.Utils.loadURL and request.xhRequest.responseText
  • xml is heavy, but Adobe will probably add JSON support very soon
  • I haven't stress-tested it yet, so I wonder if Adobe is aware of some of the IE flaws -- fires requests randomly
And a few requests
  • Distribute a source and a compressed version. Libraries like this should be jsmin'd in every production environment and not everyone knows this... so just make it easier.
  • Modularize it and allow us to load only what we need, at least provide the source in separate files so I can merge them and jsmin it myself with only what I need... provide bootstrapping, engine, utils, logging, effects, all in different files... If I'm only using the engine, which should weight close to 30k I don't want to load 200k.

More Entries

This blog is running version 5.9.003. Contact Blog Owner