Sunday, November 23, 2008

Gentium & Bitstream Vera

Through CSS @font-face Firefox 3.5 adds the ability to download a TrueType font from the webserver. All web designers shall henceforth therefore incorporate all redistributable fonts into their library! :-)

Unfortunately, very few creators of fonts have been so generous to license their intellectual property as open source; blessed are Gentium and Bitstream Vera.

Giving preference and favor to using fonts in web design which are free for redistribution through the @font-face means can lighten the download weight of a webpage, and bring increased flexibility, by enabling your CSS/HTML builder to put copy directly in the HTML instead of only in raster image formats.

Thursday, September 25, 2008

width one thousand

2008 is the year of affordable 1440x900 screens for new PC buyers, but what is the display resolution of your audience?

75% of web users now have 1024x768 screens, so we can leave designing for 800x600 in the dust. But if you craft a website more than a thousand pixels wide, how much of your audience will you lose?

My read of w3schools' statistics leads me to think it's about two-thirds. So, whenever your graphic designer hands you a template exceeding 1024x768, push back. Just because s/he has dual 1440px wide screens is no excuse to inconvenience >half of your users.

Addendum: Drag this 1024 link from the page onto your Bookmarks Toolbar to create a "bookmarklet" that will resize your browser to 1024px.

Saturday, September 6, 2008

Google Chrome

This week Google went public with its secret Chrome gBrowser desktop application for Windows. Long incubated in hiding, it was born slightly premature - allegedly because the comic ad seeped out early.

We have all seen its CSS rendering before in Safari; the Chrome browser is built on Webkit (Apple's fork of the KDE's "KHTML" rendering engine used originally in the KDE Konqueror).  But its Javascript virtual machine, dubbed "V8," is brand new! Developed internally by Google team including Lars Bak (VM pioneer and former technical lead of Sun's Java VM HotSpot project) and Kasper Lund, it was opensourced under the BSD license. Google plans to port V8 to every major desktop OS, including Mac and Linux, and also of course to Android, which is launching soon on the T-Mobile/HTC Dream phone, just in time for the holiday sales.

The V8 VM competes directly with Microsoft Silverlight, Apple's SquirrelFish, Mozilla's TraceMonkey and Tamarin,  and indirectly with Sun's Java Virtual Machine (the granddaddy!), and Perl Parrot (incubating for a decade?).

Although the 800lb gorilla in the room is not innovating with these little guys, Internet Explorer is following close enough behind to keep market share. The Rest Of The World is competing for performance increases and technical advancement (and yes, for paltry market percentage points) in a way that will open up new possibilities for cloud-based web apps.

Everyone knows a paradigm shift will throw down the reigning king of the hill, and that one of those comes every now and again. Until then, the arts & sciences are advancing, which is a win for consumers, developers, and the American dream. Carpe diem.

Sunday, August 10, 2008

Mozilla Prism

Mozilla Prism (formerly known by names xulrunner or webrunner) is useful to web application developers who wish to create a site specific browser lacking all the menus, toolbars, and the usual chrome of a web browser. Prism will allow a webapp to more tightly integrate with the native OS and desktop user interface.

Mozilla Prism should become mature and useful in the Firefox 3.1 launch around January 2009, but there is a Firefox add-on you can try today (be forewarned: it is intended for developers not users at this point).

Mozilla Prism will compete with Adobe AIR. For a comparison read John Eckman.

Sunday, July 20, 2008

multiple CSS classes per element

This isn't a ground shaking blog. Just wanted to say that I think having multiple CSS classes per element is the best thing since sliced bread. That's all.

Tuesday, June 24, 2008

Tamarin cometh

While Microsoft focuses on an 3.1 incremental improvement for ECMAScript in IE 8, Brendan Eich (CTO of Mozilla and father of JavaScript) is developing the Tamarin ECMAScript engine from Flash (donated to open source by Adobe) for Microsoft's Internet Explorer, to ensure the world goes to the ECMA4 level with JavaScript 2.0 before 2009.

Clever, commissioning the same ActiveState developer whom Microsoft did (for Perl and Python engines) to wire their JavaScript into IE. Only the code is not just Mozilla's; it was born of Adobe, owner of Photoshop and Flash, who has motive & means for its worldwide distribution.

Addendum: See the difference.

Saturday, June 21, 2008

iPhone basics

iPhone
Although iPhone wallpapers are 320x480, its WebKit-based browser's viewing resolution is 320x396 (navigation buttons occupy the bottom, and address etc controls are on the top). The iPhone has no java (unlike Android) and no real Adobe Flash plugin, but Safari now has HTML5's offline storage support.

Sunday, March 30, 2008

The Android Platform

What are Sprint, T-Mobile, China Mobile, Samsung, Motorola, HTC, and LG doing together? They're members of the Open Handset Alliance developing phones based on Google's Android software for mobile devices (a complete stack including OS, middleware, and key apps).

The investor analyst press gave it the moniker "gPhone" since it was announced after the Apple iPhone launch, but the iPhone has little to fear from Android which seems aimed at the mass market for consumer phones. Apple has always been happy with their niche; Google on the other hand needs ubiquity to control advertising on as many screens as possible. (The threatened include Symbian, Palm, Windows Mobile and Danger Hiptop [Sidekick]).

Why should a web developer care? The "phone" as a browser client has an installed base of 3x that of personal computers, and in the post-iPhone era, the phone is no longer a "mini" platform but is actually richer and fuller than a PC client. It is also mobile, much more intensely personal, and many times more lucrative for digital products and services. And it's fun.

My initial perception of Android was that it was just like the other proprietary phone operating systems; I didn't realize it was built on Linux, SQL*Lite, and Java. It seems like it will be fun & easy to develop for.

OpenSocial

Yahoo joined the OpenSocial collaboration (launched in November 2007 by Google) this week, joining partners MySpace, LinkedIn, et. al.

Facebook is the 800lb. gorilla in the room not participating in the OpenSocial cooperative. Facebook received an equity purchase from Microsoft and is a formidable competitor to Google for eyeballs & ads. Shrewd move, Redmond, to create a wall of enmity between these two. But Google read a page from the GNU book of knowledge, opening their Orkut app API to be an open alliance with open standards & open source software.

You'll see criticism of how "open" OpenSocial is and how standard, too; this should be expected, and I'll watch how it all pans out. This group of (Google-led) companies is still trying to figure out how to interoperate with developers, while maintaining security and preserving the focus and mission of their communities and web properties.

How does this affect the webmaster? OpenSocial support could be integrated into web development frameworks like Zope or content management systems like Drupal. DrupalJedi says "all web site developers need to be familiar with this standard;" I agree that being aware is required; let's see how it grows.

Sunday, March 23, 2008

ECMAScript Edition 4

Web 2.0, Meet JavaScript 2.0 by Jeremy Martin
  • OOP at last? Are AJAX programmers really crying out for that? "Classes will provide far more flexibility through its many designators and directives (final, dynamic, extends, implements, etc.)"

  • static type checking - great for compiled code, but for interpreted? maybe they're planning on introducing a bytecode VM in the next edition, incompatible with .Net, JVM, and Parrot?

  • namespaces, constants, operator overloading, not null operator for DBMS interactions

  • program units look cool but why units, why not dynamically loaded/linked classes? I guess to permit non-OOP code to have units too.

It seems like a good portion of the developer community, along with other browser developers, are in disagreement on evolving JavaScript in the direction of Java, PHP5, and C#.

Why not just leave JavaScript non-OOP and add another language to the browser runtime (e.g. IE supports two, JS and VBA) called something like Livescript, thereby maintaining backward compatibility and freeing browsers up to begin again on the perfect client side Ajax language?

Tuesday, March 11, 2008

Offline Web Apps


Gears is Google's open source browser extension for developers to adapt web applications to run offline, providing

  1. local http server to cache and deliver resources (HTML, JavaScript, images, etc.)

  2. local database, to store and access data from within the browser

  3. a worker thread pool, to make JS code more responsive (by performing expensive operations in the background)

Although offline support will be built-in to Firefox 3.1, Firefox 3 and IE 7 (on XP or Vista or Windows Mobile) need the Gears add-on to run offline applications.

Why should Google fund the development of this offline app code development in the browser or add-on? Obviously, Google Apps in browsers will then compete with desktop applications like Microsoft Excel, Microsoft Word, Microsoft Outlook, Microsoft Exchange, etc. It brings the Netscape threat & promise of the web as the a platform (and Software as a Service SaaS) closer to reality, enabling web apps to run on a computer which is "undocked" from the network.

Why pay an IT department $250,000 per year to maintain an infrastructure, when Google costs alot less? This first consumer target is SOHO, micro capitalization companies, and small businesses. Google is giving away the client in order to dominate on the server.

I'd also like to see blogging websites be able to compose, spell check and save blog drafts offline (for upload on connect). Why not also photo gallery software, audio blogs, and even social network sites?

The flood is coming; the web is invading our offline world.

Why stop with offline; extend the paradigm to barely online (low bandwidth) caching, so the computer can catch up in the background. Mom will love that on her country modem dial up connection! Could this drive broadband ISP prices lower?

Friday, February 22, 2008

New Firefox


I've become a beta tester of Firefox 3, and I'm very impressed that it is more nimble. It also seems to be smaller and require less memory! If this was the only improvement, I'd be pleased, although I know there are more goodies beneath the hood; here are some highlights:


  1. Simple & elegant system for managing add-on's

  2. New "Places" system simplifies bookmarks and history, using SQL*Lite

  3. Increased security for downloads, tying in with virus scanners

  4. The gecko 1.9 rendering engine is now based on the Cairo vector graphics library

  5. CSS rendering passes the ACID2 test

  6. Better OS platform integration with Vista & Mac

  7. New thumbnail images for tab management, like IE7

  8. SysAdmin friendly features like silent install

RIP Netscape

EOL Netscape Dialog
AOL will let Netscape the browser rest in peace after this month; they're officially ending support for their product and helping customers to migrate to Flock or Firefox.

Some reader applications on your desktop (like Mozilla Thunderbird) can automatically pull news from an feed such as this one.