Archive for the ‘Web Development’ Category

Why MySQL is popular.

Tuesday, August 30th, 2005

MySQL logo

Over at JoS forums, there is a thread titled ‘What’s the fascination with MySQL?’, where poster asks why MySQL is so popular when there are better technical alternatives. I think following are few of the main reasons why MySQL is so popular:

  1. Native Windows support.
  2. This is a HUGE plus. Though I develop for LAMP platform, I actually use Windows for writing all of my code and finally deploy it on *nix. You can install Apache/MySQL/PHP/Perl on Windows box and write complete app which can be deployed on Linux by just copying the folder tree. Heck, there are numerous Windows packages [Nusphere, FirePages, WAMP comes to my mind] which allow you install and configure Apache/MySQL/PHP/Perl in 5 minutes flat.

  3. EXCELLENT administration/development utility like phpMyAdmin.
  4. phpMyAdmin logo

    Anyone who has used MySQL, has used phpMyAdmin utility at least once. I believe that phpMyAdmin has played a significant role in MySQL’s adoption. It’s web based, installs in seconds and lets you control almost every aspect of your data in MySQL. Dare I say that if it was not for phpMyAdmin, MySQL would not have been so popular.

  5. Lack of ‘enterprise’ features like transactions/triggers.
  6. Yes, the lack of ‘enterprise’ features has actually been a PLUS for MySQL adoption. If you look closely at how people use MySQL database, you will quickly find that they need triggers nor transactions. This means that user’s learning curve is short. [And in case you are savvy enough to need triggers/transactions/foreign keys, you will not use MySQL anyways.]

There are other reasons why MySQL is popular but I think the above three are the key reasons.

Minor Blog Improvements

Wednesday, June 15th, 2005

Following are couple of improvements to my current blog:

  1. Changed the title of my WordPress Blogpost pages.

    By default, WordPress gives following title to the entry:
    [Blog Title] - [Post Title]

    This title is ok but it’s really not good for search engine result pages, if you have long blog title. For example, search for ‘Starting a MicroISV’ and you will find Ian’s blog post on the topic as first hit. Do you see how the blog title and words ‘blog archive’ are taking all the space. Comapre this to the search ‘Rediff Customer Service’, where my blog post is first in search results. See how the title of Blog is at the end rather than at beginning. I think this is a much better idea. How to get it? Unfortunately, you will have to modify the index.php file of your WP installation. Open index.php in text editor. Replace <title>Current code</title> with

    <title>< ?php wp_title(''); ?>< ?php if(isset($_GET['p']) or isset($_GET['cat'])) {echo ‘ [';} bloginfo('name'); if(isset($_GET['p']) or isset($_GET['cat']) ){ echo ‘]’; }?></></></title>

    After couple of weeks, Google Search Results pages should show these better titles!

  2. Subscribe to Comments enabled by default.
  3. I have observed that most of the time when I comment on another blog, I am interested in follow up comments by author of blog post and/or others. Reason being that if I care enough to comment, I care about follow up comments as well. Assuming that my blog post readers might want the same, by default ‘Subscribe To Comments’ checkbox is selected. What do you think?

  4. I made the comment field bit bigger in height.
  5. I made the the blog, 508 accessible. There were very minor changes I needed to do to pass the automated 508 accessibility test.

Problems with new MSDN Blogs

Friday, May 27th, 2005

MSDN Logo
I don’t remember the exact date, but few weeks back, MSDN Blogs backend system was upgraded.

Somehow, the new system has quite a few usability problems. Here’s what I have discovered:

  1. Comment Form is missing!
    No, not that there is no comment form, but by default, comment form is not shown at the end of the post. You have to click on a link ‘Post a Comment’ to get to the comment form.

    And btw, this comment link is not even at the end of blog entry (blog entry = blog post + comments), so if you have a blog entry like this one from Larry which has 32 comments, you need to scroll back up to the end of post. Find the ‘Post Comment’ link and then create the comment. I wonder why ‘Post Comment’ link is not at the end of the entry.

    And I am not able to grasp why would they even need this ‘Post Comment’ link in the first place. What’s wrong with a comment form at the end of entry? 99% of blogs have comment form right at the bottom of entry and I think that’s perfect. Why would MSDN Blogs need to take a different (and painful) route?

  2. Useless ‘Title’ field in Comment Form
    If you see the MSDN Blogs comment form, you would find a field named ‘Title’. It defaults to ‘re: <Title of Post goes here>’.

    I find this field completely useless. No one* uses it and it just adds noise to the updated blog entry.
    Check the below snapshot of comments on Larry’s blog.

    MSDN Comments with useless Title field

    Not a single commentator has changed the title while posting his/her comment. What’s worse is that the entry highlights the ‘title’ of comment which is basically same for all comments! I have been participating in various online communities for last 7 years and I know for sure that no one uses ‘Title’ field related to their comment. They would leave it blank, and if you force them to enter title, they would enter some junk.

    *When I say no one, I mean less than 0.00001% of people who posts comments on blogs.

  3. Trackbacks are not displayed properly.
    Here’s how a Trackback is displayed on MSDN Blogs:

    MSDN way of Trackbacks

    Trackback shown above, can be found here

    Instead of treating Trackbacks separately, they tream them as comments. Nothing wrong with that but they way they do it is:
    1. They use ‘Anonymous’ as Author’s name.
    2. The link to ‘Anonymous’ text would take it to the actual post which was trackbacking.
    3. The title of the comment displays the title of post which track backed in the first place.

    Clearly, this is not greatest of implementation. Compare this to how WordPress displays Trackback.

    WordPress Trackback
    Trackback shown above, can be found here.

    This is much, much better. Here’s why:
    1. You can clearly identify it as Trackback by the words ‘Pingback’.
    2. Title of the post (identified by number 1 in snapshot) and Blog Title (identified by number 2 in snapshot) are clearly displayed.
    3. It also shows the relevant piece of text where the particular entry was referred.

How not to design your homepage.

Thursday, May 12th, 2005

Blinkx Logo

Through Om, I came across product called ‘Smart Folders’ from Blinkx.

Blinx is a prime example of how NOT to do your homepage.
There are too many things which simply makes me want to close the page and run away!

  1. Use of Red Color.

    Looking at the page makes me wonder whether this page is for RedHat. Heck, even they don’t have so much Red color on their page. If you try to read the page for more than few seconds, your eyes will start to hurt!

  2. ALL UPPERCASE TEXT.

    EVERYONE KNOWS THAT WRITING IN ALL CAPITALS IS RUDE, RUDE AND RUDE. ALSO, IT’S VERY HARD TO READ.

    Woohoo! I just did it! Anyway, the sidebar ‘Blinkx Press’, links to various press mentions and all of them is capitalized! Yikes!

  3. Use of images for main body text

    The main text on their homepage uses image to display paragraphs of content instead of using simple text. What more, the all the text inside image has ’shadow’ effect which makes it difficult to read the text. Not to mention that it increases the size of the page, I can not resize the text size and Google can not make sense of your page.

  4. Too big homepage

    Their homepage is 1.91 mb in size! Wow, I hope all their users are on broadband! I tried to figure out why their page is so big and I found that they are using flash animation at the bottom (did you bother to scroll down to find the animation?) which is 1.6 mb in size. Still without animation, their page is 322kb. I bet, you can reduce that homepage size to 100kb in total without any loss of information.

  5. No product/service message.

    Can you figure out what does blinkx.com offer? Is it mainly online search or mainly about their ‘Smart Folder’ product? Btw, did you read their description of ’smart folder’?

    Smart folders are intelligent folders that automatically and persistently update their content as new information becomes available. Smart folders build over time and can be based on the actual ideas contained within the content of those files, and not on select keywords.

    ?? What the heck does that mean? Is it meant for me (a geek) or is it for use by any computer user? Is it meant for researchers, publishers, students? I really don’t know. And I don’t think I care enough to dig dipper and find out.

Btw, their logo screams ‘unprofessional’. Looks like it’s done by a Photoshop amateur, who has just learnt ‘emboss’ and ’shadow’ effect, doing extremely poor job of copying Google logo.

Suranga Chandratillake (founder of Blinkx), if you are reading this, I sincerely urge you to redo your homepage so that it’s smaller, easier on eyes, which makes me want to learn and explore your product.

JD

How to find Perfect Color**

Monday, April 25th, 2005

How to Find Perfect Color Article Image

Before & After Magazine has a great tutorial on how you can find perfect color pallette from a photograph. If you have read Dave Shea’s article on Color Schemes, then this article would give you even more practical tips about how to create a color scheme from a Photograph using Photoshop. Hey Ashvin, very soon, I will be better than you as far as color selection goes. ;)
I think this article is going to make me subscribe to Before & After Magazine.

JD

** color = colour for people who follow UK English. :)

Flashback: How not to design your Contact Form

Monday, April 11th, 2005

Jon Hicks blogged about previous versions of his design. His post is a timeline of how far we have come through as far as websites/web design is concerned.

I used archive.org to see pages of my old site. Here is the contact form which I ‘designed’. This is, by far, the best example of how NOT TO design a contact form!

How not to design Contact Form

Did you notice the gender field? ;) Yes, excuse me, I was in college and I thought that internet was one of the best way to meet a new girl. ;)
Here’s my caricature which I thought is very cool. I remember getting this caricature done from a site called Webdunia.com. Webdunia.com was offering free caricature to anyone who can send their photos as JPEGs! Those wonderful dotcom days! ;)
JD's caricature

Here’s my lame attempt at blending photos in Photoshop.

JD's photo

Note: I don’t sport beard or mustache now. One of those days I will get my about page with current photo running.

I am sure you have noticed that my site was so very colorful. It was inspired by Channel V’s site. My site was an absolutely lame attempt to give individual color to pages like they did.

So how were your design skills in the year 2001? Show it off! ;)
JD

User signup forms and email addresses

Wednesday, January 19th, 2005

Could someone explain to me why do we need to enter email address twice on user signup forms?

I mean, entering password twice on sign up form is understandable because password is masked. But email? I can see it with my eyebolls and I shouldn’t be needing to type it twice! Even though, I am going to copy/paste my email, I don’t want to hit that ‘Ctrl +C and Ctrl +V’.

My humble request to all websites,
Please DO NOT ask user to enter email twice on your sign up forms. It’s just plain stupid and waste of time.

Reason for rant: Today, wonderful folks at 37signals launched Ta-da list. I wasn’t really expecting them to create sign up form which will ask me to enter email address twice.

Update:
My fellow geeks replied that email address is mentioned twice because people may mistype it. And I say..

I can guess that user may mistype it. But do you really think you can solve the problem by asking them to enter it twice? I don’t think so.

Be honest, tell me how many times you have actually typed email TWICE? Either you copy/paste email OR you have some kind of form filler utility which takes care of inserting the email twice for you.

So in first case where user is copying/pasting, you will have wrong email in both fields AND in later case, email will be anyways correct.

Can you change your sign up script to count how many times error ‘Email address does not match’ is returned? I have the feeling that the number will be very small.

And if you want to make sure that user has typed email correctly, you can have a confirmation screen where app displays email which user entered (it can also display other information depending on your app) and account is created only if user presses the confirm button.

And let’s say that for your site, username is same as email address. In such scenario is makes much more sense to not ask email twice. Why, you may ask. Let’s say user signs up with wrong email and then he/she can’t login. As most of the sign up form send welcome mail after signing up, user will see that he has received none, so if he is smart he can figure out he typed email incorrectly OR he can use password reminder screen to verify that his account doesn’t exist. So now he can sign up again, making sure that email is correct! Does it make sense?

Now for sites which have username (or login id) separate from email, it can be problem as user potentially might loose a username because of using wrong email. In this case, my argument is why in the world you don

Default Actions for Web Apps - Part II

Wednesday, January 19th, 2005

This post is in continuation with my earlier post about Default Actions for Web Apps.

Anyone who has used a complicated Web Application will agree that it can really get tiring to click on so many links just to access a particular option or perform an action! The problem is severe if the Web Application is slow. What could be the possible solutions?

1. Default page upon login should correspond to the main action for which user is using the App. E.g. for Blogging software Admin page, main action would be to write a new post. So, it will make sense to have ‘Write Post’ as default page upon login. Now, not every applicatin is as black and white as blogging software admin page where default action is obvious. So, in an ideal situation, user of the application should be allowed to choose the default page. [We see it all the time in desktop apps, where they have checkbox to make selected options as default options for given action. ]

2. Second and more useful feature a web application can provide is ‘Recently Performed Actions’ and ‘Most Frequently Performed Actions’. It should be relatively easy to code ‘Recently Performed Actions’ feature. Though, it will take some effort to code ‘Most Frequently Performed Actions’ as you have to monitor user action for some period of time. But both of these can be real time saver to users and I think it is worth Development effort to code these features. Amazon, eBay and other sites already implement

Juxtaposition and Default Actions for Web Apps

Tuesday, January 18th, 2005

Jason, from Signal vs Noise, wonders why Web Apps are concentrated more on ‘data viewing’ rather than ‘data input’.

Here’s what I think:

1. An app, whether desktop app/web app, requires data entry in particular format at particular ‘location’. For Desktop app you noted, i.e. Word and Photoshop, they have a clutter free ‘location’ (a blank document) opened automatically (in case of Word) or you can open it using a short cut like Ctrl + N (A blank canvas, in case of Photoshop) I think only OneNote is an application, where you can type just about anywhere on screen and application accepts it easily (and I love that feature!)!

2. Depending on App, you have to specify some input before you can work on it. E.g. in Photoshop, you have to specify Image width/height, resolution etc. before you can work on it. Things get little easier for Desktop App, because default values presented by Photoshop are most of the time good enough. [Photoshop remembers size of last image you edited OR if you have an image copied on clip board, selecting Ctrl + N will open dialog with size which is same as the size of image on clipboard.] My conclusion: As Desktop apps are RICH (feature wise/response wise), they feel less tedious. As Web apps are generally not rich and as responsive as Desktop, they make you crawl.

3. Again Richness of Desktop Apps allows it to take user data in ANY FORMAT and quickly convert it into format which is compatible with application. If you have used Outlook, you might know that you can type date in any format in Outlook e.g. you can enter ‘Today’, ‘Tomorrow’, ‘9-apr-2004′, ‘04/09/2004′ in Date field and Outlook will automatically format it. Web apps are not yet mature enough as far as formatting of the data goes. In fact, generally Web Apps try to dictate data and it’s format to avoid probable hacking attempts.

4. And btw, you present a nice idea here. Web app should probably invoke a default screen for operation upon logging, instead of displaying some read-only page. Talking about this, WordPress Admin page comes to my mind immediately. When you login to WordPress Admin, you are automatically presented form to