Skip navigation

Monthly Archives: January 2008

People may say I sound like a broken record but, I hate Internet Explorer. I like to say I don’t hate anyone or anything in this world, because hate is a powerful word, but I absolutely hate Internet Explorer. It is by far the worst browser out there. Ever version has been terrible, and it’s pretty funny to see bugs in IE7 that have been around since IE 4 (maybe even earlier).

I would like to start out by saying that Internet Explorer is so far behind in terms of capabilities in comparison with any other of the major browsers. It barely has CSS2 support, and definitely has more rendering bugs than any of the other major browsers. If you want to see a few good ones in action, here is a list of the nasty ones.

Let me explain why I am saying this. I, like most web developers these days, develop in FireFox. The biggest reason right now is simple, firebug. The firebug plugin makes a web developer’s life a great deal easier. As a matter of fact, if it weren’t for IE, I would go as far as to say, it makes a web developer’s life very easy. Also, rendering in FireFox works pretty much exactly how you would expect it to. I am not saying FireFox doesn’t have its issues. But it’s so much easier to develop in, and like I said, things almost always render as you would expect them to.

I know there are going to be whack job M$ fan boys out there saying, “this is not true” or “firefox doesn’t follow the standards either.” But you know what, FireFox 2 is pretty close, and FireFox 3 is even closer. The fact that Internet Explorer doesn’t fully support CSS2 really cripples a website, and forces developers to use JavaScript more than necessary.

That brings me to my next point: JavaScript. Wow, Internet Explorer has possibly the slowest JavaScript engine ever. A coworker and I ran some diagnostics today to get a handle on a JavaScript performance issue we were having. We had some JavaScript that was doing a lot of looping in order to fix a bunch of cross browser issues we had with our custom drop down widgets. In FireFox 2, the JavaScript was taking about 3 seconds to run. In IE7 it was taking about 9 seconds to run. In IE6, it was taking around 30 seconds. I don’t have anything else to say about that..

You may say, that’s a bad example. But here’s another example. I created a tree view one time that had a series of check boxes. The tree view was filled with data from an e-commerce site’s product hierarchy, so there were around 2,000 items. That means 2,000 check boxes. If the user checked one of the check boxes, I had JavaScript set up to check all child check boxes. So, if you check the root check box, in FireFox, all child check boxes were also instantaneously checked. In IE, it took around 15 seconds to check the boxes. That’s a real world example of the crap that M$ creates.

This whole thing started because of a bad experience I had today. I am working with my coworker on re-writing a custom drop down widget we created. I had to modify the CSS and I ended up setting up a background color with a text box sitting in the div with the background color. I only wanted that color to show up to the right of the text box, where the down arrow shows up. The outer div had a border of the same color as the background. IE (6 and 7) seemingly was adding another pixel to the top and bottom border. See Below:

FireFox:
Drop Down FireFox

IE:
Drop Down IE

I thought, meh, so IE add’s an extra pixel top and bottom margin, margin: 0 on the text box will fix that. WRONG. Actually what IE (6 and 7) does is adds a pixel to the top and bottom margin of whatever value you set. So in order to get the correct result, I had to add a top and bottom margin of -1px only in IE. These are the kinds of problems that are the most frustrating because you have to put in special hacks for IE. Also, they are so simple and there is NO REASON for M$ to do something like that.

Everyone should try this exercise, check out the acid 2 browser test in FireFox 2. It doesn’t look perfect. But after that try it in IE7 for a good laugh.

I don’t understand what these people are thinking. It was looking like finally things were looking up in the world of web development. I mean, even Microsoft was starting to come around, although IE7 still has many problems. But now I hear the W3C / WHATWG is working on a spec for the new version of HTML. Although this may sound like progress is being made, in my mind it is not.

HTML 5 introduces new elements to HTML for the first time since the last millennium. New structural elements include aside, figure, and section. New inline elements include time, meter, and progress. New embedding elements include video and audio. New interactive elements include details, datagrid, and command.

That’s not what the web needs. We don’t need more tags that aren’t necessarily going to be used. More tags with specific rendering requirements means more complex cross browser issues. Imagine how differently Microsoft, Apple and Mozilla are going to implement the progress element. These new, more complicated elements only make things worse for an already troubled set of browsers. There would be little excuse for companies like Microsoft if there were a much simpler way of dealing with markup.

The next thing that is really troubling me is that the new spec for HTML still supports old style markup. Remember the days of not closing your paragraph and option tags? This makes absolutely no sense to me. When XHTML was very exciting to me. It is more structured and forces people to write better (if only slightly) markup. Now, I know not everyone has time to be an expert web developer, but the way I see it, if you can’t do it well, don’t do it at all. People who don’t want to learn the markup language should just use a tool that generates it for them.

XHTML2 and this specification use different namespaces and therefore can both be implemented in the same XML processor.

So, basically what they’re saying here is that they are developing HTML5 in parallel to XHTML2. This is disturbing to me because there is even more room for error in the browser. They have to be able to parse different versions of markup. As it stands right now there are too many issues. Introducing more specifications is just going to make things worse.

At this point, HTML is a dead language to me. XHTML was a great idea and I think that it was a great first step toward the way the web should be. I think what we need is a completely dynamic markup language that gives the developer direct control over how elements are rendered. This would make things a lot easier for web developers and browsers like. This would create a single point of failure in the browsers. All they would have to do is follow the style rules put forth by the web developer. The web developer would be able to start with a clean slate (or, a template they have built previously) when building a site. There would be a lot fewer cross browser issues, and boy, wouldn’t that be something.

Sources:
http://www.w3.org/html/wg/html5/
http://www.whatwg.org/specs/web-apps/current-work/
http://www.ibm.com/developerworks/library/x-html5/

For those of you who may not know, RIM (Research In Motion), the makers of BlackBerry devices have an IDE for developing applications for BlackBerrys. The IDE, called BlackBerry JDE, uses native Java along with other libraries to create the applications.

The IDE is free to download and use. It comes with a simulator for testing applications on a device. The simulator is a fully functioning BlackBerry that has access to email and the internet (by installing the MDS plug-in).

I recently spent a couple days writing my own app for my BlackBerry. I tested it on the simulator and everything was working great. I generated the alx file that allows you to use the Desktop Manager to load the application on to a real BlackBerry. I loaded it on my BlackBerry and tried to run it. I got this message, “Module must be signed with the RIM Runtime Code Signing Key (RRT).”

If you’re like me, you’d be saying, “RRT? Well what the hell is that?”

In order for an application built with the BlackBerry JDE, you must fill out an application form and send it to RIM, along with 20 bucks!!! They will then email you your key for your application. This can take up to 10 business days. This is to ensure security across applications that are used on BlackBerrys.

You don’t have to send them any code or any sort of description about the application, so I fail to see how this could ensure security. The only thing I see this doing is causing developers who want to improve their productivity/fun while using their device, to have to shell out money in order to do so. It is pretty much like paying for the software you wrote. Instead of RIM paying developers to write applications to improve the functionality of the device, they make developers pay them.

I am not impressed.

I payed the $20 for the key and now I see that they have charged my credit card for the $20 as well as an additional $30. They better hope that $30 doesn’t actually post to my account.

This really makes Android sound like the best thing ever.

I recently took a project that really should have been simple. Install some forum software and import some old forum data. The forum software of choice was vBulletin. vBulletin came complete with an import script for the old forum data. The install of vBulletin was easy and quick, albeit not very good looking, but it worked. I then logged into the vBulletin admin control panel to get started with the import. The control panel is hideous and not very user friendly. I clicked import and got started.

vBulletin Admin Thumbnail

This process was a bit confusing at first because it offers no instruction whatsoever. But, I just used my instincts and clicked on the first module button. This gave me the option of pointing vBulletin to the data files. I was importing from an old UBB Classic forum, which is all flat file based. I entered in absolute paths to key data points for the old bulletin software. Then it asked for a relative path from vBulletin to the data. Why, when you have an absolute path to everything you need would you need a relative path?? Oh well, I put the relative path in and away it went. I then continued through the rest of the modules. All in all, the import process went smoothly except for a few sql errors (I had to adjust some mysql config settings).

Once the import was done I assumed (wrong) that I could go to the site and see all of the newly imported data. This was not the case, all that was presented to me was a default forum. Great, I thought, the import failed. Well actually it didn’t, there was just more to do. I had to go into the admin control panel and run a bunch of update statistics scripts that updates the forum cache. Why would the import scripts not do this for you?

Now that the update statistics scripts had run, I could see the imported data. However, the forum site is sooo slow. I mean, a page will take 30 seconds or so to load. It is absolutely ridiculous. As of yet I have not found a single shred of useful information in the vBulletin forums for my problem. All I have found so far is it is something going on in the web server as the web server (I have tried IIS and Apache) hangs using about 50% of the processor while the page is loading. I know, I know why are you using php / mysql on windows? The client I am doing the job for has no knowledge of Linux and requested that the forum be set up on a windows box. I am going to have to contact vBulletin support to get this one solved.

All that being said, I do not understand why anyone would pay money for vBulletin? I have used phpBB in the past and it is extremely well put together. It is very nice looking with its default theme, and the admin is also very nice looking and MUCH easier to use than the vBulletin admin. Right out of the box on windows phpBB is lightening fast. You can see it in action on the fiesta pig forums. Also, the vBulletin documentation is pretty poor. It contains the bare minimum you need to get through installing / importing and is not very easy to navigate. Again I ask, why pay money for vBulletin when there are other better forum suites for FREE?

Well, at the moment no one is reading this blog. But hopefully someday someone will listen to our rants. This blog is Hosted and written by the developers at Resonance Technologies. We are a small company currently working on some secret web based projects. Well, one of them is not so secret, you can check it out at http://www.fiestapig.com. You can also check out the forums at http://forums.fiestapig.com/.

Well, here it goes, it’s time for my first rant.

A good place for me to start is with Microsoft Internet Explorer. If you’ve spent any time working with XHTML and cross browser compatibility then you definitely know my pain. Microsoft Internet Explorer sucks. I’m not going to beat around the bush. It’s a piece of crap. It has a ridiculous amount of bugs. Some of these bugs have been around since IE 4 and maybe even earlier. My favorite recent experience is the dreaded “Operation aborted” issue. What happens is some markup on your page (IE does not tell you the line or anything) is causing the parser to choke, and IE displays a simple message “Operation aborted” and then displays a blank page, that you can’t refresh… From what I can tell, the error occurs (maybe not soley) when you put a script block inside of a table cell. Unfortunately, this was happening inside a third party .NET component. I was forced to remove the component and create my own control.