I have designed and operated websites for myself and the people around me since 1999. And I have been doing this for paying clients for several years. But doing this for clients is a completely different experience.
Most clients that I encountered are not educated customers when it comes to web development, and they are not sufficiently familiar with the technical aspect of their project, which is okay of course, even expected, but this creates complications, and its own problems in communicating with the client regarding their project.
One important piece of information I want my clients to be aware of is the difference between website design an web application development. Many people who are not familiar enough with the technial aspect of this field feels they are one and the same thing. They see intelligence built into many websites they use on the web, such as online games, mortage calculators, shopping carts, etc, and they don’t usually realize that designing the layout, and the look and feel of a website is different than adding intelligence behind that website.
The intelligence they see is made possible by a web application software running in the background on that server, and the website they use is just an interface between that software and themselves (i.e. the user).
Clients need to understand that building the website itself is a lot more straightforward and less challenging than developing the software behind it. If they need the software to be developed that is. In many cases, what client needs is a standard function such as a shpping cart for an online store application, or an online map (such as google map) integration. In those cases, various options that will perform that function is readily available for the web developer to choose from and to integrate into the client’s website. No custom software development is needed in those cases, and adding that functionality does indeed look like a part of the regular web page development. But then the client needs to understand that what is being added comes as a package, and cannot usually be modified by their web developer. It is what it is. And if it doesn’t perform all the functions they need, or the way they need them, then either another readily available software needs to be picked and used, if available of course, or a custom application software needs to be developed specifically for that client’s project.
If that happens, the project turns into a software develpment project, plus a website development project. Many clients do not see the distinction between the two.
Sometimes, the functionality the client needs behind the website is so unique that no standard software suite is readily available for that functionality, and the project is a web application software development project from the beginning.
I was negotiating a website development project with the an owner of a shoe store who needed an online store type website to be able to sell his shoes on the internet, and he wanted to know what could be done for him for the lowest cost possible. I had to ask some questions for some details of course, and one of them was how he wants to accept the online payments. Does he want a simple paypal integration, or another one of the online payment services that the software I am using readily supports, or if he needs integration with his existing credit card processor. He asked what would be the cheapest, and I said paypal. After hearing the estimate for his lowest cost case, then he wanted to know what would happen if he wanted to use his own existing credit card service. Then I gave him a revised (increased) price. He didn’t like that the price increased this much just after he asked for a change from the initial negotiated price. He thought I was just making up numbers and taking advantage of his unfamiliarity with web development. I had trouble explaining him how developing a custom software for him was different than the other things we were talking about, but he didn’t want to hear the rest of it.
Now I start with educating the client first, before starting negotiations on the cost of their project.
This is an example how confusion in this area can complicate things with clients.
Many web designers are not really software developers for web applications. And many web development customers are not aware of that either. They go with the cheapest option they find, and then they get disappointed, and frustrated when the developer they hired cannot deliver what they need.
The cost of a project is usually proportional to the amount of time spent on it, and in many cases the developer will not charge a fixed price, but will charge hourly. And if the request requires custom development, either for software, or for even for the look and feel of the website, it will increase the overall cost.