Archive for the 'Web Development' Category

No more support for IE6*

Tuesday, September 2nd, 2008

Following suite of one of my favorite web application, Basecamp, Telos Studios will no longer support IE6 by default. The web has evolved past old proprietary browsers like IE6, NN4, etc. It is time to stop the rat race of backward compatibility and to allow the modern web to be the default.

Ahh. I sigh a gigantic sigh of relief as IE6 is a pain in the ass to develop for.

*Kind of. We’ll still develop for it, but doing so will cost extra. This goes for Firefox 1.x and 2.x as well.

UPDATE - Google has just released a new code base for IE6 users. This is too bad. It really is time for IE6 to die. I don’t want IE6 users to feel justified in their continued use of the antiquated browser. Of course, with Google’s mountain of money and army of engineers they can take on nearly any web related problem and come up with a solution. Although, in this case, it took a patch to IE6 Javascript engine from Microsoft itself to make the new code base work right - and they had to leave out a few features like drop shadows and rounded corners.

1 Trillion Pages

Saturday, July 26th, 2008

They say that the world is a small place. While the physical world is finite and seemingly small place, the web is not. Google has indexed one trillion documents that are available on-line. Google engineers claim that another billion pages come on-line every day. That is a lot of pages. The online world may be getting larger, but thanks to the search engines it is seemingly smaller.

A quick review of MySQL Workbench

Monday, July 14th, 2008

I recently purchased MySQL Workbench Standard Edition to help me design databases and to reverse engineer the databases of open source projects that I build on and support. I figured insight into the open source projects workings would allow me to extend and support them better.

So far I have only reversed engineered two open source ecommerce projects: Zen Cart and Magento Commerce. Workbench did a great job of identifying the tables, and in the case of Magento building the relations between tables. The layout or autolayout of the results left plenty of room for improvement. I tried to make Magento DB layout better by moving tables around, but Workbench could keep up with the task. When moved, the tables would disappear and then reappear when dropped. If your lucky, the table would be in the neighborhood of where you wanted it. If your not lucky, it would stay put.

All in all, Workbench seems to be coming along but it isn’t ready for serious design work. I look forward to the day that it is.

UPDATE: MySQL Workbench can crash randomly. Make sure you save often. When it crashes, a dialogue box will appear to offer you the option of saving. Save. Do not click cancel. Upon canceling, Workbench will only proceed to crash making you lose all your unsaved work. It just happened to me.

UPDATE: I found a little problem with the SQL CREATE export. At the very end of the CREATE syntax, the table type is specified. For example:

ENGINE = InnoDB;

Sometimes the line is not terminated with a semicolon (;). If the line in improperly terminated, importing the .sql file on the command line throws an error: ERROR 1064 (42000).

Symfony (CLI) command line interface tasks

Wednesday, March 26th, 2008

A quick tip for deploying a Symfony 1.1 application. If you need a find a Symfony 1.1 CLI task, simply type

php symfony list

If you are like me and have a Symfony 1.1 installed and sym linked in a different location for testing purposes, you would type

symfony11 list

Setting up Symfony 1.1 on Ubuntu

Wednesday, March 12th, 2008

Following the lead of Niko at Prendre un Cafe, I decided that I wanted to experience the new features of Symfony 1.1. First, let me say that I can’t read French, but I got the gist of what to do from the well documented Symfony 1.1 setup steps that Niko provided. Niko’s installation technique allows Symfony 1.0 and Symfony 1.1 to be run in parallel.

Some of the new features of Symfony 1.1:

  • Configuration is moving away from the config.php file to a configuration class
  • Form and validation classes have been reworked
  • Better UJS support
  • CLI tasks as classes

I will investigating these changes over the next week or so as I build a test application to explore these changes. For now, though, here is how I installed Symfony 1.1 on Ubuntu. Once again this install process was greatly aided by a post at Prendre un Cafe. Thanks.

First, install Symfony 1.1.
cd /usr/share/php5 , this is where my Symfony 1.0x install resides.
svn co http://svn.symfony-project.com/branches/1.1/ symfony11

Second, hook up the CLI command symfony11 to the right place in the newly installed Symfony 1.1 and verify the command and install.
ln -s /usr/share/php5/symfony11/data/bin/symfony /usr/bin/symfony11
symfony11 -V

The symfony11 -V command should output something similar to “symfony version 1.1.0-DEV (/usr/share/php5/symfony11/lib).”

Next, create a test directory in your Symfony projects directory, generate a test project and an app.
cd /path/to/sf/projects/
mkdir sf11test
cd sf11test
symfony11 generate:project sf11test
symfony11 generate:app frontend

Edit your Apache2 virtual host file.

<VirtualHost *:80>
  ServerName local.sf11.com
  DocumentRoot "/path/to/symfony/projects/sf11test/web"
  DirectoryIndex index.php
  Alias /sf /usr/share/php5/symfony11/data/web/sf
  <Directory "/usr/share/php5/symfony11/data/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
  <Directory "/path/to/symfony/projects/sf11test/web">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>


Remember to change /path/to/symfony/projects and /usr/share/php5/symfony11/ to reflect your paths.

Finally, edit your /etc/hosts file to include local.sf11.com or whatever your fake domain happens to be.

You can now surf to local.sf11.com to see your newly installed Symfony 1.1 project.

Acid 3

Monday, March 10th, 2008

The Web Standards Project has released the third version of their Acid test. The goal of this test is to create a common testing framework to verify a browser implementation of web standards. The Acid3 test are organized in buckets and stress the following:

  • Bucket 1: DOM Traversal, DOM Range, HTTP
  • Bucket 2: DOM2 Core and DOM2 Events
  • Bucket 3: DOM2 Views, DOM2 Style, CSS 3 selectors and Media Queries
  • Bucket 4: Behavior of HTML tables and forms when manipulated by script and DOM2 HTML
  • Bucket 5: Tests from the Acid3 Competition (SVG,[5] HTML, SMIL, Unicode…)
  • Bucket 6: ECMAScript

From Wikipedia’s entry on Acid3

As of now, no browser passes Acid3. Anomalous Anomaly has tested numerous browser against Acid3 and found some pretty interesting results, namely that the old IE5.5 out performs both IE6 and IE7, but luckily not IE8, which comes in with a paltry 17% of the test passed.

Web round up #2

Monday, December 17th, 2007

Web round up #1

Tuesday, December 11th, 2007

I am trying something new. A periodic web round up of stories about the web. Here’s the first installment.


  • Users, Web developers vent over IE7
    - IE7 is definitely better than IE6. I hope MS keeps developing it and releasing patches and new version often. More browsers from MS might be a problem though. Because browser adoption rate is slow, this would lead to many more versions of MS. The development environment could become increasing complex.
  • Google apps get faster on iPhone - I am continually impressed with Google. They scare me, but I am impressed.
  • Facebook’s Zuckerberg: ‘We simply did a bad job’ handling Beacon - Is Facebook the new Corvair? Instead of safety devices, we need privacy devices.
  • ISPs intercept and modify web pages - Won’t copyright holders be upset that their content is being modified. This is a bad idea by the ISPs. I smell a lawsuit coming.
  • Preview of HTML5 on A List Apart - I am not sure what I think of HTML5. It seems okay, but it also seems like tag soup. I also assume its adoption rate will be slow because, from what I can tell, it will break backwards compatibility with existing browsers

That’s it for now. I’ll keep writing roundups as time and stories become available.

Javascript’s evolution: when two egos collide

Saturday, November 3rd, 2007

First off, let me admit that I don’t know much about the next version of JavaScript (ECMAScript Edition 4) other than it supposedly has some new language features that the current and past versions don’t support. This is no surprise. Unfortunately, it is also no surprise that Mozilla and Microsoft disagree over JavaScript’s evolution. The heart of the disagreement is that Mozilla’s Brendan Eich wants to add functionality and features to the language, Microsoft’s Chris Wilson wants to create a new language.

As a web developer this is disappointing. It has a stench of the days when Netscape and Microsoft both decided that they knew best and implement incompatible HTML rendering engines. I hope both Brendan and Chris work out their differences and create a better language for us web developers to use.

Here are some links to more information about this disagreement:
Proposed ECMAScript 4th Edition – Language Overview (PDF)
IEBlog: ECMAScript 3 and Beyond
Chris Wilson: What I think about ES4.
Print Me: ECMAScript 4, the fourth system syndrome
Brendan’s Roadmap Updates: Open letter to Chris Wilson

Creative Block BB won’t sIFR

Thursday, September 20th, 2007

A project that I am working on uses the font Creative Block BB for its headlines. I use sIFR for these situations. Unfortunately sIFR3r278 won’t work with Creative Block BB. I have tried creating the swf file from Flash Pro CS3 and from OpensIFR, neither work. More exactly, both encode the swf fine (OpensIFR with a reduced font set) but don’t work within a web page. I have tried other fonts, they work fine.

After a bit more testing I have found that Creative Block BB will render with sIFR2.0.3 but only when the swf file is encoded with OpensIFR. The solution is only partial though because Creative Block BB can’t be encoded with a space character, thus the rendered text doesn’t have a space. This is no good. If I had Fontographer or other font creating software and knew how to use it, I would try adding the space character to the font. I guess it is time to find another font.