Wednesday, July 26, 2006

 

Mozilla Firefox 1.5.0.5 has just been released

Firefox is rapidly working its way toward releasing Firefox 2.0, which at this point is just a couple of months off.

If the meantime, they have released an update to Firefox 1.5 - this one is Firefox 1.5.0.5.

Mozilla Firefox 1.5.0.5 Release Notes:
We recommend that all users upgrade to this latest version.


I assume everyone who has Firefox 1.5 knows they can update their browser in just a couple of minutes by pulling down the Help menu and choosing the Check for Updates... command.

However, it relaxes me to say it, so I do it anyway.
Technorati tags: , ,

Sunday, July 23, 2006

 

Drawing Graphics with Canvas - MDC

Few things on the page - be it printed or displayed - as as captivating and illuminating as graphics.

Apple and some other companies invented a neat addition to the now rather ancient HTML 4.01 standard last year. The addition is a new element for HTML/XHTML web pages. The element in question is the canvas element.

Apple rolled out their support for canvas in April 2005. It is part of Tiger (Mac OS 10.4). It is an important part; used in both Safari and the handy Dashboard feature that is one of the selling points of OS 10.4.

Firefox introduced their support for the canvas element later the same year, when they rolled out Firefox 1.5.

Now both browsers support it. That makes it worth using. In addition to making it easy for a programmer to create compelling graphics in the first place, it also enables those graphical creations to run on a wide variety of platforms:
  1. Windows 98 - Windows XP, and not doubt Vista when it is introduced next year or whenever
  2. Macintosh OS X


There is a simple introduction to the Canvas element for JavaScript programmers on the page cited below.

Drawing Graphics with Canvas - MDC:
With Firefox 1.5, Firefox includes a new HTML element for programmable graphics. is based on the WHATWG canvas specification, which itself is based on Apple's implemented in Safari. It can be used for rendering graphs, UI elements, and other
custom graphics on the client.


The home page for a longer, more in-depth Canvas tutorial can be found on the same site as well.

I had an idea a week ago for something neat that could be done with Firefox. It is not too hard to hit upon. Just think of one unique feature of the Firefox web browser, combined with the best known application of Canvas elements on the Macintosh platform, and there you have it.

I was struck with another use of Canvas elements - or SVG documents - this morning. This one would be easiest to work in a browser, though unlike the other one, it would not necessarily require it. However, by using the Canvas element, I think it would make it more accessible - more easily used/experienced by more people.

The former idea might actually be pretty useful. The latter idea, the one I cam up with this morning, is mostly whimsical and frivolous but you never know. It might actually have some useful applications as well.

Fortunately, Firefox can serve as the platform to realize both my visions. They are both graphical, mostly.

If I implement both using Firefox, the two could even conceivably be combined. It is a big country in that thar browser, ya know.


 

FireBug - modern debugging for a modernized web

Web tools have changed a lot since their birth a little over a dozen years ago.

If you look at the whole front of web development, not just one piece of it - it is a huge front that has been progressing steadily for years.

The first web browsers did not have:

AJAX
AJAX stands for asynchronous JavaScript and XML and that is just what it is. AJAX is like DHTML on steroids. Unlike back in the 1990s when DHTML was trying to make its way, the JavaScript DOMs used by leading browsers are more compatible, despite lingering fundamental differences. For the latter, today there exist very powerful libraries that separate JavaScript programs from these differences - while integrating them with the capabilities inherent in the modern browser web capabilities.
CSS
Cascading StyleSheets are rule-based instructions for controlling the visual appearance of a web page - be it written in HTML, XHTML, or constructed as a raw XML data/information document.
DHTML
DHTML stands for dynamic HTML. Very simply put, DHTML is the phenomena that occurs when a JavaScript program in a web browser manipulates the contents and/or structure of a web page by interacting with it as if it were a program data structure, through something called the DOM, the document object model.
DOM
Document Object Model; the hidden data structure of a web page - replete with both information and semantics, it is like a parse tree for a program. However, instead of describing a program - it describes a web page. JavaScript programs view the web page as a data structure; this data structure in particular, actually.
JavaScript
The scripting scripting for web browsers that resembles a highly extended form of the C language - which is really a dynamic language more akin to LISP under its covers. Many pages use it. It is the key to popular derived technologies such as DHTML and AJAX.
Java applets
Java applets are still supported in all major browsers, thanks to Sun's Java plugin. Through Netscape's LiveWire feature, JavaScript programs and Java applets can interact with each other - sharing the goods of each other's realms on a web page.
structured graphics
The web has had graphics since its inception or it probably would not have taken off the way it has. Modern web browsers include support for scalable vector graphics (SVG), which is another XML document standard - for graphical image drawings, graphs/diagrams, and illustrations. The canvas element that was introduced in 2005 is a way that JavaScript programs can draw images in a div element of a web page. Both canvas elements and SVG graphics can be directly controlled, manipulated, and generated by JavaScript programs in a web page.


Today's browser, Firefox in particular, has all these things going on for it. And JavaScript programs can see and interact with all these assets of sophisticated web pages.

This creates a lot more complicated environment than existed a decade ago.

So, there needs to be a web page debugging tool that not only sees the JavaScript and the traditional parts of the web page, but some of these relatively newer parts as well.

Fortunately, FireBug can and does see a lot of these directly. So you, the web programmer can too.

FireBug - JoeHewitt.com:
FireBug lets you explore the far corners of the DOM by keyboard or mouse. All of the tools you need to poke, prod, and monitor your JavaScript, CSS, HTML and Ajax are brought together into one seamless experience, including a debugger, error console, command line, and a variety of fun inspectors.

It is kind of interesting that someone has created a powerful enough tool to herd this menagerie of neat capabilities that have cropped up around JavaScript in the past eleven years.

JavaScript is enjoying its second decade of use now.

A useful debugger for JavaScript not only has to let one interact with and observe the execution of code. It also has to let one interact with and observe different aspects and views of the structured information of a web page that JavaScript programs operate upon.

FireBug does that.

FireBug lets you:
  1. Set breakpoints in a JavaScript program.
  2. Monitor runtime errors.
  3. Perform logging easily within a program.
  4. Perform unit testing with JUnit-like assertWhatever methods.
  5. Find definition errors in the page.
  6. Monitor events in the page, as they unfold. Given that many pages are interactive, there is a lot going on. Adding to that DHTML, and there is even more happening! Hard to debug what you cannot see directly, so now you can.
  7. Monitor AJAX requests by letting you observe the traffic they generate.
  8. Study and change the DOM for the web page directly.


Sounds like FireFox is a revolutionary tool.

Not everything is perfect in something so advanced, so early on, however. As the author of FireBug - and the Venkmen JavaScript debugger author too, as it turns out - points out: some of these capabilities are things that Firefox/Mozilla designer-programmers did not set out to support. And there are still some bugs in various parts of Firefox that get in the way of such a demanding tool as this.

I hope that Firefox's designers look hard at the need of this tool and Venkemen as they work on post-2.0 versions of Firefox. It would be great if they could see what they can do to make this guy's life easier - so he can do everything he can possibly think of to make web programmer's lives easier.

In the end, that is what makes users happier. Or at least makes it possible to bring them the utmost in exciting designs and powerful capabilities.

Saturday, July 22, 2006

 

XForms for Firefox (1.5) version 0.6 released last week

Fortunately, Firefox has pretty good support for web standards.

So it follows Firefox would have a project going to support the most powerful - yet simplest - GUI form standard from the W3.

On the surface, the old CGI forms that have been a mainstay of HTML/HTTP powered web browsers for a dozen years are just fine. It would seem they do all you need.

But they really do not. Hence, the proliferation of more complicated, sometimes irksome technologies like:

* AJAX
* DHTML
* Flash
* Java applets
* JavaScript (or its cousin, JScript)
* VBScript
* XUL/XBL

Suddenly, good old HTML forms do not look so good anymore - just old!

XForms was a brilliant idea someone had back in the late 1990s, when XML was quite young.

The idea was this: why not take the same MVC (model view controller) program design pattern that was so successful for creating word processors, spreadsheets, and graphics programs - and bring it to the world of data entry forms for the web?

That is exactly what XForms is. And since XML is a standard data format - with a lot of popularity as a data interchange format which enjoys lots of tool support - they chose XML as the format for exchanging the data between the client and the server.

The standard has been approved for years now.

All that remains is to put it into the browsers. And that is just what the Mozilla group is doing, with some financial and manpower support from IBM.

The XForms for Firefox author is Doron Rosenberg. He has also written a Gmail Notifier.

Mozilla XForms :: Mozilla Add-ons :: Add Features to Mozilla Software:
Mozilla XForms 0.6, by Doron Rosenberg, released on Jul 14, 2006

It seems like XForms is steadily closing on its goal of a final release soon. For the past year, every several months they have come out with a new point release.

XForms lets web page designers look forward to creating really nice-looking, smoothly operating forms without all the craziness that JavaScript/JScript/VBScript introduce.

No more dilemmas of what scripting language to use, whether to use Java applets or Flash or Shockwave. Fewer headaches for IT managers, more devices supported automagically for mobile/computer users.

Since XForms fully supports CSS, nobody leaves the HTML party empty-handed. In fact, XForms works fine with XHTML - as well as SVG. So, people are not losing a familiar web standard - they are simply gaining a better standard for information input forms.

Fortunately, Firefox is the first player in its arena to make that happen. And since it is free and works across the major operating systems, it really is the best one for the job.


Wednesday, July 12, 2006

 

Firefox 2 Beta 1 released for developers to begin testing

Fortunately, Firefox continues to be improved in 2006.

Mozilla Developer News: Blog Archive: Firefox 2 Beta 1 milestone released:
Firefox 2 Beta 1 is now available for download. This is the fourth developer milestone focused on testing the core functionality provided by many new features and changes to the platform scheduled for Firefox 2.


Some of the coolest-sounding features - to me, anyway - are:


Lest you get too carried away, note the caveat below taken from the page cited above:
Please note: We do not recommend that anyone other than developers and testers download the Firefox 2 Beta 1 milestone release. It is intended for testing purposes only.


In other words, this is not a build to play with in a carefree fashion. It is to do serious testing on, so the kinks can be found and gotten out before Firefox 2 is released to everyone at large.

If you don't want to try it, you can still look at it. Lifehacker has posted Firefox 2 beta 1 screenshots.


Tuesday, July 11, 2006

 

XML Namespaces Firefox 1.5 recognizes

Firefox recognizes a respectable number of XML namespaces now. Here is a brief list of them.

xmlnsstandardpurpose
http://www.w3.org/1999/xhtmlXHTMLgeneral purpose documents; text, prose, tables, images, lists, headings, forms, etc.
http://www.w3.org/1998/Math/MathMLMathMLmathematical expressions/equations/formulas
http://www.w3.org/2000/svgSVGscalable vector graphics
http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xulXULMozilla-specific user interface presentation and data entry form elements


There are also 7 non-visual standards supported as well. Here are the most commonly used 4 of them.

xmlnsstandardpurpose
http://www.w3.org/XML/1998/namespaceXML namespaceyou are looking at it right here!
http://www.w3.org/2000/xmlnsXML namespace (newer)namepaces
http://www.w3.org/1999/xlinkXLinkhyperlinks for XML documents
http://www.w3.org/1999/XSL/TransformXSLTXML stylesheet templates


See Firefox Hacks by Nigel McFarlane for more information.

This page is powered by Blogger. Isn't yours?

Hopefully, someday I will get this page to validate!