24 August 2014

New website branding - 1st attempt

I think I've got the website header sorted sufficiently well to give it a public airing.

The idea is to keep the original colour sheme and to show the site name in roughly the same style as used on the current site. But now the font's changed and it's rendering text and CSS instead of using an image. It's coded using Bootstrap.

Here's the new header as it will display on larger tablets and desktops:

There's a change in the site navigation: the old site places it down the left hand side of the page while the new site uses a horizontal bar under the branding. I'm using the Bootstrap navbar but I've tried to change the appearance by moving the branding out of the navbar. I've also changed the navbar colour scheme to match the branding. The biggest change is the inclusion of a search box in the navbar.

Here is how the header appears on phones and small tablets:

The navigation moves into the drop down menu on the mobile version and the "strap-line" disappears. I've replaced the Bootstrap "hamburger" menu icon (which I'm not to keen on) with the more obvious "MENU" text. I would prefer to move the menu button up onto the same row as the logo, but haven't worked out how to do that yet!

Just for reference, here's the current website header:

Well, that's the hard part done. All that's left is to design, code and populate the content pages!

Any comments on the new styling will be appreciated.

Long overdue re-design of DelphiDabbler.com

The current version of DelphiDabbler.com has been around for years. It looked quite modern when it was released, but not now. Far from it.

So, the time I'm been putting off for so long has arrived: a re-design is in the works. Not a simple refresh, but a root and branch re-design and re-build.

I've got four design goals:

  1. The new site must be responsive - the current one looks aweful on phones and small tablets.
  2. A want a fresh, clean and uncluttered look and feel - it's currently dated and cluttered.
  3. The content needs to be leaner - there's just too much stuff on the current site so a lot of it's got to go. Also, this is the only way to make the job manageable.
  4. The underlying code needs an overhaul too - the site's JavaScript is pre-historic and the PHP just grew over 12 years from procedural via PHP 4 style classes with a smattering of much nicer PHP 5 style OOP.

Big job for one man then. Especially one who has not kept up to date with modern web programming developments.

I've spent a lot of time over the past weeks reading about responsive design and have researched several techniques. I even tried out one UI framework on the new CodeSnip micro-site with no great success - that's getting changed too!

What I've decided so far is that I'm going to use Bootstrap 3 as the front end framework, because I like the mobile-first responsive design it enforces.

I had some reservations about Bootstrap at first because there are many, many Bootstrap based sites that all look pretty similar. So, I've decided to customise it. And I tried writing a CSS file that modified some of Bootstrap's appearance and ended up with a site that looked like all the others. Because re-skinning Bootstrap via plain CSS is hard.

Plan B was called for. I went "shopping" for Bootstrap templates and couldn't find one I liked at the right price, the right price being £0.00!.

So to plan C, which means customising Bootstrap using Less. Problem is, I've never used Less, so have had to go on a detour to grasp the principles. I was considering hacking the Bootstrap Less files directly until I hit a Bootstrap 3 Less Workflow Tutorial. This was the eureka moment. Now I'm incorporating the Bootstrap Less files in my project and customising them via a set of stand-alone Less files. One day in and it seems to be working.

Now I'm having to learn both Bootstrap and Less as I go along!

I'm pretty sure I'm not going down the web application framework route. I struggle to see how frameworks like AngularJS will help me - DelphiDabbler.com isn't really a web app. So, I think I'll stick with PHP and generate pages on the server.

As to the existing JavaScript: it's horrible and it's all going in the bin. I'm going to be using jQuery in the new site where necessary. That's partly because I've used it before and partly because Bootstrap already requires it.

I've always coded straight to PHP, JS and CSS before. This meant I could write directly to the to a version of the site running in a local Apache server and so see the results of changes immediately. No build process at all. Now I'm using Less that old process won't do because there's a compile step needed before I have usable code. I now need a proper build process. So Node and Gulp have just hit the hard drive. Something else to learn - oh joy!.

I going to maintain the source code in a Git repo. Haven't decided yet whether to keep the code private or whether open source it.

So there we have it. Ambitious and challenging for an old Delphi hacker who has pretty much ignored the world of web development for the last 10 years. Not sure if I'll make it.

I'll keep updating this blog with any progress and will aim to publish early versions somewhere deep down in DelphiDabbler.com in due course.