A highly important issue of any notable website is performance. You may have created the best website in the world but if it dies under load, you're gonna lose customers. User experience is very important today and having a slow website doesn't help at all.
Optimization is, however, not a trivial issue and requires expertise in different fields. There are so many different places where you can optimize that it's not always that easy to know what to focus on. Though this post will adhere to its title I'll still list here where optimization can occur in a website.
* Correct usage of HTTP headers to make client browsers request less information.
* Smaller responses (gZIP / more CSS - less HTML / use of Ajax to return instead of reloading complete pages).
* Optimization of your server machine(s) hardware AKA "I need more CPU, I need more memory and 'how much is another 1U?".
* Server software optimizations: Webserver (such as Apache) / Scripting engine (such as PHP) / DBMS (such as MySQL) / cache engines (such as memcached, APC) could and should be tweaked heavily. Failing to define an appropriate index in your DBMS or making some wrong choices on where and when the webserver saves user sessions, for example, could carry a heavy toll.
* Network optimizations: anyone said CDNs?
The fun part is that all these parts are well entangled.
I've read an interesting post about prefering MySQL cache over the popular memcached in some situations. Though it was pretty much one-sided (ignoring the overhead of a database connection), it rose some interesting points and is well worth reading.
An advantage towards the DBMS that I consider relevant is greater flexibility. For example: you allow outdated information to persist (such as statistics). Say you want it updated about every 5 minutes. If you cache it for 5 minutes it'll expire and then you may face a situation in which a few threads query the database again to get this information. If you use a Memory table for this information you can read it and, if expired, set some writing lock that'll cause other thread to keep reading the expired information until it's well updated.
Another interesting older post about performance showed some interesting benchmarks. The biggest problem of relying on others' benchmarks is there can always be one single parameter different on your system that would mean the results for you would be totally different. For example:
* A new version of a product has just changed everything about it.
* A configuration option made a product completely flunk its benchmark tests.
* Your queries may not be similar at all to what is tested (though you may think it is).
So these were my 2c about performance for now. The bottom line is simple: there's always a part of your system that's not properly optimized. The best is to check the painful spots and remedy them while maintaining an overall look of what your system has to provide.
Colnect, Connecting Collectors. Colnect offers revolutionizing services to Collectors the world over. Colnect is available in 63 languages and offers extensive collectible catalogs and the easiest personal collection management and Auto-Matching for deals. Join us today :)
Saturday, September 20, 2008
Friday, September 12, 2008
Colnect V2 alpha site is up for the Prague Fair
During 12-14/9/2008 a big international collectors fair is being held in Prague. To allow collectors to preview the new version of Colnect, which includes a vast database of stamps, the alpha site has been opened and is available here.
At the moment it is NOT yet considered stable and is meant only for the taste of how Colnect would be. Hopefully, it'll be ready by the end of the month and the current Colnect will be replaced by the new improved one.
There are many new things in Colnect V2 but perhaps the most important ones for current Colnect members are the addition of versatile filters to the system which allow collectors to easily find the items they're looking for and match them with collections of other collectors.
Updates to follow...
At the moment it is NOT yet considered stable and is meant only for the taste of how Colnect would be. Hopefully, it'll be ready by the end of the month and the current Colnect will be replaced by the new improved one.
There are many new things in Colnect V2 but perhaps the most important ones for current Colnect members are the addition of versatile filters to the system which allow collectors to easily find the items they're looking for and match them with collections of other collectors.
Updates to follow...
Labels:
collectible phone cards,
collectibles,
collectors,
colnect
Thursday, September 11, 2008
The "Language Icon" initiative
Colnect is currently available is 25 languages and so there should be an easy way to let users choose their preferred language. To facilitate this, there's currently a big part of the welcome screen that shows the names of the different languages. The reason is that it's highly important that a user would see their language available when first visiting the site since for many people using their native tongue greatly improves usability.
Having a big box with all language names is something I can get away with on the main page but not on every page of Colnect. The problem is not when registered members (who will have their preferred language loaded as they log in) but with new visitors. For this reason there's currently a selection box on the top and side menu which allows to change a language quickly for every page.
A small issue remains: what do you write in this selection box? Currently, the English word 'Language' appears there. The word itself could have been translated to every language but seeing this word in a language you probably don't understand (if you understand it, why would you change your language?) won't be very helpful. This is not ideal but I have to assume every Internet users knows at lit a tiny bit of English (sorry all, but English is the web's most international language).
I've considered the option of using flags but have ruled it out because:
1 - Flags represent countries, not languages. Consider English which is widely spoken in the US, UK and Canada. On the other hand, consider Canada which has both English and French as official languages.
2 - Adding 25 flag icons for every page is an extra communication load with no good justification.
A solution?
An interesting project I've came across is the 'Language Icon'. They've decided to create an international icon to mean the word "language". Here it is: It's supposed to look like a tongue [UPDATE: it has radically changed since this post was made!] though personally I don't find it resembling a tongue. If it'll catch on, however, it could be of great use to websites / application around the world. Kudos for the idea! I've already added this icon to Colnect V2, about to be released to the public soon, where you can find it on the side menu on internal pages.
Labels:
colnect,
language icon,
multiple languages
Subscribe to:
Posts (Atom)
Link and Search
Did you like reading it? Stay in the loop via RSS. Thanks :)