When you realise some jobs are bigger than others…
There comes a point in every web developer’s career when you realise there’s a big difference between creating a brochure-style website and building a fully functional user-based web system.
Both require skills in design, coding, user-experience, as well as good old-fashioned effort. However, when you start a journey on a big project with lots of features that all need to relate to each other, with user accounts and back-end admin systems and so on, you soon realise the way forward is going to take a bit more thought.
What about the tools that exist on the web?
As the web grow and grows, there are undoubtedly many more options for non-developers to use a templated off-the-shelf solution from companies like Squarespace, Wix or 1and1 for a simple site. They are quick and easy to set-up, but often lack on flexibility or uniqueness. Plus if you are looking for anything more substantial, then you have to look elsewhere as these system often work best for smaller entities with only a few pages and simple functionality.
In the age of software-as-a-service, web developers have the choice of using content management systems like WordPress or Joomla to help kick-start the process. Once you have completed the reasonably simple installation, you can select ready-made themes that are very much like templates, but in this case, you are able to customise them using in-built theme options and code editors. In most cases, adapting the theme is necessary and takes up quite a bit of time. It can be as much time as building the site from scratch, if you are a capable programmer of html and css.
Many businesses and organisations require website functionality which is more than just a contact form. The above-mentioned CMS packages are well-equipped to handle such requests as they offer a huge range of plugins which cover many different aspects of web architecture. The simpler plugins tend to cost nothing and can instantly transform your website. However, larger businesses may require the premium versions which do come with a price tag.
So how do we go about building a custom-made website?
I am talking about a system which goes further than what I have mentioned so far. Something that requires different areas of your website to communicate with each other and provide a personalised experience for individual users. Imagine this scenario:
A user logs into a website and uploads an audio file via a form. The file gets converted into several different formats and is automatically uploaded to Amazon Cloud for storage and fast streaming. At the same time a waveform graphic is created to be displayed on the website and all the audio files information gets input into a custom database. Following that, a message is sent to admin staff and the person who uploaded the file, informing them of the upload success. Finally, the audio file review section of the website is also updated so that admin staff can login and listen to the audio file, review it and choose to approve or reject it, ready for publishing on the website search feature.
It might seem quite a complex set of actions, but this is typical of the kind of processes that happen in a user-based web system. We have been through the development cycle of implementing this scenario for one of our clients Warwickshire Music Hub. It required lots of thought and planning before we started coding, as well as much communication with the client to iron out the user journey. Along with this process, there were many other complex elements to the website to give our programming skills something to get its teeth stuck into.
Upon beginning the project, we soon came to the conclusion that using something like WordPress wouldn’t be cut the mustard. Its plugins are not able to communicate with each other in such a sophisticated way, plus the more plugins you use, the more bloated the website becomes, making it slow to load and difficult to update.
Because we have worked on similar large projects before, we had already developed a base system of core features to build upon for new projects; it stops us re-coding the most standard elements of any user-based web system. We are then able create our own plugins that can all talk to each other and sit on top of the core structure. As each client project is unique, we build bespoke plugins to fit their exact requirements.
With this project, we built the following bespoke plugins:
- School/teacher/pupil user manager
- Media file and resources manager
- Image gallery manager
- Unique page editor and menu updater
Plus a few other simpler plugins. We undertook thorough testing of all plugins to make sure they were robust enough for the final system.
This is the method we apply to all our projects and it gives our clients a finely tuned custom system which can be added to at any time.
And what about the user?
We like to build our back-end admin systems with a look and feel that matches, with a few differences, that of the front-end website. This gives a seamless experience for the user. We also provide a single login page which displays different features depending on the permissions of the user.
Using permissions can also allow for personalising the experience of the user. For example, a customer might see a list of products appropriate to their previous purchases, whereas admin staff might see a report on the number of products sold. The permissions are set by admin staff in a plugin that deals with adding, amending and deleting users.
You get the picture. There are many things to think about.
The more feature-rich websites we create, the better we get, and we are learning more all the time. We love building custom web systems and know the ins and outs of dealing with larger organisations, the details you have to go to, the budgets you have to work to, the stakeholders you need to please. It’s a journey worth taking.