Understanding the Business of Web Development

Internet reaches out to a wide audience and is used to publish personal and professional information with some engaging user experience. Web development or setting up a website or enthralling web application and hosting it on the Internet has become simpler through the use of cutting edge technology. In fact the technology is meant to be used by the web developers as well as the end users for improving the overall web experience. This trend can be seen clearly as more of websites are being posted online. The Internet can be easily distinguished from other popular technologies such as television and radio as the web gives an ample space to the user for personalization with an unlimited scope for extending their creativity and reaching out to large number of public audiences.

The Internet can be seen as a collection of a wide variety with a frequent mix of personal and professional web spaces. The Internet was meant to be a platform for imparting knowledge to the masses at the time of its birth. But now it has come a long way to be a place where the users worldwide connect, interact, and communicate themselves through websites and web applications. Today even the businesses run online with their online productivity overshadowing their real world productivity. The web has become an inimitable marketplace for people to buy and sell all kinds of products and services.

Web development lifecycle starts with the inception of a thought for having a web application that does the business processing for the individual or the company. The ideas are revised and reevaluated before going further and determining the scope and requirements of the web application. On specifying the business requirements the companies move a step ahead in starting with the actual web application development. Web development is a specialized area of work which involves an understanding of the web development technologies and all other related processes. Web developers do not automatically produce a fine website on demand. They must be communicated and made to understand the exact expectations of the web application. On learning the features and functionalities of the web application the web developers build a precise web application and deploy it online for faster business processing.

The web development technology is in itself a collection of technologies and computer programming languages that are used to create and run a computer program. Some of the popular and essential custom web application development technologies to be learnt by the web developers are HTML, XML, Flash, Perl, CSS et al. A computer language is a way to communicate to the computer by the user to process the output in accordance with the desired logic. Web application development is much more than just writing computer programs in specific programming languages and running the program to get the desired outputs. Web development is a branch of computer science that involves connecting thousands of millions of computers together and running an intercommunicating program on them.

Leaving the intricate details of the web development technology we discuss the general public usage of the Internet. Cutting edge technology today enables the end user to develop a fully functional website and publish information online. There are many content management systems like Joomla, Drupal, and WordPress that help the users get a personal and professional website and manage it free of all the inner development hassles. The web developers materialize the complexities of the web development by creating a user platform that helps the non-technical users to become web enthusiasts. Though, the technical personnel are always called up to troubleshoot problems encountered by the users.

Talking of web applications there is always a mention of fast applications that improve the user experience by processing the output swiftly and presenting it without the need of refreshing the webpage. Such client-server web applications are called Rich Internet Applications (RIA) and are built using web development technologies such as Adobe Flex, Microsoft Silverlight, and AJAX in collaboration with server-side scripting languages like ASP.NET, PHP, Ruby, and others. All the rich Internet applications are enthralling and provide an engaging interactivity to the users. A typical RIA is a web-based application that runs on the client browser and synchronizes data with the server database while functioning as conventional desktop based software. Hence the users get desktop like features and functionalities from the web.

For a professional web development company having comprehensive knowledge about the web development technologies like.Net and PHP and having significant experience and commendable expertise over developing custom web applications is a prerequisite. The web development company can cater clients globally as the company can reach out to a maximum target audience through the Internet. Before delivering the final application these companies need to look for a resounding web presence by resolving issues like browser compatibility, accessibility, and web standards. Web standards in particular have been put in place to ensure that websites meet their fundamental purpose if communicating with a user.

The business and markets for web development is not new. Web development has always been there since the time of the Internet itself just that it has evolved over the time and is accelerating its evolution every time. With custom web application development being a wide prospect, more and more web development services providers are partnering organizations around the world in getting their businesses superior web representations.

Posted in Uncategorized | Tagged , | Comments Off

What Makes a Good Web Development Company

The world of web development is still very much misunderstood. We’ve even heard people call it a “dark art”. So when you need help turning your ideas and designs into a high quality website or web application, how do you know who you can trust to get this done?

The purpose of this post is to provide some key points on what makes a good web development company, and will help you understand the kind of questions you should be asking development companies.

This is going to be a very opinionated post and we make no apologies for it. If you disagree with anything we are certainly open to discussing it further.

Now to get on with the post. Below are the key areas we are going to be looking at, and what you should be looking for in a web development company.

Able to do both front-end and back-end development
Don’t specialise in one back-end technology
Should follow best practices
Understanding of marketing strategies surrounding the projects
Invests time in research and development
Has a rigorous testing process, including automated tests
Flexible to change
Use source control
Able to do both front-end and back-end development
We don’t subscribe to idea of developers that do front-end development and developers that do back-end development. That’s the equivalent of having a plumber who only fits pipes and leaves the fitting of the baths, showers, sinks and toilets to someone else.

We agree there is a separation between web developers and web designers, there’s a completely different thought process going on there, but the separation between front-end and back-end is just wrong. To be a good web developer you need to understand the full development cycle and to be able to get involved in the project from start to finish. There is also much to be learnt from the working with the varying technologies, but we’ll come on to that.

Don’t specialise in one back-end technology
There are a number of good back-end technologies that are appropriate for web development including Ruby on Rails, ASP.Net and PHP (and others). They all have their strengths and weaknesses and not one is perfect. A good web development company should be flexible in which technologies they use, so that they use the most appropriate one for their clients’ needs.

The key reason we have spent time learning a number of technologies is to able to pick and choose the bits we like. Over the years the developers involved in The League have been able to take the good parts of each technology and formulate a number of best practices and use them across all platforms.

Should follow best practices
The key to being a good web developer is not the technologies that you use, but the best practices that you follow. As technologies come and go in our very fast moving industry those best practices will remain, or at least evolve. As a developer if you have a good grounding then you can move with the times and technologies fairly easily.

So what are these best practices that we are talking about. Below are some of the key ones we follow.

Writing semantic HTML
Follow web standards for all front end coding
Automated testing of both front-end and back-end code
Use of a MVC framework
Understanding of marketing strategies surrounding the projects
We’ve heard this complaint many times that web developers don’t think about the marketing strategy of a project. This is generally because developers don’t care. Well they should. How can they advise clients and think about helping clients produce the right solution, if they aren’t thinking about the “bigger picture” (sorry, we know it’s a horrid phrase, we’ll go wash our mouths out now). If a developer blindly does the work, they are not offering the client a service, they are just being a meat puppet.

The most important question a developer can ask is “Why?”. Take time to understand the client’s requirements fully, and advise them, after all the client doesn’t understand the ins and outs of web development, you do. Make the development cycle a two way conversation.

Invests time in research and development
As everyone knows the web industry is a very fast moving industry. Things come and go in the blink of an eye. A good web development company gives it’s developers allocated time each week to look at new trends and technologies. Admittedly some of these trends and technologies are dead ends, but you won’t know unless you look into them.

If you want to know if a web development company knows there stuff, simply ask them what their developers have been looking into recently. You don’t have to understand everything you are told, note them down though and look them up on the internet to understand if the company are looking at new trends or not.

R&D is probably the most important time each week for a developer. If developers don’t evolve, the solutions they build will become stagnate and dated very quickly. As a client do you want an out of date solution before you even start?

Has a rigorous testing process, including automated tests
Too often we have seen the client is the tester for a project. If this is happening, then, to put it bluntly, the development company don’t understand your project well enough, they are just “banging out” code.

A good web development company should be writing automated tests (integration tests, unit-tests etc) for all their code, both front-end and back-end. On a simple level, tests help developers to concentrate on the code they are writing at that given time, they also help developers to write more concise code. More concise code means the code base is easier to understand and cheaper to maintain.

The major benefit of a test suite to a client is that when changes are made to the code in the project there can be a lot more confidence in the fact that the change, or new code, hasn’t broken anything else.

We are not saying automated testing is the silver bullet of web development, and tests are only effective if they are written well, but they certainly should be part of any web developers toolset.

Automated tests aren’t the only important aspect of testing. The web development company should also have a level of human testing as well, and this is certainly something clients should be involved in. User stories are key to this process. As part of the development process, clients should work with the web development company to put together User stories, so that all parties involved understand how users will interact with the site or application and the results of those interactions.

Flexible to change
We’ve all heard developers complaining how their clients’ change the requirements of a project midway thought a project. Developers need to stop complaining about this, it happens to us all and it’s never going to change. A good web development company should have processes in place to cope with change. If you are a client, ask how change requests will be handled.

Web developers should work to short release cycles, preferably 1 – 2 weeks. The worst thing that can happen to a project is that the developers get the brief, start the work and then 2 months later they announce it’s finished, only for the client to say “This isn’t what I asked for!”. By working to short release cycles, clients can be involved at all stages. At the end of each release the client should review the project so far and submit any change requests.

Use source control
Our final recommendation is a pretty obvious and simple one, to most people, but we still speak to developers who don’t use any form of source control. This seems more prevalent with freelancers as they don’t see the need as they are the only ones working on the code. If that’s how they see it, then they are missing the point.

There are lots of reasons why all code should be source controlled. We’re are only going to mention a couple of key points here. Firstly it’s a great way of keeping a log of changes made to code. (As long as developers put a comment into the commit). Secondly and most importantly is allows developers to change code without the fear of losing already work already done. This is especially useful when trying out other possible coding solutions to a problem.

Posted in Uncategorized | Tagged , | Comments Off