Show the MAX length Requirement Too!

July 12, 2009 at 2:08 AMBen

When creating an account online and you need to enter your desired username and password, it's common for there to be a note regarding the minimum number of characters required for a username/password.  But the maximum character limit is often omitted in this note.  Particularly for passwords, when allowed, I try to make 36 character passwords.  My passwords are just random characters of letters, numbers and special characters.  Every time I spend 30 seconds creating one of these passwords, I always tell myself I need to get one of those random password generators -- but end up never getting one!

Back to my point -- all sites should be making use of the "maxlength" attribute on a text input element.  Not just for usernames/passwords, but for every piece of data that is accepted through a text input.  At the very very least, indicating the maximum length in a note next to the input field would be appreciated.

On numerous sites I've registered at (including large sites), there is no note, and there is no maxlength on the input field.  I spend my 30 seconds typing in a 36 character password to find out when I click the Submit button that the password is too long.  In a couple of cases, the site doesn't even tell you the password is too long.  They just report "Invalid Password".  I'll try shortening it in chunks until they take it.

This may just be a small user experience point, but adding a maxlength attribute takes no time at all and provides immediate knowledge you've reached the max character limit.

Beware: CodePlex

February 22, 2009 at 4:45 PMBen

Ever since setting up this blog which is powered by BlogEngine.NET, I spend a small amount of time everyday at the BE.NET code hosting area at CodePlex.  Mostly I participate in the discussions there and have even submitted some bug reports in the issue tracker.  It's been a rewarding experience to be able to contribute to an open-source application used by probably thousands of bloggers out there.

However, my time spent at CodePlex has been anything but pleasant.  CodePlex is a website built, maintained and run by Microsoft.  It's a place anyone can store their open source projects for free.  There's other code hosting services out there such as SourceForge and Google Code.

Allow me to vent a bit and list the problems I find with CodePlex.

  1. SLOW, SLOW, SLOW!  CodePlex has to be the slowest website on the face of the internet.  Just about anything you do on CodePlex takes 10 times longer than it takes to do the same type of action on other websites.  Just pulling up a simple discussion takes 3 seconds for a simple GET request.  That 3 seconds is a best case scenario.  Almost on a daily basis, CodePlex will start slowing up.  Posting a message can take 10 to 20 seconds or even minutes at times.  Searching the Discussions takes too much time.  Even worse is searching the Issue Tracker.  There's been times it takes over 2 or 3 minutes for search results to come back.
  2. Server side errors.  I don't think a day has gone by that I haven't received at least one server side error while on CodePlex.  The typical error is an XML parsing error.  Sometimes the response from the server takes so long that I just get a general timeout error or page cannot be displayed error.
  3. Issue Tracker editor.  When creating an issue in the tracker or adding a comment to an issue, instead of getting a WYSIWYG editor like you get in the Discussions, all you get here is a plain old textarea.  And a pretty small textarea at that.  It's a common need to paste some code into the issue tracker -- after all, that's what CodePlex is for!  But all leading spaces are lost when saving your post.  This means properly indented code is no longer indented, looks crappy and is difficult to follow.  You also can't edit anything you posted in the Issue Tracker.  I'm not sure why you can edit messages and get a WYSIWYG editor in the Discussions area, but not in the Issue Tracker.
  4. Spam.  For a while, various spammers kept posting spam messages in the Discussions area.  CodePlex doesn't seem to have any mechanism to report spammers.  The spammers would post messages with some relevance to technology, but the messages had nothing to do with the Discussion at hand.  Throw in CodePlex's speed woes, and trying to find the real messages while sifting past the spam equates to a waste of my time.
  5. Team Foundation Server unavailable.  The source code for projects at CodePlex is stored in a TFS database.  Every now and then, I get messages stating TFS is unavailable for short to long periods of time.  While TFS is unavailable, the Issue Tracker and Source Code areas are completely unavailable.
  6. RSS Feed Lags.  CodePlex uses caching for its RSS feed which is a good idea.  New items to be added to the feed seem to normally show up within an hour.  There are times, however, that certain items may take several hours before they appear in the feed.

I wouldn't recommend CodePlex to anyone looking for a place to host their code.  I've not yet spent any time at Google Code, but I do visit SourceForge on rare occasion.  I recall no slowness or errors while browsing through the messages in the discussions at SourceForge.

I'm definitely not the first and certainly won't be the last one to bring up some of these CodePlex problems.  Dave Ward had this great blog post where he broke down some of the massive performance inefficiencies in CodePlex with its voting system.  It's disturbing too since this isn't the only Microsoft website to suffer from a performance / reliability standpoint.  A few years ago when I was spending some time on the www.asp.net forums, forum searches were very slow.  Apparently the asp.net website was completely down about a week ago.  The Microsoft blogs website is another site where blog posts and paging through the posts often results in long wait times.

I'd love to see BE.NET move and host its codebase elsewhere.  I unfortunately haven't seen any sign of Microsoft planning to fix CodePlex and they seem perfectly content with the way CodePlex is now.  If they do fix CodePlex, great.  I'm just constantly frustrated everytime I'm at CodePlex, and don't think a code hosting website (or any website) should be a hindrance or distraction from the real reason I'm at the site -- to participate in and have fun with a growing open-source project.

Posted in: Opinion

Tags: , ,

Windows 7 Versioning

January 12, 2009 at 9:49 PMBen

Beta 1 for Windows 7 was just released last week.  I haven't downloaded it, but happened to catch this blog post from the Windows team on Windows 7.  The official name for the next version of Windows will be Windows 7.  This name obviously came from the fact that the internal version number of this release of Windows would be version 7.0.  Windows 2000 is 5.0, XP is 5.1, Vista is 6.0, and this next one will be 7.0, hence the name Windows 7.  Apparently not!  The RTM version of Windows 7 will have an internal version number of 6.1.

Microsoft's reasoning for this boils down to maximizing application compatibility.  Programs and drivers that require themselves to be run on a build of Windows with a major version of 6 (or sometimes less) would continue to run on Windows 7 which will still have a major version of 6.  Yet, I thought Microsoft's been saying Windows 7 is a brand new operating system, and not just a more stable or improved version of Vista?!  Many have suggested the name for the upcoming OS should just be Vista SE, as in second edition.  Not a bad idea, actually!

I'm perplexed to understand the situation.  I can already see this versioning issue causing confusion by users trying to troubleshoot OS and application software issues on forums and other support channels.  The reason a major build number exists is to differentiate between major builds of software.  Although Windows 7 is looking a lot like a less resource hungry version of Vista, there's still the whole new touch screen functionality being added and early reports of Windows 7 Beta 1 show that some people are experiencing crashes in Beta 1.  Being just Beta 1, crashes are expected, but if Windows 7 was just a more solid Vista with some minor enhancements, then I wouldn't expect any crashes, nor would I expect it to take 10+ months from this Beta 1 release until Windows 7 RTM's at the end of 2009 or early 2010.

From my point of view, it's quite evident there's enough changes going on in this upcoming release of Windows that an increment in the major build number should be made.  Although Microsoft is trying to maximize application compatibility by keeping Windows 7's major build number at 6, I wouldn't be surprised if there will be some applications that allow themselves to run or be installed on Windows 7 because the major build number is 6, but crash or operate incorrectly because of differences in Windows 7 and Vista.  I can only assume the version of Windows that will have an internal build number of 7.0 is going to be the next major release after Windows 7.  What a needlessly confusing situation!

Posted in: Opinion

Tags: ,

Apple Software Update - Oh No!

November 24, 2008 at 12:26 PMBen

I have three pieces of software from Apple installed on my computer.  iTunes, Quicktime and the Apple Software Update service.  Safari is installed on a virtual machine, but I digress.

Every few weeks, the Apple Software Update service pops open a window telling me updates for iTunes/Quicktime are available.  I like to keep my software up to date, but the updates for these programs are ridiculous.  The entire application needs to be downloaded for the update.  This amounts to around 80 MBs.  Then, because the entire program is being installed, the installation (er, I mean "update") takes an additional minute or two, and finally a system reboot is required for changes to take effect.

This entire process is wrong in so many ways.  The download should only be a delta / diff download consisting of what's actually changed.  Instead of an 80 megabyte download, it should be a few megs at the most.  It shouldn't take so long for the update to be applied, and a required system reboot doesn't make sense.  iTunes and Quicktime are just applications -- not system applications or DLLs that can't be updated while Windows is running.  Something is not designed correctly with this software if files cannot be updated while Windows is running.  Perhaps the system reboot requirement wouldn't be necessary if the update was just the changed bits and not the entire application.

These applications are mostly insignificant to me, so dealing with this update process is a pain when I need to close all my applications for the required reboot.

On a related note, the Apple Software Update service shows "Updates" and "New Software" in its UI window.  iTunes and Quicktime show up under "Updates".  Safari shows up under New Software since it's not installed on this computer.  No problem there, however, normally a checkmark next to Safari shows up by default.  I need to uncheck the box or else new software will be installed.  This, to me, is a somewhat dirty business practice.  Software update programs shouldn't be trying to slip new applications onto people's computers.  I recall seeing the Safari icon on the desktop of friend's computer recently.  He didn't know what the icon was and had never heard of Safari.  He does have iTunes installed on his computer though.  Hmm... I wonder if there's a connection there??

Posted in: Opinion

Tags: ,

W3C Validated Links

September 21, 2008 at 9:33 PMBen

Every so often I'm at a website and notice a "This page is Valid XHTML" link somewhere on the page.  The link takes you to the W3C's validator page, examines the HTML of the page you came from and gives a report.  If the HTML validates without any issues, you get a nice green bar with a message stating something similar to:

This document was successfully checked as XHTML 1.0 Transitional!

The problem is that of the few times I've bothered clicking on one of these links on someone's site, not uncommonly the validator comes back reporting errors:

Errors found while checking this document as XHTML 1.0 Transitional!

... oops, that's not supposed to happen!  In fairness, it's usually just a couple of minor issues that don't cause any major issues on the website.  But, the red text and the "Errors found" message gives a bad impression.  I would imagine when the site was originally put together, the HTML validated and the designer slapped a "Validated" link on the page.  Most likely the HTML that doesn't conform to the spec crept into the page during subsequent modifications and updates.

Unless you're selling or showcasing website templates, putting a "Page Validated" link on your website doesn't seem worth it.  These links are meaningless to almost all visitors and they require the site maintainer to constantly revalidate their HTML when making modifications.  When the site maintainer forgets to re-validate or doesn't know he should re-validate, you end up giving a worst impression to the visitor who clicks on your "Validated" link and finds errors than if you never had the link in the first place.

Posted in: Opinion

Tags: ,