To me, the biggest issue in coming up with an initial web application design and then steering it through to completion is having a good understanding of who the user is. This is sometimes difficult to determine, for various reasons. Maybe the application is new and there is not an existing user base to think about. It could be that there is an existing application and user base, but you are tasked with creating a new application component for those users. Maybe there are several types or classes of users to think about. There are many possible combinations of factors, but whoever the user is, he or she is ultimately the one you are tasked with providing an application to.