2003-10-08

Sitepoint.com about CSS Positioning

I almost missed this one, but Sitepoint.com has published an article about CSS 2 positioning: CSS Positioning Properties At-A-Glance Guide.

By Nigel Peck: "This article is aimed at experienced CSS developers who need a reference for the properties related to positioning in CSS 2. Each section of this article includes a link to the relevant section of the CSS 2 Specification."

A nice article that summerises what can be found in the W3C Cascading Style Sheets, level 2
CSS2 Specification
concerning CSS Positioning.

Microsoft about to change Internet Explorer

In response to the ruling in the patent case from Eolas Technologies against Microsoft Corporation, Microsoft has published information for web developers who use ActiveX controls and Java Applets in their website and developers who host the Web Browser OC or MSHTML. As I don't use Web Browser OC or MSHTML technology, I will only discuss the changes for ActiveX Objects and Java Applets here.

The ruling affects every page that uses ActiveX controls or Java Applets, unless they are dynamically created or don't reference remote data.
In that case the new or updated Internet Explorer will show a pop-up asking the user if he wants to continue loading the page. Also an extra option in the Advanced section of Internet Options will allow users to select if they want to disable these controls by default.

This leaves the web developer of affected sites with 2 options:
1. Do nothing and loose site visitors as they run away from pop-ups and unrendered content.
2. Create pages that are not affected, meaning either replacing the ActiveX objects and Java applets with alternative content, or having them meeting 1 of the 2 exceptions.

Of course, you should go for number 2:
This might be a good occasion on refreshing your site and removing all the 'fancy' and 'flashy' stuff with real content that doesn't scare the users. This might in a lot of cases be a good thing, as sites need updates from time to time and you should try to avoid animations and Flash effects if they don't add any real value to the user experience.

Now, howto?
Again, Microsoft leaves us 2 options:
1. Provide data inline.
2. Create controls in script.

The first one is, technically spoken, the safest, but could again affect the user experience. Internet Explorer determines if an object uses external data. For OBJECT tags with no PARAM this is always the case. But this means that the required object has to be available on the user's system, either provided by the operating system or installed with software. If the OBJECT tag uses PARAM, you can add an extra attribute to the OBJECT tag, NOEXTERNALDATA, and set its value to "true" resulting in the browser not loading any external data. As an alternative to this, you can provide the data inline, which is no alternative to remote loaded dynamic data. This option is only valuable in controlled user bases, like intranet environments.

The second option is the easiest one: Just place your HTML tags in document.write() JavaScript code and you're safe. This gives you the extra possibility to provide alternative content if scripting is disabled (what you should always do if you use JavaScript).
I think most developers that use affected objects in their pages will go for this solution as it's the easiest one, without major changes to their pages. Even more, it won't take long until anybody writes a script or small program that replaces the OBJECT tags inside JavaScript document.write()'s. So the transition will take just a few mouse clicks (and some testing of course).

The last solution really surprised me as in essence both are the same: OBJECT tags in HTML code or so called 'dynamic' OBJECT tags in JavaScript document.write() code, resulting in the same HTML source code.

I also think that this might convince the few users that have JavaScript disabled in their browsers to enable it and not only give them the full user experience of 'fixed' pages, but also a lot of other features that are provided by JavaScript. But that are usability issues I don't want to discuss now.

The documentation:
Information for Developers about Changes to Internet Explorer
Changes to the Default Handling of ActiveX Controls by Internet Explorer
Handling ActiveX Controls in WebOC and MSHTML Hosting Applications
Test the Pre-Release bits: IE 6 Update v.01

Other companies have also published information and guidelines on how to implement the changes:
- Apple Computer Inc for QuickTime:
Apple recommends the JavaScript solution as well, and also an improved JavaScript solution for multiple occurrences of embedded content. You can download ready made JavaScript files. They also mention that if users have JavaScript turned off, they won't see anything at all, but they add that (mainly Internet Explorer) users who have JavaScript turned off, most of the time also have ActiveX disabled. So they aren't affected by the changes at all.
Creating the Best User Experience for Active Web Content
Preparing Websites with Active Content for Upcoming Changes to Internet Explorer for Windows
Authoring Websites for Compatibility with Internet Explorer for Windows FAQ

- Macromedia for Flash:
Macromedia also recommends the easy JavaScript solution for a small amount of embedded objects. For a larger amount of embedded objects, they also provide you with a small JavaScript library that you can download. Macromedia have the same remarks of the 'JavaScript Turned Off' problem but they add their concerns for people who have disabled JavaScript, but have ActiveX enabled, who will see nothing.
And, as I suggested above, Macromedia is working on a set of tools that will do the transition for you, including command line tools, GUI tools and web server plug-ins. They are developing these tools under Open Source license, so you can change and extend them as you want.
Active Content Developer Center
Preparing Websites with Active Content for Browser Changes
Summary of Solutions to Update Websites with Active Content
Information for Hosting Providers
Active Content FAQ

- RealNetworks: RealAudio and RealVideo:
And surprise, surprise RealNetworks recommends the same solutions as Microsoft, Macromedia and Apple and also provide a small JavaScript library and example files.
RealNetworks also promises to provide additional suggestions for handling cases where JavaScript is not available.
Internet Explorer Changes

The first user/web developer comments:
Comments vary depending on the mailing list or group you're reading. But some laugh you in the face when you experience troubles using ActiveX or Java Applets. Wake up "Martin van Dijken" , not only Microsoft lost the patent ruling case, but all web developers are taken the freedom to choose which technology to use in their web pages to and the freedom to choose how to interact with their users. Some people are able to develop advanced applications that only need a web browser to run in and take the user experience far beyond static web pages only text and hyperlinks.
My opinion, and some others, is that we will see a lot of 'OK' boxes pop-up in the near future and that those home-made websites with nifty-nafty effects will loose their visitors in no time, unless they fix their pages (if they can to) or throw away the effects and show us what it's all about: content.

Quote: "Microsoft expects that new computers and retail purchases of Microsoft Windows XP will have this behavior sometime early next calendar year. Microsoft also expects that new service packs of Windows XP and Internet Explorer will have this behavior starting sometime after that."
Be prepared!

[UPDATE: Wed Oct 08, 12:54:17 AM]
Peter-Paul Koch has written a test page to test the proposed solutions and the proposed update to Internet Explorer. He also added some of his own comments too.

Neowin.net about Mozilla Plugins, AKA Mozilla Extensions

Neowin.net sums up the essential extensions, they call them plugins, to Mozilla Firebird in this article. Now that Mozilla is moving closer to the Mozilla Firebird 0.7 release, it gives a nice idea about how the lightweight browser can be extended with about as any functionlity you want. And the nice thing is: if there isn't an extension available between the tens and hundreds that have already been written, that suits your needs, you can write it yourself!

To the list that they give I would like to add my favorites:
- Tabbrowser Extensions: Adds about every functionlity you can imagin to tabs and the tabbar: auto-reload, drag-and-drop, tabgroups, reload on double-click, and many, many more... A great, no I call it an essential, extension by Shimoda Hiroshi
- Google Bar: does what http://toolbar.google.com does for IE, for Mozilla. I don't think further explanation is needed, by GoogleBar Team.
- StyleSelector: Nice extension for web developers who want to sea how their site looks with different stylesheets, or with no stylesheet at all. Multiple stylesheets are only supported by Mozilla based browsers. By Stephen Clavering.

Try them and you can't live (read: browse the web) without them.

2003-10-06

Back In Town

After 2 weeks of (well-deserved) holiday, I'm back in business.
I've used these 2 weeks to relaod my batteries and think about some things I was doing professionally. Sounds heavy, but I had to do something since I can't just drop myself on the beach and lay there for a whole day, so...

I've studied something about the MVC Pattern and other PHP development related stuff. I got a lot of good study material from ::PHP Patterns() and php | architect.

I really needed that because I had the idea that I was loosing the control over the framework written in PHP, and that I was loosing the intentional requirements: small, fast, flexible, reusable and easy to maintain.
After some good thinking, I decided that some parts of the framework needed to be rewritten and that is what I will be doing the next couple of days, weeks, months, ...

I will also go through my mailbox and read about what happened the last 2 weeks and share the most interesting things and thoughts with you here.

Stay tuned...

2003-09-15

Back to the Future of Browsers

Dark times are ahead for browser users and even more for website developers.
As the base technology for browser plugin detection needs to be removed from Internet Explorer (still representing about 95% from al web users), the browser seems to bee cut back to its early ages.

What's this all about?
In a recent ruling a federal judge order Microsoft to remove the technology to automatically detect browser plugins from its software as the technology would have been stolen from Eolas.
This meens that after a final ruling, which is expected to be somewhere in october or november, Microsoft will have to release an *updated* browser without this technology within 30 days, meaning before the end of the year. And this means that if everybody *upgrades* their browser, nobody would be able to automatically view those nifty Flash animations (games and ads, but als complete websites driven by Flash technology) or view PDF documents, Word documents, Excel data, or whatever they view inside their browser that is not plain HTML, without noting it.
As browsers were originally built to browse websites that were built with HTML, web technology and browsers improved to display more publication formats and to allow more interactivity between end user, websites and other users. But that's all over now.

Except for the inconvinience for the end user, it means that every web developer, yes EVERY WEB DEVELOPER, who trusted on the browser to seamlessly display their 'exotic' content, has to update his site(s) to implement a workaround. That's why Macromedia organised a meeting with the W3C, Microsoft and other important players on the browser market to discuss the situation and investigate the implications and possible solutions.
One strategy is to use scripting to launch external applications, another is to place a dialog box between the selection and the viewing of the applet, and Microsoft has also some other possibilites. But all of these break current user experience and shoots us right back to 1993, not talking breaking web sites that companies rely on and could result in loss of income, or even worse, bankrupcy, and website owners and developers who have to implement workarounds for their site to be compatible with the *new* browsers of the (past) future.

All of these don't apply if you used the web standards and nothing but the web standards like HTML, XML, XHTML, ECMA JavaScript, DOM, CSS, ... which should be every web developers first concern.

The patent fight that could disrupt the Internet
Saving the Browser

New PHP Weekly Summary on Zend.com

Issue # 154 by

"64 bit, studlyCaps patch, disabling functions per directory, upload meter, PHP audio, Windows manual."

http://www.zend.com/zend/week/week154.php

Series on ASP.Net: advanced ASP

NetMag is publishing very interesting articles for web developers and web designers. Thanks to Newz Crawler and Moreover for letting me discover this site and its fine publications.
On this series about ASP.Net, they first give you an introduction to the power and flexibility of ASP.Net. In the second part, they talk about forms authentication.
These are some nice articles with fine examples, I'm already looking forward to the next article.

Apache vs. IIS: The Battle Of The Best

Apache has long time been the biggest Web Server, with Microsofts IIS as good second. It's like that since somewhere in 1998 and it will be like that for a very long time, trust me. But the it's the rise of the PHP server side scripting software on Microsoft Servers that caught my attention in Netcrafts September Web Survey.
The doubling of active sites running on Microsoft 2003 Server over a few months might be remarkable, it's less surprising if you keep in mind that a lot of hosting companies are switching from older Windows Server software to the newer, more robust and stable Windows 2003 Server software. Only 5% are migrations from Linux to Windows 2003.
But as I told, the number of PHP-drive sites running on Windows Server software has doubled over the last year. This could mean a serious boost for PHP to become the second Server-Side scripting software on Windows after Macromedia's ColdFusion, as PHP is not limited to Linux/Apache/MySQL, but could be hosted on a variety of envorinements.
I expect PHP to become the second language on Windows after ASP somewhere in the first half of the next year.

Don't forget to check out this very interesting article on ServerWatch: IIS vs. Apache, Looking Beyond the Rhetoric By Martin Brown!

Blog-u-like: A tutorial to PHP and Blogging

NetMag as a very interesting article about PHP and blogging. The series is meant as an introduction to PHP and uses a blogging system as use case: Introducing PHP: Blog-u-like. The tutorial goes a step further than just explaining the regular echo's and if-then-else statements by introducing reference parameters, object orientation (inheritance).
Next article promises to explain about RSS, XML-RPC and various remote blogging API's.
I'll keep you informed!

2003-09-09

I'm back (and so is my Dell)

Dell is good stuff, no doubt about it, but their support needs some bugfixing.

When my computer crashed on the 4th of august, I didn't know what troubles were ahead.
I was working (as I always do :) and suddenly my PC went down. No problem I tought, just a loose cable or plug, plug it back in and we're up and running again.

NOT! As I was checking the power cables behind my desk, I saw that the high voltage protector was down. It was (is) an old piece, and I didn't know if it had helped me a lot, so I thought that I could just remove it and plug the power cord directly in the wall.

WRONG! BOOM! went my Dell with the smell of burning plastic. I just blew up my PC :(. The protector WAS protecting me, or at least my PC. I think I sometimes need something or someone to protect ME against myselft and stop me from doing stupidities like this one.

So, the next day I went to my local PC vendor (Sysar), where I buy software and hardware for me or clients of mine from time to time, with the question to replace my power supply, as it was obvious that I blew that one.

SORRY, NO CAN DO! Dell uses his own hardware parts which aren't compatible with standard hardware like the AT or ATX power supplies you find in every computer store. There goes my cheap and quick hardware fix :(
Up to Dell Support. First I tried to call their technical support line and after more than 30 minutes (!) waiting and more than �25 poorer and still nobody on the phone, I tried to send them an e-mail asking where I could find the right power supply.

2 days later, no reply.
Oh Lord, where can I find the right power supply? On the internet, of course!
So after some Google-ing and consulting the Dell support forums, I came up to a site which sold Dell compatible power supplies: PC Power & Cooling! Thank God (or anybody who's up their above, if there is someone or something after all). Their Power Supply Selector (including Dell) told me that I needed their Turbo-Cool� 350T Dell Power Supply for my Dell Dimension 8100. Yes! yes! let's order it!
But there was no Turbo-Cool 350 in their product list, so I thought that the Turbo-Cool 300 Dell was the one I needed and ordered it online for $89 (ex. shipping and transport). (Again, I really think I need someone or something to protect me from stupidities)

Less than a week later (it seemed like eternity for me), my power supply arrived and I was as happy as a little kid getting a candy bar. Open the box, open the case, screw the power unit in place and attach the cables.

DAMN! They don't fit! So there is really a difference between the Turbo-Cool 300 and Turbo-Cool 350 after all :(
What to do now??
OK, let's try to call Dell support again, and have patience this time... And indeed after 40 minutes of waiting, someone answered my call. The nice guy asked me for the problem, tried to troubleshoot and fix my problem from the other side of the line, but he ended up concluding that I needed to have the power supply replaced. They are not stupid over there at Dell, but they or sloooowww...
He would send me an email which I had to fax back to order a Pick Up and Replace reparation that could take 5 to 10 business days and would cost �250. Oh man...

But what choice did I have, I blew up my machine, I order the wrong part and when I recoverd my old PC and connected it to the same power cable is my Dell was using, I blew up that one too!!!
Something was defenitly wrong, and someone had to take care of it, but it wasn't going to be me, no way!

OK, so I asked the to pick up my Dell at my wife's working place, as I'm rarely at home during the day and she only works about 10 minutes from where we live.
Now the coincidence wants that right on that day (or better the night before) they had some visitor in the shop, you know the kind that smashes windows, takes everythings that small enough to carry and has some value and then leaves within 5 minutes. Burglars.
So the shop was closed, but my wift left a note on the door that the PC could be picked up at the shop owners, right next door.
Guess what, at 15h30, they rang at my door: "Where here to pick up a Dell system." Luckily, my wife was still at home and told them that we had agreed to pick up the system at another location. "Huh?" So my wife had to take her car, drive back to her work and give the system to the courier. Oh my god, are they stupid, or is it me...

Well, OK, now I have to wait...
2 days later, I recieved a phone call from the courier service asking me what needed to be done with the Dell system. The had 2 adresses and didn't know if it had to be pick up, or deliverd, or...

WHAT? They ARE stupid.
A phone call to Dell support, told me te consult the support website, which stated that my repair was delayed and I would receive a notice shortly. Oh my god, my system, it's lost! I saw all dooming scenario's passing by...
I sent an email to Dell again (to technical support, sales and commercial services) expressing my concerns and demanding an clarification of the situation immediately.

2 days later, as expected, no response...
But the next day, at the very same moment as I received a first reply which stated that they had my home address in their database and that 'the system will be(!) picked up and delivered at that address', my wife called to tell me that they returned my system and that it was fixed!

Oh, I could hardly wait to go home and continue with my work where I started it 3 weeks earlier.

A few days later, I received an invoice from DHL for the import taxes from the first power supply I ordered and an invoice from Dell for �250 and VAT for the repair. They can be fast after all...

Conlusion: The same Dell, new power supply and about �500 less on my banking account.
I hope my insurance company can easy the pain a little bit...