Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Usually, there are a bunch of rules and best practices which help optimizing a website, bring new customers, and in general making user experience fast, smooth and pleasant while (sometimes) reducing the server load.

Also, usually, the largest companies don't bother to use those best practices. Except for few companies (like Google), on the largest websites, we can see:

  • table layouts, not minified JavaScript, no CSS sprites where they should be, several CSS files, intrusive JavaScript even in situations where it was simple to be unobtrusive, calls to JavaScript files in <head/>, etc.
  • meaningless errors, annoying popups, register forms with huge amount of fields to fill, UX issues on register¹, stupid questions and situations which make it impossible to use the website², confusing situations on key parts of the website³, multiple redirects, slow pages, etc.

On one hand, those companies are paying a huge amount of money to develop, optimize⁴ and host their websites since their success relies partially⁵ or completely⁶ on it; on the other hand, they are constantly violating the best practices while people advocating those best practices explain that following them helps to achieve better UX and faster websites with lesser footprint on environment (which can be non-negligible on websites hosted on thousands of servers).

In such a case, it is logical to ask:

  • If the large companies which are really successful, do have a lot of money for their websites and competent employees and which care about website optimization violate constantly those best practices, are those best practices true?

  • Or, in another words, if those best practices are so important and helps so much to optimize websites, why those companies don't care about them?

Let's take an example of Dell.com. I'm pretty sure they hire the best of the best to create their home page. Their home page use table layouts. Does it mean that people who tell that table layouts are evil are wrong? Does it mean that the best of the best hired by Dell are incompetent?


¹ First example: eBay makes it impossible, when registering, to paste your mail address in both fields, making it longer to use the registration form with no reason at all except to annoy users; best practice would be to forbid copying, but allow pasting. Second example: Microsoft Live limits the length of a password to 16 characters, with no apparent reason at all.
² For example, when you've not being to Amazon for a very long time, it says that the password is invalid, then, to recover it, asks you the information about your last transaction, which makes the account unusable if you've never done any transaction before with the account.
³ Dell, for example, makes it impossible to order a rack server without any hard disk, while this can be perfectly valid if you already have the hard disks you want to reuse.
⁴ Such optimization includes partial flush to send the most important content faster, studies on the relationship between time spent by people waiting for pages to load and the number of people using the website, etc.
⁵ As for Dell, Microsoft and others.
⁶ As for eBay or other web-based companies.

share|improve this question
4  
I think that the "best of the best" want to work on something more interesting than the Dell.com home page. Dell hires the best that they can get. –  Tobias Cohen Jul 12 '11 at 6:49
1  
Most of these questions are better directed at bosses, not developers. It's managers who "know better" who are guilty of most of the abominations. –  SF. Jul 12 '11 at 9:28
    
large company != smart company. The question is strange. A large company is allowed to make mistakes. –  S.Lott Jul 12 '11 at 10:29
add comment

3 Answers 3

up vote 7 down vote accepted

I'd be willing to bet that there are two answers that address your question. These are just my opinion based on what I've seen from high output commercial production companies, so take them with a grain of salt:

  • Best practices in the web world evolve faster than you can implement them. What's here today is gone tomorrow. True, this may be starting to slow down as Web2.0 application development practices get a little more mature, but web development as we know it now is still in its infancy. Most large companies (like some that you mentioned) have been around longer than many of those best practices have existed. So, either they've put together a list of their own best practices and follow them internally, largely ignoring what's going on in the wild, or they adopt the newest best practices as they move onto new applications.
  • Pretty similar to the first point, the applications that large corporations have put out in the past may have been developed (or largely developed) prior to a lot of those best practices figured out. If it ain't broke, why fix it? What's already been created is already generating them revenue, so why would they take engineers off of new projects that will generate them new revenue and put them on old projects that may need some tweaks that are mostly transparent to most users (and at the end of the day, what engineer will want to work on some old dusty application with a bad code base)? As much as I love elegant code and keeping up with standards, it just doesn't make good business sense imo.

Again, just my opinion, but it makes sense to me :)

share|improve this answer
5  
+1, and I'd add to point two, it's not just that cleaning up crap like table layouts won't generate revenue, but that changing things like that - which really don't cause that much harm - is quite the QA burden. –  Carson63000 Jul 12 '11 at 6:48
    
+1, and I'd add to point one, that Best practices really do change every 3 months at an alarming rate you just cannot keep up with. For software developers it's far more important to have a consistent maintainable codebase then to be cutting edge (Cutting edge in the web is implementing technologies that were released into alpha last week). –  Raynos Jul 12 '11 at 9:07
add comment

I think Paul Graham posted a very APT answer to the mentality of most Large Companies in his Essay:

What Happened To Yahoo!

I have experience in working for some of these "Large Companies" and even Federal Government.

This is what I've found to be true.

Most large companies are run by their Marketing Department, as they are seen internally as being able to generate revenue and new products.

Marketing people are not necessarily qualified to design software. This generally comes down to a PHB (Pointy Haired Boss).

  • UX Wireframes are designed by committee and then given to a designer to tweak ad infitium ad adsurdum.
  • PHB expects 3rd party tools to be embedded in their site (this is where those inline <script></script> tags comes from).
  • PHB expect to be able to have full control over the content because they know HTML. This is where those TABLES comes from (generally).

Additionally there is also politics that comes into play. The PHB Golfing buddy owns a software house and so is given the contracts to do the websites for "Large Company" even if they're almost inept.

As long as the money keeps rolling in, managment doesn't see a problem.

share|improve this answer
add comment

Let me put it this way....

Why are bother with democracy if almost everyone else are a dictatorship?

Just because some company doesn't follow the right path doesn't mean you have to do the same.

Two wrongs don't make a right, I believe.

share|improve this answer
    
Taken your comparison, it would rather be: "the most successful countries with the smartest people at government who care about human rights, ethics and satisfaction of their citizens are dictatorships". Which is actually not true. –  MainMa Jul 12 '11 at 5:53
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.