As a Java web developer I find myself constantly at odds with the face of my applications. I mean, I have no problem doing full stack development. Building up from my database, on through my middle and service layers all go fairly well. I even have no problems implementing functionality on the front end. All of that happens easily enough for me, but my UI/UX skills are still basically at a level I call, “developer design.” This is NOT a good label to be saddled with in a world of minimal yet powerful designs that we live in today. You can’t just get by with that kind of shoddy user experience any longer if you want to compete.
What has caused this deficit, and how can we go about correcting this problem? For starters, developers have to change their mindset on what they consider to be “their” responsibility. The mantra of, “I’m a developer, not a designer” needs to be killed with fire. I admit I am very guilty of this, and it is totally because of a lack of effort on my part.
Let me go ahead and address the dedicated designer point before we go any further. I am in complete agreement with the idea that most projects should now have a dedicated and skilled designer working with the developer. However, I do not believe that can be used as an excuse not to learn some basic design concepts and technologies, anymore than a developer can say they don’t need to learn databases because we have a database administrator. If you think about it, quite frankly, it truly is absurd.
Now, there are those of us who have known this all along, but have found ways of faking it. For example, one of the more popular MVC frameworks in the Java web development space is JSF or Java Server Faces. While JSF, offers many other benefits, one of it’s greatest is it’s templating abilities and component libraries including third party libraries like RichFaces or PrimeFaces. These tools help make a web application that was “passable” in the past from a design perspective, but are found wanting as time goes on.
There are other ways, to fake it I am sure. And we as developers have probably found them all. But I challenge you to take your application and run it on all major browsers, and then try running it on the previous version of that browser. Don’t forget to do this on your mobile devices and their browsers as well. I am willing to bet that you will find one or more items that don’t look or function as you would like. I bet you also may find on your mobile devices, that there are some usability gaffs as well.
So, where does that leave us? I believe it is high time that we as developers LEARN proper web design for both the aesthetic and usability reasons that are part of any application. But, I also believe we should undertake this endeavor to further help our designers that have to implement our services. Yes, it will take some time, and yes, I know we are not all naturally gifted with the mysterious art of UI/UX. But that shouldn’t stop us from knowing the basics of good design, and usability. In the end, I promise it will make the internet a much better place to live and work, and you will be much happier with your product.