Month: June 2014

Front End development

I’ve recently spent a lot of time developing front ends, I’m going to be honest, I enjoy it. There is a lot of instant gratification to front end development. You get to see your work and interact with your changes almost immediately. Also the front end is what your users see, it’s how they judge the system. If the front end is clunky and frustrating to use it doesn’t matter how good your back end is, the perception in the users mind will be negative. I’m not saying your back end can be a mess and a beautiful front end will fix it. In that case eventually the users will get tired of the issues and then your beautiful front end will go to waste. So the back end and the front end are both important but for different reasons.

These Choices

Your front end development effort is therefore very important and here are some important things you would like to keep in mind when making a technology choice or starting to develop a front end. Please note I am speaking about web development here. Fat clients are important I use them every day but most of my front end experience is for the web.

Time taken from coding to seeing your results

In my opinion this is the most important factor. The success or failure of your front end development effort will be directly impacted by how long your developers have to wait between making a change to code and seeing that change in their browser. This is one of the reasons I don’t enjoy languages that compile your code into Javascript/HTML like Google Web Toolkit. Don’t get me wrong, GWT is great, I spent a good part of a year developing a front end in that technology. However, once your project starts getting big, the time between development and seeing your changes in the UI starts becoming incredibly frustrating. Ideally you want to make changes in your code, refresh your browser and test your UI changes.

Level Up
Level UP

Experience

You definitely want one or two people who have experience in the technology you are choosing, or maybe a technology similar to what you choose. Besides that you will need people who know the basics of web design. POST, forms, divs, these things should be in your developers vocabulary. If you don’t have any developers with Front End experience time to start recruiting or training. There are a lot of skills that are unique to UI development and experience is invaluable here.

Support

What is the support like for your tools, is there a community around it? Does it have it’s own tag in Stack Overflow? You are going to run into issues. You will have questions and hurdles that you come across, it can be incredibly frustrating when you run into an issue and have no where to turn to. Doubly so if you have a team that’s new to the technology.

Special Considerations

This is a tough one, especially when the technology often needs to be in place before final designs are done or approved. However try to figure out what sort of functionality or actions you will require. Will you be doing the CSS and design of the user interface in house or will some external company be doing it? Does your website have lots of data capture? Does your website have lots of moving parts? All of these questions could impact your choice.

So what does it all mean

Well if you are developing for the web you need to know HTML and Javascript, this is non-negotiable, you also might want to learn jQuery, this will save you a huge amount of time. Most importantly however is patience. Front end development will test you, it is very challenging, do not underestimate the effort. However there is something really satisfying about having your work directly in front of the people using it.

Thanks for reading, until next time. May your designs be clear and understood.

-R