Web Info & Tutorials

November 17th, 2006

TIBCO GENERAL INTERFACE 3.2 RELEASED: CHECK OUT OUR EXCLUSIVE SCREENCAST

TIBCO General Interface 3.2 has been officially released.This is a big release as it contains two big changes:

  • Open Source License. Yes, GI is open source!
  • Firefox support
There are many other items of interest too, such as SVG charting, and the load time optimizations.Ben and I got to sit down with Luke Birdeau, the Lead Engineer of TIBCO General Interface. We got to interview him, and also did a screencast with him to get a better understanding of the TIBCO GI toolkit.

The screencast covers:

  • The TIBCO GI interface. Loading up your dev environment in Firefox
  • Using the new to 3.2 Matrix component that slices and dices
  • Using the drag and drop interface to quickly put together an Ajax component or application
  • Using rich trees (as part of the Matrix) and some of the more advanced abilities
  • Using a datamapper to bring in data via any service endpoint (XML over HTTP, JSON, WSDL, etc)

It is really worth checking out this short screencast as it shows you what a pow
erful tool GI is, and we are constantly surprised at how fast and feature full i
t is. Sometimes we get excited at a new Foo components for Prototype, and then
we remember that GI has hundreds of components :)

TIBCO Screencast

November 17th, 2006

YAHOO! UI: 0.12 RELEASE

Version 0.12 of the YUI Library has been released:

  • The TabView Control: Written by YUI Animation and Dom author Matt Sweeney, this dynamic tab solution is the newest YUI addition and features robust support both for progressive enhancement and for high-gloss richness. Check out Matt’s roster of TabView examples for an idea of what the new control can do; view source on the examples to see how they’re implemented.
  • Improved Documentation: YUI developer Adam Moore (Event, Drag & Drop, Slider, TreeView) has created a new tool for generating API documentation, allowing us to generate unified, crosslinked API docs with an integral AutoComplete-powered search control. The new API documents provide developers with a clearer picture of class structures and provide separate categorization for properties and configuration options. You may never go back to Cheat Sheets again…
  • …But in Case You Still Like Cheat Sheets: Cheat Sheets are updated for version 0.12 and include new sheets for TabView and for Nate Koechley’s CSS Reset, Fonts and Grids foundation. You can download all the YUI Cheat Sheets from the YUI Library website.
  • Speaking of CSS Grids: Nate has rev’d the Grids package with baked-in support for 750px, 950px, and full-viewport ("liquid") layouts. Grids 0.12 triples the number of supported layouts and still weights in under 3KB before gzipping. We’ve built the YUI website on the Reset/Fonts/Grids foundation now and we’re making use use of the new full-viewport support.
  • Improvements Throughout the Library: There are enhancements to be found throughout the library, from Event’s new onContentReady method to a significantly improved Calendar Control with a simplified interface for creating multi-month calendar displays (if you’re upgrading from a previous version of Calendar, check out the step-by-step upgrade guide). For a full list of changes, see the release notes documentation that accompanies the distribution.
November 17th, 2006

ACAP: MAKING AJAX SEARCH FRIENDLY

Peter Illes has posted on direction wager crawlers within an Ajax application.

He discusses ACAP (Automated Content Access Protocol), a newborn start from the planetary business accord to invoke the challenges covering the business from scheme technologies (especially search) into opportunities in a win-win way, and as a lateral gist crapper support Web Applications out, too.

The equilibrise is that we hit the tools to do things much as robots.txt, hiding noesis via JavaScript, display assorted noesis to wager crawlers etc, but the crawlers aren’t stabbing on whatever of these techniques. If they encounter discover that you are bringing up assorted noesis to them, you crapper be in trouble, modify if you are doing it with beatific intentions.

This entry came meet before the Sitemaps initiative of Google, Yahoo, Microsoft, and hopefully others (e.g. Ask) in the future. Sitemaps is apparently beatific in theory. What module be engrossing to SEO folks module be to wager how it rattling affects things. Proof is in the pudding, so if grouping wager that the engines are rattling using this data, then grouping module garner it up more and more.

November 17th, 2006

JAVASCRIPT CODE INEFFICIENCIES FROM THE IE TEAM

Peter Gurevich has stepped up with another post on IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies.

The post is itself part one of a two parter, so this is 2.1 if you will, and covers inefficiencies in Javascript code:

Optimize String Manipulations by Avoiding Intermediate Results

Use Array.join('') over constantly += them together (as long as there is enough stringing going on (very rough: 7 - 13 values). A sample script that tells you the winner is included.

Running Code Using the ‘eval’ Statement is Expensive

The eval statement in JScript is both expensive in terms of performance and prone to error if the site is generating dynamically the script to be run. If you can remove it from your application you should do so. You’ll need to replace it with functional equivalents where the dynamically evaluated code can be simulated by changing the input parameters. This general wisdom not only leads to faster code in most cases but can also make your program more reliable and easy to understand. If arbitrary code is executing on the client machine it becomes hard to determine how it failed.

For those interested in the “why”, execution of an arbitrary string of script involves the construction of a new script runtime, copying the context of the currently executing script, manipulation of the runtime stack, and a bit of other work. This isn’t much different from running other code, but isn’t nearly as fast as writing the inline branching code to handle all of the possibilities of the dynamically generated code. There are obviously good uses for the eval statement, just examine your project thoroughly before taking a dependency on it.

Requirements of Eval for JSON Expressions

With JSON you will be using eval. Keep the data sizes small.

Switch Blocks are Linear Evaluation Tables

If you have a large switch it is best to break this down into a series of nested if statement comparisons, an array where you can perform a binary search, or my personal favorite a sparse array (hash-table).