As an application developer I sometimes get a little frustrated with some attitudes towards functionality. There is all too often too much temptation to throw in as many different aspects and functions to a design rather than to focus on streamlining the user experience for the core of what you're developing.
As an example, you might have a resource booking system; just because it ends up having certain functionality that allows users to communicate with one-another, it doesn't mean that it should have full social interactivity built-in.
Another example might be if you're adding WYSIWYG editing to content areas, then does the client really need to be able to choose purple text in "Comic Sans", and add images anywhere in the content? Do they really need to be able to add nested tables?
It's a case really of evaluating what actually adds real value to the end-user (not you, or even the client), rather than what might add extra cost or something else that you could sell to them. It might also be that the client is asking you to do add spurious functionality, and it doesn't always actually make sense to add it just because they think they need it.
Often someone who wants a new website will start to look around at what other websites to, and want to take elements of what they do. Sure, some of those bells and whistles will be appreciated by some visitors, but do you really want to be faced by a myriad options, and a smörgåsbord of links on a website you've never seen before.
To look at it another way, try to think about what websites have been the most successful (and also how they may be starting to get it "wrong"):
- YouTube allows you to look for, upload, and watch videos - the elegance of simply being able to upload your own video, and comment on other people's is something that's proven to work.Other things have evolved from then, like the favourites, play-lists, adverts and interactive elements embedded in the movies. Of course advertisers and maintainers of YouTube love the advertising, and companies like the revenue and publicity from it, does that benefit the end-user? Do you really enjoy sitting through an advert before you watch a video you have no idea about, or have your video tutorial obfuscated with adverts? No, I didn't think so.
- Google started with their logo, and a search box. The search engine worked extremely fast, and gave you the results you needed. Their simplistic approach to design and aesthetic has carried over pretty much throughout their other applications, although they did stumble a bit when amending the way their search results worked; their is intelligent design, and there is design that condescends to or makes too many assumptions to be useful (something that Microsoft have been guilty of many times).
- Facebook arguably beat MySpace through making the interface and design so much more consistent and clean. This is a classic example of when not to allow the end-user (or client) too much control over design aspects of your site. People love to have things to tinker with like adding huge, animated images, videos and music to their personal page, but not everyone else wants to see it. Facebook stripped it back down to keeping in touch. Now Google Plus have stripped it down yet again, while adding extra subtle functionality that is intuitive and non-obtrusive.
- Twitter, I think, will outlast Facebook and not even be a competitor to Google+ as they really have the simplicity sewn up. There is so much you can do, and so little that you need do with 140 characters...
So I do believe that the message is to focus on only one or two main points of your design, and only consider additions if they are truly adding value to the end-user. Those extra bits and pieces may seem cool at first, and they may draw users in for curiosity, but as soon as the novelty wears off you really just want to do what you need to as quickly and easily as possible. It's much better to streamline that key USP, and make it as simple and effective as possible for the end-user to get from A to Z.