My Favorite Noteworthy Webmail Feature

I use Noteworthy Webmail all day, every day. Yes I work for Mailtrust. Yes I coded on the Webmail team for a while. But that doesn’t change the fact I love the webmail interface. Yesterday, I got back to my desk after a meeting and started attacking the 30 emails that had accumulated during that time. After reading through them, the next step was deleting because I use my Inbox like a task list. »

Safari Textarea bug

Well, I came across another Safari bug dealing with forms today. Unfortunately, I discovered this problem months ago and compeltely forgot it. So I figured I should document the issue so when it arises again, I won’t waste any time searching for the solution. Basically, like most other issues with forms on IE and Safari, this issue deals with setting values of elements before they are on the document. Before today, I thought that checkboxes and radios in IE were the main problem, but textareas also have issues. »

Dynamic form issues in IE and Safari

In the world of rich web applications, browser bugs and incompatibilities are the number one killer of productivity, next to YouTube, Facebook, and Myspace. Like most web developers, I have come to realize most of those issues arise from IE and Safari. Today I stumbled upon another interesting problem when trying to implement some dynamic forms. Take for instance the following code snippet: //Create form elements var form1 = Element.create('form', {name: 'test_form'}); var input1 = Element.create('input', {type: 'text'}); var input2 = Element.create('input', {type: 'text', name: 'input2'}); //Append inputs to form form1.appendChild(input1); form1.appendChild(input2); //Append form to document document.body.appendChild(form1); //Set input1's name input1.name = "input1"; //Check if form picked up on name change alert(form1.input1); alert(form1.input2); If you aren’t familiar with Prototype, this may be a bit hard to understand, but here is what is going on. »

Prototype and speed

Since Mike doesn’t really blog anymore, I figured I would steal his thunder and discuss some of his findings the past week. For those of you that haven’t used Prototype before, it is a Javascript library which we use fairly heavily at webmail. It has served us well for a while now ….. But version 1.5 is becoming too slow to be used in webmail. Being a very large web application, we don’t always have the luxury of elegant code, especially in javascript. »

A better web framework - Part 1

As I have mentioned before, design patterns are one of my favorite areas of computer science. Well, design patterns have a close association with web frameworks, so web frameworks are definitely another favorite area of mine. They both help speed up the development process by providing a structure for applications. Since Ruby on Rails took off a couple years ago, other web frameworks have sprung up in many other languages. None of these have met my needs at Webmail.us. »

Breaking instanceof in Javascript

That’s right, this afternoon I figured out how to break instanceof in Javascript. Since I don’t use it often, I figured it worked just like it does in PHP. Basically it does, with one major caveat. Mozilla’s javascript reference gives this definition of the instanceof operator: Use instanceof when you need to confirm the type of an object at runtime. For example, when catching exceptions, you can branch to different exception-handling code depending on the type of exception thrown. »