Introduce advanced options wisely
The default options are the ones, that the majority of users understand well. With defaults designed to facilitate the basic tasks, all users will be able to start using web app right away.
Advanced features only make sense if they increase the accuracy and reduce time spent on a task. Advanced options made up-front, without real demand from the user-base are often only something glossy and shiny. Inviting users to learn a feature which main purpose is to be a cool widget that differentiate the application from the others – will fail for one very simple reason.
The kind of users who would appreciate such a feature are often anxiously seeking for the next gadget once the master the current one. In most cases, those visitors are not here for the content, but for the context, most notably the coolness factor. Unless the coolness itself is your product, you are probably not targeting those users.
Add advanced feature when you are absolutely sure you need it and after you have real user’s feedback.
Advanced feature should be gently introduced once the user is familiar with the basic functionality. In desktop applications such advanced options are often hidden in the ‘settings’ or ‘preferences’ panel. In web application those could be placed somewhere in ‘my profile’ area. However you decide to do it technically, don’t create the interface noise by polluting the content.
With well known web services, like Amazon, the extensive loyal user base is a good excuse to place an advanced feature right up-front. With a new project which need yet to prove its’ credibility, one has to be careful not to reject valuable first comers by unnecessary complicated interface.