Jamie Balfour

Welcome to my personal website.

Find out more about me, my personal projects, reviews, courses and much more here.

Jamie Balfour'sPersonal blog

Jamie Balfour'sPersonal blog

This morning I began thinking about how to make certain posts stand out from others. I call some of my posts personal treasures, for example, nobody is really interested in what I did on my birthday this year, but I want to treasure that moment forever and where better than my personal blog that has now been running for 12 years. 

So to make that post stand out as a treasure I wanted to make it stand out. I did this by applying my glow effect to it, giving it a gradient border as I have used across my website. 

With the latest minor update to DASH, this is now fully possible with the new classes option.

As part of my update to DASH for version 2.0, I have completed a redesign of the UI that involves much more use of gradients and curves to make it more pleasing on the eye. DASH 2.0 now features an updated dark mode that is based on the operating system (unlike Dash 1.x which used user preferences, but that was all that was available back then as these features weren't available at the time of Dash 1.x).

Below are two images showing the early version of DASH 2.0 (beta) compared with how it looks now. The curved interface makes it much more visually appealing.

DASH 2.0 has been my main project for a good few weeks and has helped me recover mentally by allowing me to use my brainpower over and over. It's helped me with getting back into programming as well as helped me get my typing skills back to normal and has generally helped with the brain fog I have had over the last few weeks.

DASH 2.0 is a big update to my old Dash project, and whilst the majority of updates as of recent have maintained compatibility, this latest update I have made breaks compatibility with Dash 1.0. 

For starters, content posts no longer include separate scripts. This is due to the fact that the new version of TINY MCE that is used with DASH 2.0 allows scripts to be included in the content. This is great news but will require the `scripts` column to be removed from all posts tables in current Dash 1.0 implementations. Further to this, the `category` and `poster` fields are no longer textual fields but are now integers representing the `category_id` and `user_id` fields respectively. 

Secondly, the users tables should have their `details` and `preferences` columns removed as these are no longer needed. 

Those are the main changes but they are worth it. Because of the new way that DASH 2.0 has been designed with a much more object-oriented design, implementing new features is really easy. More features will continue to come to DASH as time goes on so stay tuned.

Over the last few days, my main project to keep me occupied during my recovery has been DASH 2.0. This has been a momentous task to redevelop. I say this because DASH 2.0 is almost identical to Dash 1.x in appearance, and yet massively different underneath. And yet, whilst this is true, the whole codebase has been almost entirely rewritten to take advantage of the new object-oriented design.

By moving from the static and singleton design patterns implemented within Dash 1.x, DASH 2.0 makes multiple content management systems in one much easier. On my website, I store a single preferences PHP file at the root of my server. DASH connects to this to obtain the appropriate information, allowing it the user to select between four different zones on my website - that is, my blog, reviews, articles and my test blog (which is now on DASH 2.0).

Much like my website DASH 2.0 now moves to the Quicksand font.

A few days ago, I updated the page about Dash to explain what is happening. I'm very pleased to announce DASH 2.0 (note the new styling of the word DASH as it is now uppercase due to being an acronym).

DASH 2.0 is much better designed, making it easier for me to update it. Further to that, the core model of DASH 2.0 makes DASH 2.0 uncoupled from the DASH Board side. This means that one install multiple blogs/content should be easier to implement than the poorly put together system I developed with Dash 1.0. 

Over the next few weekends, I aim to build a completely new DASH Board that will support DASH 2.0. This is a big job but it's mostly to get my brain working again after having a few weeks of not really doing much (except watching several TV series) and because I promised that I would redevelop it. 

I aim to keep the front-end the same where I can and will be reusing parts of it where I can. Below is how Dash 1.0 looks as of just now.

What is more exciting at present is that I have updated my own blog, articles and reviews to use DASH 2.0 for the front-end and updated the old Dash 1.0 Dashboard to use the new system - it was relatively simple to update too!

The old Dash dashboard

First of all, my previous post is not void. I'm still considering ditching Dash. But as a result of talking to a friend and a few members of my family who remember my joy in developing Dash, I am proud to say that I've reconsidered what was said in the post. It's with great joy that I am now able to say that rather than ditching Dash I'm going to consider redesigning Dash and releasing Dash 2.

Dash 2 will borrow tons of code from Dash and will be a total rewrite of the whole thing. Parts will remain almost identical but the majority of the system will be rewritten in an encapsulated, object-oriented manner. Further, it will be backward compatible with the original Dash system (Dash 1?) and the Dashboard will remain the exact same. In the meantime, I've removed download links to Dash.

I'm hoping to start it mid next week and have it finished by the summer.

Dash as it is has become hard to manage. As a result I've now decided that I'm no longer going to develop Dash. This will come as a shock to some of people who have downloaded collectively over 22,000 installers for Dash. I'm also almost in tears with sadness about this at the moment.

Dash as it is works really well for me and I like it as it is. The update that brought Girder to it this year made development easier but overall, I'm extremely unhappy with the fact it's not fully utilising encapsulation amongst several other issues.

This has the same feeling as the moment when I decided to stop working on Painter Pro and Cobweb four years ago since as much as I kept telling myself I'd give it a go again, I knew it wouldn't happen. I hope that doesn't happen here.

I have plans to rewrite it from scratch, drawing the key features like the Dash Dashboard back into the new version, but the rewrite will likely take me months to do again.

I mentioned the other day that I would be updating Dash with the removal of Google Plus in the next few days. I will be doing this today, as well as improving several other dashboard features. I'm specifically interested in getting the poll system started so that you will be able to create polls - connecting them to posts and then accepting user input from them will come later.

Suggestions are greatly welcomed too, so if you've got an idea, use the contact form on my website to let me know what you think I could do to improve Dash.


The announcement by Google that Google+ will finally being getting shutdown is music to some peoples' ears - certainly to mine. But it also means a bit of work for me as Dash had added some integration with Google+. If you are using this integration, please be aware that by the end of the next version release cycle, Dash will remove this feature.

The next version of Dash will hopefully be out in December of this year.

Categories have long been staple in Dash, even as far back as when it was called JBlogs. In BalfBlog 2.1 they got a major overhaul that meant that posts in categories could be easily located. Now in Dash 1.0 they've been promoted.

When I say promoted I mean they have gone from being just attached to a post to being a separate entity. Categories are now numbers and have names and now have their own table in the database. This doesn't mean a huge amount but it does mean you no longer add categories from the new post page but from the dedicated category management page. Overall this improves performance when listing all categories.

Powered by DASH 2.0