Facebook wall-to-wall and the back button

I’ve recently been working with the awesome Really Simple History javascript library to make Ajax loaded pages bookmarkable, it’s a bit confusing at times, but really not too hard. But it’s amazing when you work on something like that, how much it makes you notice when other websites don’t execute the little things well. For example, when you go to your wall-to-wall with someone in Facebook, post a message and then hit back nothing changes. You have to hit back again to get back to your profile. Essentially, the interface is wasting the fact that the roundtrip to the server has been done with Ajax. Grr.

Recent DOM Inspector works

While work and life always tend to get in the road, I’ve been plodding slowly along on the DOM Inspector, most recently I’ve been working on bug 255940. This involves removing the horrible dropdown box from the Box Model page and replacing it with a graphical representation (similar to the one found in Firebug). This will then be followed up by allowing people to change which measurement they are viewing in box model viewer.

I’ve also been working locally on a patch to provide some sort of hinting as to what type of property you are viewing in the Javascript object viewer, this basically involves using a list of default properties of each dom object (which I’m using from Firebug) but I think this is the sort of thing that could be standardised so that we aren’t duplicating this code, and it’s always up to date, as new elements are added (Video for example).

Some Points about Windows Vista

I regularly get asked about what I think about Windows Vista, I run it on my laptop (a Toshiba R400 Tablet) and this far I’m very happy with it. It definitely isn’t a massive step up from XP (Service Pack 2) it is a major improvement and in my opinion in the right direction. I love the search functionality in the start bar, and being able to click the program you want in the Alt+Tab menu is awesome. I’ve also installed Switcher but I can’t quite get used to using it, so Alt+Tab it is.

Anyway, the point of this post is to highlight 2 things, one I’m very happy with, and another I can’t understand why it is like it is. Firstly, my computer has been blue screening since I got it when it came out of hibernation. Now as a mobile computer I’m forever taking it out of and putting it in my bag, so this was extremely annoying. But, in the hope that it actually worked, I would always click “Report this crash to Microsoft”. Well, lo and behold just the other day I got a notification box telling me that KB94100(?) contained an update and it would fix my problem. Which it did. Woo!

Secondly, I’ve been playing with the power settings on my machine, trying to eek a few more minutes out of it’s already good (not excellent) battery life when I came across this delightful piece of UI.


Now, why on earth would I want less than 100% maximum processor state when plugged in? This is definitely a situation where the engineers designing the product should have said, we know better than the user and removed any choice. If anyone can give me a good reason as to why this option is there, I would love to know.

Content and Data Management Systems

This is a bit of a brain dump about something that’s been bugging me for weeks, it doesn’t have a great deal of coherence to the idea yet.

I’ve been working for the last few months on the excellent Silverstripe CMS and the framework Xebidy has developed on top of it called Bootstrap. We are releasing the source of Bootstrap (not soon enough) and plan to support it as a plugin or alternative input system for Silverstripe. Anyway, the point is these systems are really based on pure content management systems – every piece of data entered into the system is purely for displaying on the page. Everything is written expressly for the webpage and rarely will be used for any other purpose. This is what most people expect they are getting when you tell them they are getting a CMS, I’m not sure it’s the best way to run a content heavy website.

What I’m suggesting is to move to a more data centric management system. Rather than creating pages and putting information on the page about a product, we should create a product in the system and let the webpage display that in a properly formatted page. This way, things such as product reviews, tags and comments are attached to the product itself, rather than to the page. Now, let me say I’m aware that a lot of websites are built in this manner, (I’ve worked on them before) however it isn’t a viable option on a smaller level.

There are a few reasons for this, firstly building the site around the companies products can be a very difficult process, first of all the designer/architect needs to have quite an intimate knowledge of how each product relates to each other and the company which can take a great deal of effort, time and money. Secondly, this approach can be limited in flexibility, obviously adding new products shouldn’t be a problem, but what happens if there is a new class of product or the company moves into selling services. The website will not necessarily have been designed with these things in mind and then the database will need to be adapted to the new structure.

I think to solve these problems, a new type of CMS needs to be designed (or an existing one adapted) which lets the web manager develop and adapt the database for themselves. I’m not quite sure how that would work, but it could leverage some of the existing web apis (GData & Pipes for example) to pull together the data.