Activate your free membership today | Log-in

Friday, February 11th, 2011

Using HTML5 sensibly and multimedia on the web

It is high time developers take back HTML5 from the marketing people, says Chrisian Heilmann. “HTML5 is the evolution of our web technologies, not another flashy add-on to already badly used outdated practices,” he writes in a blog posting that includes illuminating slides.

Posted by jvaughan at 10:29 pm
Comment here

Tuesday, February 1st, 2011

Prism work makes way for Chromeless effort

Category: Mozilla

Mozilla Labs announced it will no longer maintain the Prism project. Attention instead will focus on the more general Chromeless project, which also is a ”task-focused layer” running on top of Mozilla’s XULRunner runtime environment. In a blog entitled “Prism is now Chromeless,” Lloyd Hilaiel wrote: “The final change we’re announcing today takes the form of widening of the goal of the Chromeless project, that is specifically, we now want to make it possible to build desktop applications with Web technologies. “

Posted by jvaughan at 9:50 pm
Comment here

Tuesday, January 18th, 2011

HTML5 Gets a New Logo

Category: Announcements

HTML5 Logo

That’s all we needed, really, a new logo. Does anyone else feel the need to have this stitched onto a leotard with a cape? ;-)

Posted by Dietrich Kappe at 10:07 am

Thursday, January 13th, 2011

Smart GWT 2.4 Released

Category: GWT, iPhone

Smart GWT 2.4 has been released and, as expected, they are jumping on the HTML5 and iOS/Touch bandwagon. The fact that the touch support doesn’t require code changes for existing apps is most welcome. Also, the mention of the upcoming Smart GWT Mobile with “pixel perfect iOS look and feel” sounds intriguing. Many have tried, few have succeeded.

From the release announcement:

  • GWT 2.1.1 Compatible
  • Smart GWT QuickStart Guide
  • Touch & Mobile support : Support for iPhone, iPad and iPod touch devices with no code changes required.
  • Offline support : The Offline subsystem provides features for storing and retrieving values in persistent browser storage. It is also seamlessly integrated into the normal DataSource request/response cycle. With a single property DataSource.useOfflineStorage you can enable automatic offline caching of recently fetched data so that if a user goes offline they still have access to last data they viewed.
  • User Defined data highlighting allows users to highlight important or unusual data values in a ListGrid or TreeGrid based on dynamic user defined rules instead of hard coding such logic for background and foreground cell colors within code. A Highlight Editor allows end users to fully configure such highlight rules to customize their view of the data.
  • Advanced Hover components allows any UI component to be added as a hover, such as a grid, chart or even a layout combining several components when hovering over a ListGrid or TreeGrid row.
  • Simplicity theme : A new ultralight skin that is easily customizable and virtually image free. This can be viewed by selecting the “Simplicity” theme from the dropdown in the Showcase explorer.
  • IE Performance improvements : Performance improvements have been made across the board but some IE specific performance enhancements have been made and users can expect a significant improvement in responsiveness in IE.
  • 24 hour Calendar support : The Calendar component now supports 24 hour time formatting.

Posted by Dietrich Kappe at 12:12 pm
Comment here

Friday, January 7th, 2011

People of HTML5 – Bruce Lawson

Category: Mozilla

The Mozilla folks including Mozilla Evangelist Chris Heilmann thought it a good idea to introduce some “People of HTML5,” starting with Bruce Lawson of Opera, co-author of “Introducing HTML5″ and one of the curators of HTML5 Doctor.  Among the most vivid new technologies of the moment Lawson cites:

…DAP (“Device APIs and Policy Working Group”). This thrillingly-named set of specifications is further extending the capabilities of the Web by specifying APIs that allow access to device features like camera, contact books and calendar — much like Geolocation gives browsers access to the device’s GPS capabilities.

Posted by jvaughan at 4:44 pm
1 Comment

Android 3.0, Honeycomb

Category: Android

At the Consumer Electronic Show (CES) in Las Vegas, Google showed Android 3.0, Honeycomb.

It is the next version of the Android platform, designed for devices with larger screen sizes, such as tablets.  Honeycomb is said to provide a “truly virtual and holographic user interface.”


Posted by jvaughan at 4:41 pm
1 Comment

Json.NET 4.0

Category: .NET, JSON

Per James Newton, the latest Json.NET release targets .NET 4. Json.NET 4.0 comes with a Windows Phone specific dll, compiled using Windows Phone tools. A .NET 4 feature employed is the dynamic keyword, which allows variables and members to be statically typed as dynamic.  Json.NET 4.0 adds support for dynamic keywords in a couple of areas.

The first and less visible of the two is in the JsonSerializer. Because there is no static list of fields or properties for a dynamic type the serializer interrogates the value for its members prior to serializing and deserializing. The end result is serializing should Just Work for any type that implements IDynamicMetaObjectProvider.

Posted by jvaughan at 4:37 pm
Comment here

Thursday, December 9th, 2010

New Version of qooxdoo out the door. v1.3 == New Features, v1.2.2 == Bug Fixes

Category: Qooxdoo

The Open Source JavaScript framework qooxdoo just shipped two new releases 1.2.2 and 1.3. While the first one is a regular bugfix release, the latter one includes substantial improvements across almost the entire range of the framework. Some highlights of the 1.3 release:

  • New virtual List widget to visualize even huge data sets with supports advanced features such as single and multiselection, filtering, sorting and grouping, custom renderers
  • New widgets and UI features (Tri-state CheckBox, ProgressBar, Toolbar with overflow handling, …)
  • New experimental unit test runner with lightweight UI called Testrunner2
  • Support for touch-enabled devices
  • Deep integration of automated GUI testing with Selenium
  • New qx-oo package for non-browser environments like Rhino or node.js
  • More than 360 bugfixes and enhancements over the previous release

You can see lots of screenshots of these new controls and test out the features at the qooxdoo blog.

Posted by Rey Bango at 11:43 am

Monday, December 6th, 2010

JavaScriptMVC 3.0 Released. New Features and Standalone Subprojects.

Category: JavaScript

Jupiter IT announced today the release of v3.0 of JavaScriptMVC, their OSS framework for enterprise-scale applications. The release encompasses a bevy of new features which touch on testing, Less and CoffeeScript support and enhanced documentation. The features/updates mentioned include:

  • FuncUnit – Web Testing Framework
  • Stand Alone Sub Projects – You can download only the tools you need
  • Multi-Page builds – Optimize builds across multiple pages
  • Less and CoffeeScript support – Use Less and CoffeeScript without having to refresh your page.
  • New Folder Structure – A revamped file structure that makes it easier to build modular applications.
  • Learn-ability – Much better docs, examples, demo, etc.

This new release also breaks out the framework allowing for individual subprojects which can be used independently instead of needing the whole framework. Each has their own github repo, documentation and support.

With 3.0, every part works standalone. So no matter the project, you can start benefitting from JavaScriptMVC’s goodies.

Big steps have been taken to improving the learning experience and getting developers up-to-speed. This includes:

Posted by Rey Bango at 2:24 pm

Sunday, December 5th, 2010

XML versus the Web again

Category: JSON

At least in terms of cool Web stuff, JSON replaced XML long ago. But the story keeps trickling down. Semi-pivotal events appear to be recent moves by Twitter and Foursquare to remove XML support from their Web APIs, settling solely on JSON. In the wake, no less than XML crew member James Clark has taken a slightly more appreciative stance on JSON. XML grew too complex, he admits. It doesn’t work well with programming language data structures, he concedes. Still, the occasion is also an occasion for some equivocating, or whimsy. He wonders if there is a place for XML in the brave new Web world of the future.
Buy Microsoft Windows 7 Ultimate OEM
Writes James Clark:

… I think the Web community has spoken, and it’s clear that what it wants is HTML5, JavaScript and JSON. XML isn’t going away but I see it being less and less a Web technology; it won’t be something that you send over the wire on the public Web, but just one of many technologies that are used on the server to manage and generate what you do send over the wire.

And he continues:

…In the short-term, I think the challenge is how to make HTML5 play more nicely with XML. In the longer term, I think the challenge is how to use our collective experience from building the XML stack to create technologies that work natively with HTML, JSON and JavaScript, and that bring to the broader Web developer community some of the good aspects of the modern XML development experience.

XML vs the Web – Clark’s Random Thoughts blog

Posted by jvaughan at 3:53 pm

Monday, November 29th, 2010 – The Mailing List to Learn JavaScript

Category: JavaScript

There are a number of resources on the Internet for reading up on JavaScript but very few viable options for actually exchanging ideas with extremely knowledgeable JavaScript developers, especially when it comes to just wanting to know about JavaScript itself and not a specific JS library. This was a pain point I (Rey) personally felt when I wanted to learn more about the language and be able to have “mentors” that could help me better understand JS and ECMAScript.
Buy Adobe Photoshop CS5 Extended
After chatting a bit with JavaScript expert Asen Bozhilov about this, we decided to fill that hole by launching a new mailing list called JSMentors that allows developers to get to know the language and find the expert guidance in a friendly and professional environment. The list offers developers a place to:

  • Discuss ECMA-262 standard
  • Discuss different implementations of ECMA-262
  • Discuss different host environments of JavaScript
  • Discuss implementation of algorithms in JavaScript
  • Discuss your library design
  • Review your code
  • Review your book on JavaScript topic
  • Review your article on JavaScript topic

We also wanted to provide a list that was professional, courteous, and friendly to developers of all skill levels. Too many forums, newsgroups and lists look down on beginners or questions deemed too introductory and we wanted to ensure that JSMentors didn’t fall into that same hole. So we created a set of simple rules. Via the JSMentors mailing list you must not:

  • Insult other subscribers
  • Post racism
  • Spam publications

So far it’s been working great and developers are getting the mentoring that they desperately want and need. And the great thing is that the mentors are a who’s-who of the JavaScript world. Check out this list:

  • Garrett Smith
  • Juriy Zaytsev a.k.a. kangax
  • Dmitry A. Soshnikov
  • Steven Levithan
  • John-David Dalton
  • Stoyan Stefanov
  • Benjamin Rosseaux a.k.a. BeRo
  • Diego Perini
  • Angus Croll
  • Peter van der Zee
  • Christian C. Salvadó
  • Peter Michaux

One important thing to note is that the main focus of the list is the JavaScript language and while you can post about JavaScript libraries, you’re more likely to get a better answer in a library’s specific support forum or list than on

Asen and I would like to invite developers to join and create a productive list to help everyone become better JavaScript developers and help push the web forward.

Posted by Rey Bango at 9:32 am

Sunday, November 28th, 2010

HTML5 Web Messaging

Cross document messaging is addressed in a recent HTML5 Web Messaging Working draft from the redoubtable W3C. The proposed messaging system is said to “allow documents to communicate with each other regardless of their source domain, in a way designed to not enable cross-site scripting attacks.” For more on the w3C draft, go to its HTML5 Web Messaging page.

Posted by jvaughan at 3:16 pm
Comment here

Wednesday, November 17th, 2010

IE9 Chakra JavaScript Team Hosting a Q&A Session Tomorrow

Category: Browsers, IE, Microsoft

The IE9 team announced that they’ll be hosting an open Q&A session via Twitter where developers can ask questions to the Chakra engineers about the new JavaScript engine.

In conjunction with the release of Platform Preview 7, we wanted to give the community the opportunity to ask questions of some of our IE and Chakra engineers. So we’re going to host a 2-hour Q&A chat on Twitter tomorrow morning beginning at 9am PST.

They’ll be fielding questions starting tomorrow Thursday, November 18th from 9-11am PST and you can participate by sending your questions to @ie and using the hashtag #ie9.

Check out the blog post for full details of the Q&A session.
Buy Cheap Adobe Creative Suite 5 Design Premium
Full Disclosure: I work for Microsoft.

Posted by Rey Bango at 2:56 pm

Friday, November 12th, 2010

HTML5 forms validation in Firefox 4

Category: Firefox, JavaScript

Mounir Lamouri looks at native browser-side form validation in Firefox4  – while re-iterating the need for re-validating on the server-side too. The objective of the browser-side form validation is to relieve JavaScript of the need to do a lot of basic form checking. Lanouri writes:

”All new input types introduced with HTML5 forms except search and tel benefit from internal validation.
Firefox 4 is going to support email and url and the validation will check if the value is a valid email or url respectively.”

Also discussed is added pattern matching support and a new pseudo-class that applies on submit controls when a form has an invalid element.

Posted by jvaughan at 3:20 pm

Thursday, November 11th, 2010

Firefox 4 Beta

Category: Android, Firefox, Mobile

A new beta for mobile this way comes. Outstanding issues addressed include reduced memory usage, improved text rendering install size reduction on Android.

Posted by jvaughan at 2:33 pm

Tuesday, October 26th, 2010

Adding fibers to your server side v8 diet offers efficiency and clarity

Category: JavaScript, Library

In computer science, a fiber is a particularly lightweight thread of execution.

Like threads, fibers share address space. However, fibers use co-operative multitasking while threads use pre-emptive multitasking. Threads often depend on the kernel's thread scheduler to preempt a busy thread and resume another thread; fibers yield themselves to run another fiber while executing. The article on threads contains more on the distinction between threads and fibers.

Fibers describe essentially the same concept as coroutines. The distinction, if there is any, is that coroutines are a language-level construct, a form of control flow, while fibers are a systems-level construct, viewed as threads that happen not to run concurrently. Priority is contentious; fibers may be viewed as an implementation of coroutines, or as a substrate on which to implement coroutines.

The above is taken from Wikipedia, which is discussing the computer science concepts behind fibers.

Why do we bring this up? The Asana team (who we featured when they came out with LunaScript) continue their quest to make an ergonomic, productive, and performant framework for the Web.

Today they are discussing their patch to v8cgi that adds in support for their own fiber implementation.

It all ends up with this:

Few languages support fibers natively (though support was recently added to Ruby). We write most of our server code in JavaScript and run it under Google’s v8 engine, the same JS runtime that Chrome uses. Fortunately the v8 codebase is excellently structured, so we were able to add fiber support in just a few days. Our changes take the form of a patch (currently pending review) to v8cgi, a library of server-oriented extensions to v8.

Here’s a sample of the API:

  2. // Make a new fiber. The fiber will run the provided function.
  3. var fiber = new Fiber('name', function() {
  5.   // ...
  7.   // Make another fiber runnable.
  8.   some_other_fiber.becomeRunnable();
  10.   // Suspend the current one.
  11.   Fiber.current.suspend();
  13.   // ...
  14. });
  16. // Make the new fiber runnable. It won't start until the current fiber suspends
  17. // or joins.
  18. fiber.becomeRunnable();
  20. // Wait for the fiber to finish.
  21. fiber.join();

That’s almost the entire API. We don’t need any synchronization primitives because only one fiber runs at a time and control only changes when suspend() or join() is called.

There is a tension between writing clear, well-abstracted code and writing code that makes efficient use of the database. Adding fibers to v8 allowed us to resolve this tension. In taking a small amount of time to solve this problem “right” up front, we’ve made our entire engineering team more efficient for the long run.

Read the post to get the background, and to see the refactoring that is done to get to this place.

Asana seems to be really enjoying rethinking the world of Web frameworks. I can't wait to see their products!

Posted by Dion Almaer at 11:03 am

Next Page »