1254 words on Software
Karelia released version 1.5 of Sandvox last week. It’s only a semi-version update on the surface and the theoretical capabilities didn’t change much over the initial release but the changes beneath the cover are rather non-trivial and make the application significantly more useful in practice.
As I am helping Karelia out with their CSS, I had the ‘opportunity’ to test pretty much every single version of Sandvox since the betas. [So, yeah, take care kids, don’t trust a single word of what I’m saying, I am totally biased on the topic - although people at Karelia HQ usually don’t consider my feedback on their product to be too lenient.]
Being the horrible person that I am I thought I should occasionally use Sandvox myself to get a better idea about it - all that while its general approach to web site making is rather useless to me. After all I already have home-made websites for everything I want. I found a sweet spot with photo albums which are always a hassle to make manually and which Sandvox automatically provides navigation for - along with a wide choice of colourful designs. Fun.
That used to be rather frustrating and in the beginning took me straight to the hell of all bad things that can happen in software. From stalling for ages (after adding a few dozen images in one go) to obscene memory consumption (before version 1.2, my biggest site managed to run Sandvox into the address space exhausted FAIL situation with around 3,4GB ‘virtual’ and well over 1GB of ‘real’ memory - a situation from which OS X’s feeble memory management doesn’t recover reasonably when you have ‘just’ 2GB of RAM) to slow uploads (in part due to the slowness of handling many files via FTP and SFTP and the failure to upload small and large files at the same time get the time consuming stuff done while also using bandwidth) to crashes.
Probably people with small sites didn’t see any of that. But without even trying hard, I quickly found myself pushing all those boundaries. Over time, particularly with the 1.2 release, many of these situations were improved. But from what I can tell achieving that wasn’t an easy task. I started wondering whether Sandvox’ design was perhaps too optimistic about using relatively new (i.e. hardly documented and buggy) Apple frameworks.
Sandvox uses Core Data to store information, Web Kit for editing and even Quartz Composer in some designs. That is we have not just one but a whole bunch of (then) brand-new Apple frameworks in a single application. And they’re not just there but they’re doing the heavy lifting, quite likely interacting in some complex way, and use the more advanced features of those technologies. (How many other applications use Core Data in a non-trivial way? How many other applications use Web Kit editing? In a way that is more complex than what Mail does? How many applications actually use Quartz Composer?) Throw in a bit of multithreading and the mystery becomes even bigger. I really wonder whether any of the Karelians had a full understanding of Sandvox’ inner state at the time (or now?) with all the magic underdocumented Apple frameworks doing their work in there.
One could say, that this was a risky project to begin with. And for the 1.5 release Karelia knew they had to improve the back-end magic - as their other users probably started hitting the walls I ran in earlier as well (sad fact: no-one will ever improve software just to keep me happy). And, to my surprise, the current version looks like the many months of work and the introduction of a new file format paid off.
To a large extent this will be due to invisible improvements of the internal architecture but in a few places even seemingly trivial GUI improvements make a big difference. Using Sandvox mainly for photos and frequently dragging a few dozen photos to the application used to give you ages of the spinning beachball of death. Of course Sandvox has to do a lot of work in that situation, create new pages and load the large image files to create thumbnails and appropriately scaled image files for the site. My impression is that this was sped up for the new version, but more significantly we got this:
A little sheet indicating the progress of page creation. That’s extremely good for my nerves. As all of a sudden I don’t get a spinning cursor but a clear indication that things are progressing along with an intuition about how long this will take. That relaxes me a lot.
Another excellent improvement is the new ability to
Another structural improvement is that Sandvox 1.5 lets you have links to the previous and next page in a weblog collection. Previously these links would only be arrows and only exist on photo pages. Now they also work on text pages and appear as text in weblog collections. I imagine this should be great for many uses. In fact one of my own non-image sites greatly benefits from that (using some additional tweaks of my own).
As I like fiddling with pages and modifying designs a bit further, I end up using Sandvox (Pro)’s Code Injection feature quite a bit. The 1.5 release not only made Code Injection more powerful, it also added sweet little syringe icons to the source list letting you easily see which pages enjoy code injection. It’d be quite useful if those icons became clickable at some stage, though, to open the code injection window right away.
Design-wise, the new version includes a few new designs, giving an insane choice of 50 different styles before looking at third party offerings. Many of the designs have been upgraded to support user customisable banner images. If I’m not mistaken those are very popular (possibly even more popular than the rather questionable option to let users change their text font to Comic Sans) because they make pages more unique and personal. That option certainly increases the perceived variety of designs as well.
A technical and mostly invisible change to the designs which I am particularly happy about is that most of them now use inline - rather than floated - menu items. Not only does that remove a bunch of horrible line break problems people were seeing in the Internet Explorers, it also gives one the fuzzy feeling that things will work reasonably in RTL writing systems now. I guess pages over pages could be filled on the way Internet Explorer handles floats and how not using floats isn’t as good as it should be because
inline-block isn’t supported as well as it should be - cough, Firefox, cough.
If you are looking for an easy-to-use web site creation application and previously dismissed Sandvox because you ran into some problems, this may be the point to give it another try.
Received data seems to be invalid. The wanted file does probably not exist or the guys at last.fm changed something.