A Guide To Understanding Web Development
Web development consists of creating websites, applications, and platforms for the internet or intranet. It is a process that draws on many related, but wholly different capabilities, such as design, content development, client-side and server-side configuration and programming, social networking integration, and much more.
With all of those aspects, a typical project is likely to involve graphic designers, developers, information systems specialists, user interface experts, backend programmers, CSS layout ninjas, and database administrators. At the end of the day, the client's particular needs ultimately determine the type of work that must happen and the ensemble needed to carry it out.
Most businesses are unaware of these behind-the-scenes nuances when seeking web development. It's not uncommon for clients to assume that "web developer" is a catch-all term for a person who can perform all of the aforementioned functions discussed above. However, that could not be further from the truth.
Web development is like any other complex process; high-quality outcomes require the services of competent specialists, not dabblers. It's important for a web development company to understand their market and attract clients whose needs the company can realistically meet. However, it's also important for clients to try to understand their own needs before seeking professional services in this area. Determining the client's needs often takes a bit of education on the vendor's part, and I wanted to spend some time dissecting the concept of web development to help these businesses better understand the web technology world. As with all specialised business-to-business services, ideally, the client and the vendor build a bridge. On the one hand, the vendor takes the time to get an accurate picture of the client's needs. On the other, a little education can help the client articulate those needs in terms the vendor can readily understand, saving time and money for both sides.
Web Design
Web design is the process of planning and creating a website. Text, images, and digital media and pulled together using HTML, CSS, and JavaScript to conceptualize an idea, such as a brochure website for a dentist's office. Web design is also a generic term referring to the presentation layer of a website or web application.
Design is the most basic aspect of web development. Before anything else can be accomplished, a basic design must be in place. Any additional, sophisticated functionality participates within the fundamental layout and graphical scheme of the site.
For businesses seeking nothing more than a static, straightforward website, web development is overkill. The business's needs can be satisfied with nothing more than a basic hosting account, web template, and content integration.
Web Content Management
Web content management is the process of organizing and compartmentalizing resources using applications such as Content Management Systems (CMSs). CMSs automate away some of the pain of manual layout, markup, and other things that go into web publishing, and often provide a user-friendly way to make routine changes. Drupal and Wordpress are examples of CMSs used by bloggers to publish their content to the web. Joomla is an example of a CMS used to manage static content, or content that does not require rapid revisions or releases.
A word of caution - the vast majority of web development companies are only capable of offering functionality provided by existing CMSs. In other words, they will likely be unable to meet specific demands as they're incapable of modifying source code, writing plugins from scratch, or otherwise venturing beyond what the CMS can do "out of the box".
Several of our clients came to us after running into this limitation with other vendors. They needed richer, business-specific functionality to accommodate their product lines, back-office workflows and customer experience. The one-size-fits-all, built-in orientation of CMSs is not sufficient to provide this. Serious modifications were required, and that means involved programming.
It's important to discuss the complexities of your needs up front and, if necessary, ensure that your vendor is capable of extending whatever underlying content service engine they base your site on. Sometimes it's as easy as asking, "does your business staff web programmers?" However, many self-described web development companies will position an entry-level web developer who has nothing more than a basic understanding of a single web programming language as a certified, fully-fledged web developer. This approach may suffice for very basic tasks, but quickly falls apart in the face of any non-trivial requirements.
It's not enough to ask if the business has programmers. "Programmer" in and of itself is a rather amorphous word. What's really important is whether the programmers in question have the specific skills to modify or extend the systems you'll ultimately be using, or even create functionality from scratch if need be - and that's not an uncommon requirement.
Web Content Development
Web content development is comprised of graphic design, where logos and online identities are envisioned and created by graphic designers, digital photography, where photographers capture and translate their work into digital media, and blogging/vlogging, where writers and speakers create articles and videos that are provided as site content.
The single most important thing to understand about web content development is that the web developers are very rarely responsible for generating the content for any given website or application.
Often, a company will feel cheated because the web developers created an attractive site or application with little to no content. They assume that web pages such as, "About Us," or, "Contact Us," will automatically be populated with content. It's important for the client to understand that a web development company doesn't really have a way of coming up with the copy, that's not their job. They are a web development company, after all, not a marketing or PR firm.
If you need help coming up with actual stuff to put on the site, you need to look in that direction. Web developers build the engine, but the don't make the fuel.
Client-Side / Server-Side Development
To return to a theme I first raised in the content management section above, client and server-side development means actually turning your ideas into software results. If your business has a specific need that can not be satisfied by plug-ins, modules, or systems embedded in an existing software package, a programmer can make the necessary changes, or craft altogether new code, to meet your objectives.
The key difference between web content management and client-side/server-side development is that content managers are often incapable of managing or writing code, and thus are incapable of providing functionality outside of that provided by existing plugins, modules, and systems.
The market is riddled with content management companies. They're a dime a dozen, with at least ten in Athens I can name off the top of my head. At the end of the day, they are incapable of anything outside of basic plug-and-play content management. They can plug in a CMS to a server and plug in some modules to the CMS. That may suit the basic needs of some businesses, but if you're looking for something more than just images and text in a layout - real solutions that move your product, increase your revenue, raise your gross margins, lower your operating costs, and otherwise contribute to your bottom line - you need to carefully consider whether you can get by with a run-of-the-mill content management shop. That's not what they do. For achieving substantial technological goals that have real economic magnitude, a professional development company is the only answer.
Platform Development
Platform development means programming custom applications completely from scratch, where existing content service engines and prefabricated components out there just won't do. It is the most sophisticated level of this hierarchy, but also the one where the real magic happens. Custom programming is closest to the bottom line for many businesses. In terms of using technology to transform your business processes and change your capital and operating expenditure formula, it's where the rubber really meets the road.
Some of our clients have needs that go far beyond the functionality provided by existing platforms. Modifying or creating plugins for Drupal, WordPress, or Joomla would not be enough to satisfy the client's needs - they might require their very own CMS, or other web software application.
This type of development absolutely requires competent web developers. Developers who have knowledge of and experience with multiple programming languages, systems, databases, etc.
All that being said, I hope that this helps shed some light on the inner-workings of the web development world. If you find yourself in need of web development, but are not technically inclined and do not have the time to decipher articles such as these, then you should find a company that will take the time to explain the concepts to you before signing contracts and committing to work, at the very least.
I'd like to thank Alex Balashov of Evariste Systems for his editorial genius and assistance in the creation of this article.