Archive for October 25th, 2006

CSS hacks

I know CSS hacks are just plain ugly and should be avoided at all costs, but sometimes its the best way to fix a problem with a certain browser. But will your hack affect other browsers too? If you ever wondered what other browsers will do with your hack there is a really nice reference: Will the browser apply the rule(s)?
Did you like this? Share it:

Hands on DWR

I’m so sad that I couldn’t see this speach:

Joe Walker (Getahead-DWR) and Bram Smeets (Interface 21-Spring) took a novel approach to their “Hands on DWR” talk at The Ajax Experience: Creating a game – “Multi Player Battleships” live in the session.

The concept was very well received – many smiles around the room when the idea was introduced. With Joe talking and Bram typing they took a pre-created boilerplate (configuration and some of the simpler tasks completed beforehand due to the time constraint) and turned it into a simple, but fully functional, multiplayer game.

I’m happy to report that I don’t have an awful lot to report regarding the complex inner workings of the application. Those familiar with DWR will find that the code contains few things unfamiliar or even ‘advanced’. As someone with only an intermediate DWR skillset – I had no trouble following the code Joe and Bram were creating. The final product was simple but functional – intentionally avoiding features that would improve the game but cloud the demo. Joe and Bram were able to hide from each other, fire, and even chat as they played. The code for the demo can be found here (near the bottom at the time of this post).

The most contested point was the use of “reverse ajax” to sync with the current server status at timed intervals. Reverse Ajax was introduced in v2.0 m1 (current stable release is v1.1.3) Concerns centered on potential security issues – Joe explained that they do as much as reasonably possible to stop malicious users, but in the end if you are a malicious user: there are many ways that you can bring the server down without DWR.

image stolen from this post on Joe’s blog where he also talks about the concept of developing the game live in a session

Especially because I’m currently using DWR for some minor projects and I just love it :)
Did you like this? Share it:

JSONRequest Proposal

Oops, I think I made the people over at Ajaxian angry :)
Yesterday they posted an article about the JSONRequest Proposal by Douglas Crockford and they all started dreaming about how nice a world with simple, easy to use objects would be, a world where every browser had the JSONRequest implemented…
JSONRequest is just a proposal (for now) and although I’d like to see it realised, it won’t in the next few years, or at least it won’t be adopted on a large scale for some time. Ajax isn’t easy, if we’d all go the easy way we wouldn’t have chosen Ajax in the first place. But its a good thing to dream :D
Did you like this? Share it:

Dojo 0.4 has been released

The Developers of the Dojo Toolkit have realeased their newest version 0.4. This might not yet be exciting enough, but they added a lot of new features, fixed many (really many) bugs. And there is another candy for Dojo Developers: the first release of the documentation tool.

Core

  • GFX library – graphics library (see demos and tests)
  • New charting engine, details To Be Announced.
  • JS Linker – essentially done as alpha release, won’t be integrated into dojo build process for 0.4 release
  • I18N Infrastructure
  • event normalization of keyboard events (new “onKey” event)
  • html-refactor
  • onDomLoad – dojo is initialized as soon as DOM finishes loading w/out waiting for images etc. to finish downloading
  • jum – Various enhancements being made in combination with new unit test runtime tool using rhino api directly. Unit tests can now be written and used on projects outside dojo. Semantics for grouping/setup/teardown/etc still being designed/thought about.
  • major dojo.lfx improvements. Wipe and fade animations are now chain()-able among other improvements.
  • 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.
  • dojo.debug.console – improved debugging with Firebug on FF/Safari, with fallback to Opera error console, if available.
  • HtmlDragCopy? – copy an element instead of moving it from source to target, with ability to specify if a copy can be copied again.
  • dojo.debug.console – console logger for Firefox (using Firebug), Safari and Opera. Deprecated dojo.debug.Firebug.
  • API documentation -inline code docmentation) added to many files.

Widget Infrastructure

  • Namespace support and refactoring of how to declare widgets, and automatic widget/manifest loading feature
  • high-contrast mode infrastructure, and support for a few widgets (checkbox and tab container complete)
  • subwidgets in templates
  • widget-refactor – changing everything to widget/ directory, etc.

Widgets

The roadmap has also been updated, showing 0.4.1, 0.5 and beyond.
Did you like this? Share it: