For UI professionals, the process of visually prototyping an application is a cornerstone in the design process. The challenge has always been to find a tool that will allow us to quickly develop visually detailed, and hopefully somewhat interactive, wireframes and mockups.
Outside of a few incredibly expensive applications, however, there are only a few really versatile options available to UI professionals. The ideal solution would be an application that allows UI pros to quickly wireframe interfaces, then populate the wireframes with high quality graphical elements to create a near-pixel-perfect mockup, share a graphical library with colleagues which can be independently updated and which could automatically propagate changes to dependent mockups, and finally allow for some interactive elements that could demonstrate actual interaction scenarios and allow developers to “experience” the interactions we are designing. Of course, the ability to easily translate a mockup directly into some workable, skeletal code would also be delicious.
Read the rest of this entry »
Tags: design, interaction design, ui
Posted in UI Design | 2 Comments »

The Dojo Toolkit now has support for multi-file uploads, thanks to the new Deft project. The dojox.form.FileUploader class embeds a hidden SWF file in the page which, when triggered, will open a system dialog that supports multiple file selection, and also file masks, which allows the user to filter their selection by file type.
Read the rest of this entry »
Tags: Deft, Dojo, dojox, Uploader
Posted in Dojo, JavaScript, Open Source, browsers | 5 Comments »
The AIR platform defines distinct sandboxes for trusted and untrusted code, and provides a way to talk securely between each sandbox via sandbox “bridges”. This is a lynch-pin in the web-meets-desktop strategy that AIR embodies, but it can also present some of the trickier development challenges, with plenty of head-banging opportunity. I’ll share a few tips to help you avoid those head/keyboard collisions.
Read the rest of this entry »
Posted in JavaScript, offline | No Comments »
SitePen’s Support service is built using a variety of interesting techniques and technologies. Read on to see how we built a system that treats the web browser as a real client tier and bridges the worlds of JavaScript, Python and PHP seamlessly to provide a great experience for our customers.
Read the rest of this entry »
Tags: Dojo, helpspot, JavaScript, php, python
Posted in Cometd, DWR, Dojo, Support, ajax | 3 Comments »
The new windowName module (dojox.io.windowName) now includes support for resource authorization as Neil Roberts described in his article on xauth. Now the windowName module can be used with a window.name enabled resources for simple (direct) access as well resources that require an authorization step.
Read the rest of this entry »
Tags: window.name, x-domain, xauth
Posted in Dojo, ajax | No Comments »
A new top-level package was recently added to the Dojo Toolkit called Deft — an acronym for Dojo Experimental Flex Technology. The Deft package was created and is maintained by SitePen’s Tom Trenka, taking advantage of Adobe’s new MPL licensing, and the corresponding APIs of the Flash Player. Most articles focus on Adobe’s Flex Builder, which isn’t open source or free. The majority of articles about Flex and the Flex Builder also put an emphasis on components developed using a combination of ActionScript and XML-based description files, known as MXML.
Instead of taking this approach, Deft focuses on ActionScript components created in support of the various projects within the Dojo Toolkit (mostly for DojoX). Deft source files are well organized based in part on the organization of other Dojo Toolkit projects, as well as the package structure required by the Flex compiler. Most Flex applications are based on the Flex AS3 Application class, which forces you to write at least one “controlling” MXML file in order compile your code. Instead of this, Deft components inherit primarily from the Sprite class — which allows you to write pure ActionScript code.
Read the rest of this entry »
Posted in Dojo, Open Source, Vector Graphics | 17 Comments »
The upcoming Dojo 1.2 release features a new comprehensive framework for building secure mashups with the dojox.secure project. This new project includes all the components necessary for safely loading untrusted code, advertisements, content, and widgets from other domains, validating that it is safe to execute, and providing a sandboxed environment and controlled subset of the DOM to interact with. Using traditional means, loading scripts from other domains is a great security vulnerability, every script has full access to the JavaScript environment and DOM of the source page. The alternate approach has been to use iframes, which greatly limits UI integration and programmatic interaction. With dojox.secure, untrusted scripts and widgets can be safely loaded directly into a web page with fine grained sandboxing of their capabilities, while still allowing them to access a controlled subset of the DOM and JavaScript environment.
Read the rest of this entry »
Tags: adsafe, secure, xdomain
Posted in Dojo, JavaScript, ajax | No Comments »
Several new technologies are coming out for accessing resources from other sites. IE8 will include the XDomainRequest and the W3C is finishing the access control specification for enabling cross-site access for XMLHttpRequest, which will probably be implemented in next major release of all browsers, including Firefox. However, it will certainly take a long time for these new technologies to become pervasive enough to use them reliably and exclusively. Is there any way to leverage this technology immediately when these browsers are released? Yes! With Dojo’s new XHR plugin system, you can start making cross-site requests right away, using the new technologies when available, and a proxy server as a fallback, all while using the familiar dojo.xhr* methods. Your source code can still use this simple API while the registry can handle choosing the appropriate underlying transports for the situation.
Read the rest of this entry »
Tags: x-domain
Posted in Dojo, JavaScript, ajax | 5 Comments »
Google and Yahoo have JavaScript APIs that let you perform searches. Wikipedia has a JavaScript API that lets you grab data from its pages. These APIs can be accessed cross-domain with a transport method known as JSONP. JSONP works by allowing you add a script tag to your page which points to a URL on their server. The server outputs JavaScript that will call a method (defined as part of the query string in the URL), passing it JSON-formatted data.
You’ll notice that these services are read-only. I don’t currently know of any cross-domain JavaScript APIs that allow you to write data in any meaningful way. An example of this sort of data would be a way, through JavaScript, to update your status on a social networking web site.
Read the rest of this entry »
Tags: cross-domain, window.name, x-domain
Posted in Dojo, JavaScript, News, ajax | 8 Comments »
The Persevere server is an open source JSON application and storage server. Persevere pairs well with Dojo; the Dojo Data paradigm has a strong correlation to Persevere’s data storage structure. Virtually everything you can create or action you can perform with Dojo Data can be persisted in Persevere’s data storage including subobjects, arrays, circular references, and functions. Combining Persevere with Dojo allows you to rapidly develop simple database applications with create, read, update, and delete (CRUD) capabilities with minimal effort.
Read the rest of this entry »
Tags: comet, Dojo, Persevere
Posted in Dojo, JavaScript, ajax | 1 Comment »