Sunday, July 29, 2007

Adapt to frequent visitors

(Principles are subjective.)

1:2 Adapt design for those who frequent the website.

Here I have put Labels first, not the Profile part. Why? Because frequent visitors don't care about seeing the same Profile each time they load the page, so it becomes a permanent waste of space. Newcomers don't care who you are, it's the content that will matter most of the time. The Profile is the last thing anybody would care about, in common sense statistics.

Labels are put above all because they function as search-queries based on the characterstics of the posts the reader may be interested in. All the rest follows. (But, of course, in the way commercialization is done, it is all about screaming to get the attention of the newcomers.)

2:2 Remove redundant stuff

I removed the header widget because it takes up space and is of no frequent function, other than wasting space. Of course, some websites use the header-body-footer design so that the header acts as a common way for a visitor to navigate to the main page.


See webdesignpractices.com by Heidi P. Adkisson for some statistics (2005).

Internal design, passwords, hashing

SHA-1, MD5, and the future. These hash functions are tentative measures, as most everything is, and therefore, most things should be viewed as tentative. All scientists must know this. All "computer scientists" should know this. All historians should know this.

What to do. When storing a password, store the type of hash function used when storing the password.

user_name = "Moryton"
user_password_hash_function = MD5/SHA/...
user_password_hash = ****

If you haven't gotten the idea yet; once a new hash function is introduced, it is easy to update the internal system to handle it. For instance, the next time a user changes the password, it would be stored with the new hash function. (Of course, the user_password_hash field would probably have to be expanded first, but that one's obvious; though that's subjective to say.)

Redesign, form, input, maxlength

1. Some website gets redesigned.
2. Some developer node is oblivious to the original size of the maxlength field in the input text field for passwords.
3. Some node with a long password (that would be me) can't log in anymore.

Form, input, maxlength

Some registration scenario.

1. Use a program to generate a unique and strong password.
2. Copy the password to the clipboard.
3. Paste the password into the text input field for passwords.
4. (The pasted text is silently truncated.)
4. Continue the registration process.
5. Attempt to log in.

If the password was longer than the maxlength value set for the text input field, then it was silently truncated.