I met Michael through a common friend about ten years ago. At that time Michael was during his final year in Art school. When I visited an exhibition he was taking a part in and saw his paintings, I was in absolute awe. The subjects in the painting feel alive, as if they are breathing within the confines of the canvas. The digital pictures do not do them justice at all. Besides (in my opinion) a very talented artist, Michael is a very good friend, so when he asked me to develop his personal website I immediately jumped at the opportunity.
As with any project, you need to start with collecting the user or business requirements in order to construct a list of user stories (or business processes) that need to be implemented. In our case we needed to have a way to display the following pieces of information: - Artwork of various types - Exhibition information - A way to contact him - A news section Seems simple enough, right? Well, as always the devil is in the details.
Platform choice was an easy task. While my first idea would be to implement a static site that would host all of his work, I very quickly decided against it. Since I was not going to be managing the website, we needed something that was easy to use and maintain. When it comes to maintaing a website there are two basic types of tasks associated with it: Content Management and Development work. We needed a platfrom that would allow Michaeal to manage his own website and not rely on anyone to do it for him. Furthermore we needed a platform that was popular enough so that even if I couldn't be able to continue developing it, Michael wouldn't have any issues finding someone qualified to further develop the website. We looked at all the major "prebuilt" platforms such as Squarespace or Wix but the tie in to the platform was a clear negative point. Finally we chose Wordpress. We settled on a shared hosting Wordpress solution with a relatively small Greek provider because I had worked with them before and was very satisfied by their response times to service requests and their overall performance. We did not expect a great number of concurrent visitors (especially during the first days when the website didn't have any traction), so a shared plan provided us with everything that we needed. In case the traffic exceeded the plan we settled on, we could always upgrade it or set up a dedicated server (or VPS) and switch to it.
Before our kick-off meeting with Michael, I asked him to send me a few websites that he liked in order to understand what he had in mind for his website. Designing a website is about conveying a message to your users, and when After all a website is the public image of someone and when deisgning or helping design it you need always to be aware of what the message that needs to get across is. We settled on a very minimal design, with not a lot of access colors, that would allows Michael's atrwork to trully shine and be the star of the show. Starting from a blank slate or from the included theme is a very lengthy process and a very unnecessary one (for certain types of projects such as this one). Since I was going to be the main developer of the website, It made no sense to start something from scratch. That's why we settled on using a theme from CSSIgniter called eclecticon. The co-founder of CSSIgniter is a very close friend of mine and I have loved their work since they first launched their business a few years back, so if you have a couple of minutes check their work out, it's very worth it in my opinion.
After getting the theme, installing and configuring it, we starting going through the user scenarios that we had previously created. The theme was an excellent choice as it gave us most of the things we needed to get the website of the ground. We ended up making a few changes to the styling of the theme and then we were ready to start uploading content.
The process of taking the website live was a very easy one and we didn't encounter any real issues. I developed the website locally and then migrated it to our chosen host. A very important tool that simplified the process of migration incredibly was WP Sync DB. It is very similar to WP Migrate DB Pro (the paid version of one of the most popular tools for Wordpress Database MIgrations), but without the cost of the aforementioned plugin. I have to give credit to the CSSIgniter team for pointing me towards this amazing tool that is now part of my Wordpress development toolset.
After the website went live, we didn't experience any noticable downtime or bandwidth limitation and based on the statistics we got from Google analytics traffic is going strong to this day.
Do I believe that this was a fun project to work on? Absolutely yes! It's always fun to work with people that know what they want and that they respect your input. These points are often overlooked but I believe that they are immensely important when it comes to any form of project where more than one person is involved. Both parties need to know what it is they want go get out of it and both parties need to be respectful of each other's input, whether that is about a specific requirement or a specific limitation (time or other wise). Here's an example: the client feels that the artwork on the website is not represented in a right way by having it framed as is and they propose an alternative one. It's up to the developer to listen and understand that this request is something that needs to be implemented as it is a basic user case. The developer asks the client for a couple of more days to make the necessary changes. The client has no objection and both parties decide on having a review process after a few days. No fuss, no shouting no real broken deadlines or hurt feelings. I know it is an oversimplified example but it underlines a very important aspect of any project: two-way real, honest communication. Both parties working together and not one opposed the other.
I do have a word of caution though: working with friends or family is not always ideal. If things turn sour for the specific project you're working on, things could get sour for your relationship as well. I'm not saying it is the rule or that it will happen on 100% of cases, but it is something worth considering before you decide to work on such a project.