Web Info & Tutorials

November 5th, 2007

MOOMONTH - MOOTOOLS-BASED CALENDAR

Roland Poulter recently released MooMonth, a MooTools-based calendar system. I did a brief email interview with Roland and here’s his feedback:

When did you release it into alpha?

I put the site online a little more than a week ago. It was actually kinda slapped together, I designed a logo and stuff but I didn’t want to commit to what I had. I just decided I wanted to make it available. A couple people on the MooTools Forum asked for the code, so I put the site up.

How far along is it?

I’ve been hacking at it for a while. At first I wasn’t totally convinced I could do a calendar with all the cool effects in javascript. I started with a prototype to test if it would work. It wasn’t until recently when I had some time off of work I was able to sit down for a week and totally rework everything. Progress has been much quicker since then. It been a few months of time, but I would say only a couple weeks of actual development. I hoping to get it ready for some production use in a few more weeks, but it depends how much of my free gets sucked up be the video games.

So far I have only been working on the views and transitions. I am nearly done with the “year view” which will zoom out of the current month and show all the months for a year. At this point I wish I hadn’t started on it, it looks cool but I am not sure it will be useful. After I finish that I am going to work on event functionality.

What are the Big Features?

I want the calendar to be a complete javascript calendar ready to be plugged into an app.
I intend for it to be highly configurable, for style, for performance, and for layout.

Features I’ve got for developers:

  • MooDate Date Extension (Fills in some gabs in the Javascript Date object.)
  • *MooMonth Events (Handles a collection of events with Ajax.)
  • *MooMonth Event (Create, Read, Update, Destroy events with Ajax.)
  • MooMonth Date (Uses the date extension to setup a the calendars’ date.)
  • MooMonth Size (You can choose to present the calendar with a specified width and height, or tell it to mimic an html element, or just let it fill the window.)
  • MooMonth Resize (Animate the size of the calendar.)
  • MooMonth Element (Choose to use a table structure or a div hierarchy, only the div. The table type is limited, its really only meant for “mini months”. Options are available for setting border size, label size, header size, and margin. Also it uses events for all the controls so you can change what happens when you click on a day.)
  • MooMonth Constructors (Make an calendar app, *date-picker, or customize your own.)

Features for users:

  • Multiple views: Day, Week, Month, *Year
  • View Transitions
  • *View specific controls (Clicking next when viewing a week will take you to next week.)
  • *Events
  • *Dragable
  • *Resizable

* Planned features, but not finished.

The code for MooMonth is released under a mixed Creative Commons/LGPL license and takes advantage of the MooTools JavaScript library. You can play with the calendar via the demo page.

Also, Roland is looking for help on this project so if you’re interested be sure to contact him via the site.

November 5th, 2007

NEW UI LIBRARY FOR PROTOTYPE IN THE WORKS

Sébastien Gruhier, author of the VERY cool Prototype Window class has started a new initiative to build a complimentary UI library for Prototype. Accompanied by Samuel Lebeau, Juriy Zaytsev and Vincent Le Moign, the team aims to build easy to implement UI components that will enhance the user experience in web applications.

At the beginning of the project, it was only a full rewrite of Prototype Window but it became quickly a UI library based on Prototype 1.6 and script.aculo.us 1.8 to include all my previous components like Prototype Carousel ….

The current version is still in early stages but already provides some nice components:

  • window
    • skinnable
    • shadowing system independent from window and skinnable
    • div based
    • resizable from all borders and corners
    • custom buttons
    • Dialogs (like it’s done in PWC) are not yet implemented but will be done soon
  • carousel: only HTML content (no Ajax content)
  • dock (experimental)
  • shadow: a simple class to add shadow on any element with a absolute position.

Full details of the project can be found on Sébastien’s blog.

November 5th, 2007

DOJO 1.0 RELEASED: THE GRANDDADDY IS BORN

Ben and I have been talking about Dojo forever. We talked about Net Windows and MochiKit before it, and when a slew of JavaScript hackers came together to create Dojo we knew it would be a good thing.

Dojo was more than an XHR wrapper, which consisted of the majority of libraries that appeared on the scene right after Ajax came to life. Dojo always felt like the standard library that JavaScript never had. It wasn’t just for the browser, it was for all JavaScript.

Recently the Dojo team decided that this was all well and good, but the pragmatic reality was that the browser was where their users were using them, so it was time for a rewrite. From scratch they rebuilt a fast lean Dojo core that only has what you need. They kept the core philosophy, and the build system is still there, as well as the great widget system.

The end result is Dojo 1.0, a huge milestone for the project as they took 1.0 so seriously.

Recent Features

  • Accessibility including keyboard navigation, low vision support, and ARIA markup for assistive technologies
  • High performance grid widget supporting 100,000+ rows of data
  • Browser-native 2-D and 3-D charting
  • A full library of easy-to-use, attractive UI controls
  • Universal data access for simple and fast data-driven widget development
  • Internationalization with localizations provided for 13 major languages
  • CSS-driven themes to make customization and extension simple
  • Dojo Offline, based on Google Gears, which makes offline applications easy to build
  • Support for the OpenAjax Alliance Hub 1.0 to guarantee interoperability with other toolkits
  • Native 2-D and 3-D vector graphics drawing
  • Access to many more widgets and extensions through the Dojo package system

Take a look at the full press release or watch our chat with Alex about the release. Alex is always great to talk too as he is very honest, and carries the torch nicely for the Open Web. Congrats to the entire Dojo team.


Comet Daily

SitePen has also released a new website dedicated to the discussion of Comet: Comet Daily. A group of the Comet experts are all signed up and ready to show you that PUSH is back!

November 5th, 2007

URI COMPARISON FUNCTIONS

It is pleasant to wager a place on IEBlog that isn’t most ES4 ;) Dave Risney provides meet that as he info the perils of scrutiny URIs, a ordinary drive for section exploits and errors in general.

Investigating URI parsing attendant issues in different products, I’ve separate crossways whatever instances of cipher erroneously attempting to study digit URIs for equality. In whatever cases the communicator writes their possess comparability and seems to be unmindful of URI semantics and in another cases the communicator delegates to a Windows provided duty that doesn’t quite impact for the author’s scenario. In this journal place I’ll exposit whatever of the unmanaged URI comparability functions acquirable to Win32 developers, and a some ordinary mistakes to avoid.

The stylish URI RFC 3986 does an superior employ of describing a ladder of URI comparisons. The arrange on the harm trades soured comparability pace for sort of simulated negatives. False perverse in this housing effectuation that the URI comparability duty says digit URIs are not equal when they are.  However, nowhere on the harm module a comparability create a simulated positive. That is, a URI comparability duty should never wrong inform that digit URIs are equivalent.

To summarize, IUri::IsEqual is a beatific Scheme-Based Normalization URI comparability function, UrlCompare and CoInternetCompareUrl should be avoided for emotion of section bugs, and with no meliorate choices a ultimate housing huffy progress comparability module suffice.

November 5th, 2007

HOW TO MINIMIZE YOUR JAVASCRIPT AND CSS FILES FOR FASTER PAGE LOADS

Max Kiesler continues he matter resources with a wrapup of how to derogate your Javascript and CSS files for faster tender loads.

He course to resources that discuss:

  • JavaScript and CSS compression
  • Just JavaScript compressions
  • JavaScript and CSS densification with Java
  • JavaScript densification with PHP
  • JavaScript and CSS densification with Rails
  • JavaScript densification with Rhino and Maven
  • Compression research