New mix — Bar Soma

Covers for albums by E-Clip, Inner State and Theobroma
Several tunes for this mix come from albums by E-Clip (Shuma), Inner State (Terraforma), and Theobroma (Thinking Like Dolphins).

This mix is named after Bar Soma in Fortitude Valley here in Brisbane, where I was on Sunday afternoon/evening for my first 'club' outing in years, to witness John 00 Fleming play a sensational four-hour set as part of his J00F Editions Nine Lives album tour of Australia (more on that below). I was about due to do another mix soon anyway, but after seeing/hearing John's set, I was feeling particularly amped to play some tunes.

I'd already worked out the tracklist a while ago and coincidentally it includes one of the tunes John played on Sunday, the Neelix remix ofGalaxy Traveler by Felguk. The mix also features several tunes from three albums: Shuma by E-Clip, Terraforma by Inner State, and Thinking Like Dolphins by Theobroma. I don't often buy whole albums, but these are three that I bought most of the tunes from (well, except for the Theobroma one which is a free download from Ektoplazm).

There's also a trio of tunes from Neelix, including a couple of freebies he posted about on Facebook a while back, and also from Ritmo, who I really got turned on to in a big way after he did the guest mix on John's Global Trance Groove podcast in March (see how it's all tieing in together? ;) One of the things I was reminded of having not been to any sort of events featuring dance music in a long time is how different some tunes can sound on a big rig compared to listening to them at home, andGalaxy Traveler is certainly one of those. It packs a real, meaty punch when played loud and really gets the crowd going. :)

In other mix news, my old DJing mate from London, Randall, has posted another guest mix of mine, this time a tribute to Jon Doe. It's the third one I've done for him in the last year, so probably time to give him a break from me. ;)

J00F Editions review

Nine Lives tour flyer

Like I said, I haven't been to any events featuring DJs or dance music for a long time. The last time would've been 2006 when I spent a good amount of time at the Tipi Forest at Splendour in the Grass in Byron Bay, and the last time inside a club was New Year's Eve 2003! Not having any friends in Brisbane who are really into this sort of music anymore, and then having kids, and generally just getting older, makes it more difficult to get out. Well, at least, that's what I tell myself. ;)

So I wasn't quite sure what to expect when I headed down to The Valley on Sunday afternoon. I hadn't been to Bar Soma before either but it's a pretty cool, split level little place which has this outdoor courtyard area which I think is actually their loading zone where they'd set up the decks for the event. It has an angled floor which made for good viewing if you were up the back, but probably isn't ideal for dancing on. 

When I got there about 3:30pm, Scott Walker was on playing a fairly laid back, progressive-y sort of set that suited the time of day well. There were a couple of people dancing but most were just having a chat. Next up were mIDium & Cassowary who started pulling more people onto the dance floor but didn't really do it for me. They played a couple of tasty psy progressive tunes but their flow was a bit up and down.

John came on just after 5pm and the dance floor was pretty much packed by then, and he didn't mess around and launched straight into some nice, deep progressive trance. For the next four hours he had the whole place rocking to a blend of trance, progressive and psy trance, with remixes ofAge of Love by Manuel de la Mare,Galaxy TravelerHey Girl, Hey Boy by the Chemical Brothers, and the tune he played for his encore going down particularly well with the crowd.

I thought he went off the boil for about half an hour just after half way through starting with his remix of Faithless'Sun to Me, which I'm not a fan of. That and a few tunes that followed were just a bit too ‘synthy’ for my liking and lacked the pounding or energetic bouncy basslines that people seemed to be responding to the most. But that period didn't last long and he finished off in the same style as he started with, and had the crowd roaring for an encore which he gladly provided, and which was also followed by more raucous shouts and applause when he finally brought the sound down.

It was a pretty good turn-out and reaction for a Sunday evening I thought and John certainly knows how to get the most out of his audience, really working the crowd up with some epic, floaty, trancey breakdowns followed by big build-ups that got fists pumping and people jumping up and down.

Having been a fan of his for years, avidly following his podcast, and buying his tunes, I'd been wanting to make it to one of his gigs for a while, and I'm glad I finally did, and he certainly didn't disappoint. And now that I've finally broken the drought, I might see if I can get out a bit more frequently in the future.

There have been no comments on this entry so far. Why not be the first?

Online cashups

So the other day I was looking for an alternative online backup service to the one I have been using, Carbonite (more on the reason for the change below), and I was amazed at the sort of prices being asked by Australian online, or ‘cloud’, backup services.

If you do a search in Google for ‘online backup’, if you're searching from Australia, even without clicking on the Pages from Australia option, you get two to three pages of results that are dominated by services based in Australia (or at least with Australian domains), which in most situations would be a good thing: you don't want to get pages and pages of results from overseas if you're searching for accommodation, plumbers, used cars or mortgages. But in this case, apart from the very first result, which ironically is for Carbonite's Australian branch of their service with an annual subscription price of $71.99 for an unlimited amount of backups, the rest of the results Google displays definitely aren't doing you any favours.

I'll let the numbers speak for themselves. The below tables show the prices for a collection of the best-known overseas-based backup services followed by a selection of Australian-based services chosen from the first page of the search results above. All of the prices listed are for the entry-level plans.

Overseas online backup services prices are in US dollars
Service Cost Size of backup
Backblaze $50/year Unlimited
Carbonite $49/year Unlimited
iDrive $49.50/year 150Gb
Jungledisk* $2/month 5Gb
LiveDrive $79.95/year Unlimited
Mozy $5.99/month 50Gb
*Jungledisk's service uses Amazon's Simple Storage Service (S3) so fees from Amazon are also included although they give you the first 5Gb for free with their $2 monthly subscription.
Australian online backup services prices are in Australian dollars
Service Cost Size of backup
Backup Express $29/month 1Gb
Carbonite $71.99/year Unlimited
Cyber Secure $7.99/month 1Gb
Go Backups $19/month 500Mb
iDrive.net.au† $19/month 5Gb
OneBackup $500/year 15Gb
Vault Online $20/month 3Gb
Not affiliated with the US-based service of the same name.

So you can see that a lot of the overseas offerings are around the $50 mark for unlimited storage whereas the Australian ones all have higher monthly fees for miniscule amount of storage. I mean it's laughable really. I don't know what these companies think people are backing up: all their emails copied into text files which are then compressed into a single archive?

I'm just making assumptions here, but I would think most ordinary computer users' primary concern for backing up would be to preserve their photos, videos and music. At the sort of prices being quoted above, you'd be better off just leaving all your photos on your camera's SD card and buying new cards each time you filled one up, rather than downloading then deleting photos. You can get 2Gb cards for under $10 these days, so it'd probably work out cheaper!

…you'd be better off just leaving all your photos on your camera's SD card and buying new cards each time you filled one up

I'm not really sure what to make of it. How can the Australian services be so horrendously overly priced? Is it that we simply don't have the infrastructure or technology here in Australia to be able to compete? Australian web hosting for a long time was much more expensive than overseas too but it's come a long way in recent years and nowadays prices are very competitive. Is it a case that the cloud storage market still has the same period of catching up to go through? And if so, why? What's so different about cloud storage from web hosting?

Or is it a case of Australian companies trying to take advantage of the fact that backing up to the cloud is relatively new and that most non-techy computer users and business owners are possibly a bit clueless in this area? The only ones rocking the boat in Australia are Carbonite, and they're a branching off from an American company. And I'd think they must really be cleaning up too — first result in the search engines and with prices that just blow all the others in Australia out of the water.

I believe in buying local as much as possible and I do all my web hosting with Australian companies, but I stop short at supporting a company, or even a whole market, that is having what seems to be a laugh at my expense.

I found it interesting that some of the sites that I looked at didn't even bother to list their prices publicly; you had to contact them to find out. Like they knew that people would say Pfffttt! if they found out and go elsewhere.

What's also interesting is if you modify the original search query just slightly and add the word ‘review’ to it. Suddenly all the Australian results (apart from Carbonite) disappear from the first few pages and you get only get results from overseas websites and guess what: none of them are reviewing any of the local Australian services. Most of these reviews feature nearly all the services from the first table at the top of their rankings.

If you replace ‘review’ with ‘mac’ in our query, you get a different set of results, this time with more direct links to services, but again, most of the Australian ones don't get a mention, apart from Carbonite and iDrive (which is not affiliated with the US service) which would suggest that most of the Australian services aren't Mac-compatible.

So if they’re all so terrible, why don’t you stay with Carbonite?

I wish I could (actually I don't, more on that in a moment), but in this case I can't. The reason I've been looking for an alternative is because after using Carbonite for a couple of years and having been reasonably happy with the service, it's now no longer working for me. I don't mean we've grown apart, I've started seeing someone else, but literally, Carbonite has stopped backing my stuff up.

I noticed a few weeks ago that the amount of stuff still to be backed up never went down. It took me a while to click that there was actually something wrong, but I finally contacted their customer support about it, and after a couple of weeks of toing and froing with different customer service reps at different levels, and trying various different things like uninsalling and reinstalling, fixing disk permissions and removing certain folders from my backup, they finally let me know that they didn't think they were going to be able to fix the problem without me removing even more stuff from my backup, which kind of made it pointless.

So they've offered me a refund instead, although they've only given me two weeks to find a replacement before they'll delete my current back up. Which I think given the amount of stuff I've currently got backed up with them, and the amount of time it'd take to upload that to a different provider, is a bit unfair. But at this stage, they know they've already lost me as a customer, so they probably don't care.

A blessing in disguise

A montage of online backup services logos

So apart from not being overly impressed by Carbonite's support (I had more than one response that gave me instructions for Windows when my original message included the fact I was on OSX) and the fact it took so long to get to the point of where finally they admitted they didn't know how to fix my problem, in my hunt for an alternative, I came across some information about backing up Mac data that I didn't know before which made moving on from Carbonite actually seem like a smart move.

I mentioned Jungledisk above which makes use of Amazon S3 to store your data. Another that does the same thing but lets you maintain your own buckets, is Arq, and they include some information about the importance of metadata when backing up your Mac. And it seems that Carbonite is actually really bad in this area, failing 20 out of 20 tests: it backs up your data, but misses most of the metadata so files could be restored with incorrect modification and creation dates or applications without the necessary permissions.

Arq and Jungledisk which both use Amazon S3 pass all of these backup bouncer tests. Carbonite and most of the big names in this market fail most of the tests except for version 3 of Crashplan which only fails one of the tests relating to symlinks.

So at the moment I'm using a two-pronged online backup strategy: I'll use Crashplan for all my personal backups because that's where most of the data is and I need to be able to store large amounts of stuff without racking up huge bills, and use Arq in conjunction with my own S3 buckets to back up my work-related stuff which, by comparison, is a relatively small amount.

I'll have to see how that pans out over the coming weeks though because before I originally settled on Carbonite, Crashplan was one of the alternatives I trialled (the others being Jungledisk, Mozy and Backblaze), and rejected for a reason I can't remember now. But that was when I was still using a PC so it's possible it was just a Windows-specific thing or something that didn't suit the way I worked on Windows at the time.

And if anyone has any ideas about or reasons why Australian backup services are so expensive, I'd love to hear them.

There have been no comments on this entry so far. Why not be the first?

Responsive images with ExpressionEngine

So, as I mentioned in a previous post, this site is my first attempt at responsive web design (RWD). One area of this movement (can you call it that?) that has been a little trickier to solve is responsive images.

When it comes to images and responsive web design, the usual approach is to set max-width:100% on them so that they are only as large as the container around them allows them to be, which means they'll scale nicely regardless of the size of the screen you're viewing them on. The problem is that if you serve up a massive 3000-pixel wide panoramic landscape shot that looks great on your Apple Cinema Display, that same massive image is also going to be downloaded to someone using a mobile, except that it'll be scaled down to a few hundred pixels, using up that person's download quota for the month.

There's been a few different proposed solutions, e.g. by Scott Jehl, Nicolas Gallagher, Harry Roberts, and Keith Clark but I didn't feel any of them sat quite right with me so I thought I'd try a different approach.

What I came up with is specific to ExpressionEngine, but the concepts could probably be applied just as well to any other system where content and structure is manipulated server side before being sent to the browser, and it involves querying the device's user agent string to determine if it is a mobile or not and then setting a global variable which can then be used in templates to modify the size of the image output. So in other words, only one image gets sent to the browser, but that image is different depending on whether you're viewing the page on a mobile or desktop device.

So there's two parts to this technique:

  1. setting a global variable which I'm doing in a customised version of Leevi Graham's Config Bootstrap, and
  2. the actual templates which output the images.

The code I've added to my config is partly borrowed from Max Lazar's MX Mobile Detect plugin, and in fact the _mobileClients array he's using for the list of user agents comes from ZyTrax.

<?php

$default_global_vars['global:img_width'] = '';

$_mobileClients = array("android", "acer", "asus", "alcatel", "sie", "blackberry", "htc", "hp", "lg", "motorola", "nokia", "palm", "samsung", "sonyericsson", "zte", "mobile", "iphone", "ipod", "mini", "playstation", "docomo", "benq", "vodafone", "sharp", "kindle", "nexus", "windows phone","midp", "240x320", "netfront", "nokia", "panasonic", "portalmmm", "symbian", "mda", "mot-", "opera mini", "philips", "pocket pc", "sagem", "sda", "sgh-", "xda");

$mobile = false;

$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);
foreach ($_mobileClients as $mobileClient) {
    if (strstr($userAgent, $mobileClient)) {
        $mobile = true;
    }
}

if($mobile) $default_global_vars['global:img_width'] = '320';

?>

So for my site I've decided I'm only going to have two different image widths: mobile = 320px and everything else will be whatever the natural size of the image is scaled down to the window size by max-width: 100%. Mobiles will also get max-width: 100% so if their screen size is smaller than 320 the image will still be scaled down, but it's better to be scaled down from 320 to 240 than 500 to 240, for example.

And then in the template, I'm using the CE Image plugin to create smaller images based on an original source. (I tried originally to use the ImgSizer plugin but it seems that it doesn't like working with global variables as widths).

{exp:ce_img:pair src="{image}" max="{global:img_width}"}
	{ if global:img_width!=""}<a href="{image}">{/ if}
		<img alt="" src="{ if global:img_width!=""}{made}{ if:else}{image}{/ if}" alt="">
	{ if global:img_width!=""}{/ if}
{/exp:ce_img:pair}

So if global:img_width is not null it uses the CE Image resized image as the source, {made}, and if it is null, just uses the unprocessed image. I'm also checking if the global variable is null to wrap the image in an anchor to the full size image for mobiles if they want to get a larger view of the image.

I'm actually using this method on the site right now. If you view the source on a mobile, you should find some of the image file names appended with something like _320_XXX.

You could also extend this in various different ways. You could set different global width variables for different devices (although you'd need to get a bit more involved with your user agent headers checking as a lot of the manufacturers produce devices with different sized screens), or you could include extra images for the desktop that aren't included for mobile devices by checking if the global variable is null or not.

As I said earlier, I'm still quite new to this RWD game so it's quite likely there may be potential problems or pitfalls I've overlooked. So please let me know if I have or if you can think of ways that this might be improved.

Update (July 23): Max Lazar has pointed out that sie- in the _mobileClients array above will also target msie (Internet Explorer), so I've taken it out.

Update (August 12): Matt Wilcox has come up with another technique, Adaptive Images which I think is well worth a look. See the comments for a bit more information.

Find out what others have had to say and join the discussion.

New mix — Dry July

Cover for I Love You, Who are You? by Ticon
A lot of the tunes for this mix come from theI Love You, Who are You? album by Ticon.

This month's mix, Dry July, is another Progressive mix, and features a lot of tunes from the album I Love You, Who are You? by Swedish duo Ticon. I've been a fan of Ticon for a while and really love this album, so have used all my favourite tunes from it on this mix andSolo which I did in April (which you can also find on the Mixes page).

The album is released by Iboga Records who I'm also a big fan of and there's a number of other tunes from the main label and their Trance offshoot label on this mix too. Anyone who has a few of my other Progressive/Psy Progressive mixes will maybe be aware that Iboga feature heavily in some of my tracklists. I keep telling myself I should broaden my horizons and check out more labels and artists other than Iboga, and I have been doing more of that lately, but when they put out so much great stuff, it's hard to go past. ;)

The title of this mix is not as you might think about abstaining from alcohol for a month (I'm not a heavy drinker anyway so wouldn't be giving up much even if I did participate), but rather because it's rather cold and dry in Brisbane at the moment, and also because work has been pretty quiet for a bit (although that looks like picking up again next week).

Although I'm not abstaining from drinking, I have been abstaining from buying new tunes for a while. I got to the point where I had quite a backlog of tunes I wanted to put into mixes so thought the best way to keep on top of it was to just stop collecting for a while. This will be the third last mix before that backlog is cleared and I'll be back to collecting again, although I hope to be a bit more selective in the future so that I only collect as many tunes as I can comfortably fit into new mixes. The next two to go will be a Psy Progressive and full-on Psy Trance mix, so stay tuned!

There have been no comments on this entry so far. Why not be the first?

We’re all just trying to work this out

The title of this entry comes from a post by Mark Boulton on the state of Responsive Web Design (RWD) in today's web design/development landscape. It was in response to another post by Luke Jones (I'll let you follow the links from Mark's post) which was bemoaning the use of RWD techniques (or at least the way some people have been using them). It all sparked a major ding-dong in the comments and quite a lot if became more about people's egos and how others perceive 'major players' in the community to be, rather than about the actual topic at hand. I got bored pretty quickly of the original debate but found this statement by Mark to be particularly relevant to my situation with this site for which I decided to step into RWD territory myself:

Responsive Web Design is REALLY NEW and NOBODY knows how to do it properly/right/appropriately yet! We’re all just experimenting. And THAT’S FINE!

If the approach is deemed to be appropriate, then there is no reason why it can’t be done. If people do it on their own blogs, because they want to experiment, then that’s fine. It really is.

We’re all just trying to work this out.

This site is my first foray into RWD, although I've been aware of the techniques behind it, and have been reading articles about it for some time. I was always waiting for the right project to come along which would give me the chance to test it out. Invariably when it comes to trying out new web technologies, personal projects are the best place for it, and so it wasn't until I had a personal playground of my own, that I decided to give it a go.

Part of the RWD equation is using layouts with fluid or flexible widths. I'd actually already done that with Tyssen Design which has a hybrid liquid-elastic layout which means it adjusts to both the user's text size setting and browser window, so that wasn't really new. The new part came with using media queries to dynamically adjust certain parts of the layout depending on your screen size. Originally, people were using media queries to serve different style rules to people browsing on devices with smaller screens, but lately people have been saying that you should be thinking about the mobile experience first, as it forces you to focus more on the content, and then use meqia queries to adapt the layout for people with larger screens. So essentially, the other way around.

As this site is essentially just a single column, the media queries aren't really doing too much work. All they're doing for people on larger screens is moving the main navigation over to the side and adding some icons, and on the archive page the links to articles appear alonside the names of the month rather than underneath them. Other than that they just adjust the width a bit to make sure that more screen is taken up with text on smaller browser windows.

Mobile testing

Screenshots of the site as viewed in Mobilizer (iPhone 4 and HTC Evo), and Opera Mobile Emulator (HTC Desire)

At the moment, my mobile test suite consists of an Ipod Touch with Mobile Safari and Opera Mini, an HTC Desire with the built-in Webkit browser, and Opera Mobile Emulator, and just recently, the very impressive Mobilizer (gotta love the synchronisation of pages between devices — click a link on one and they all automatically update), running on my laptop. And I'm happy to say that the site checks out relatively well in all of them.

A few issues I ran into:

  • Opera Mini and Emulator weren't applying the gradient on the red bar at the top of the page (I'd forgotten to specify a fallback background-color); this wasn't a problem on the desktop browser. Opera have just released Opera Mobile 11.1 and Mini 6.1 in the last few days which now have gradient support, so that issue should be fixed without the fallback background-color.
  • I added a textured background-image to the page combined with a gradient that went from transparent to solid white for which I used multiple background-images. I noticed that in Opera on the desktop, that the page would load with the multiple background-images showing fine but then a split second later the areas outside the central column (i.e. the body element) would change to all white. It took me a while to figure out that the change was being caused by javascript kicking in and the culprit turned out to be jQuery 1.6.1. Dropping back to jQuery 1.4.3 fixed it. This problem only appeared apparent in Opera, so I'm inclined to think it's an Opera bug rather than a problem with jQuery.
  • Opera Mini also seems to have a problem (seems to be a pattern emerging here) with the icons which are included using the CSS content and clip properties, getting their clipping/positioning a bit wrong. The desktop version of Opera and mobile emulator don't have this problem.

But that's about it which I was quite pleasantly surprised about. Working with essentially a single column layout problably helps because there's less variables to have to consider at different screen sizes.

Vertical rhythm

I have to say, that I found this part of the building out of the site, getting everything to line up along a baseline grid, the hardest part! I mean it's not just the maths involved, but the fact you have to do those calculations for line-height, margin and padding every time you add different elements to the mix. Change a font size and you have to recalculate; want to create spacing between elements and you have to recalculate, change the dimensions of the screen so elements end up in different places and you have to recalculate.

I found this part of the building out of the site, getting everything to line up along a baseline grid, the hardest part!

So yeah, there's a lot more extra thought that goes into working with a baseline grid. I've read from others who have written about their experiences of working with vertical rhythm and baseline grid that it's like anything new when you first start working with it - it takes a while for you to get used to, and I'm hoping that'll be the case for me too.

But one thing I can't quite get my head around, and I'm hoping someone with more experience at using a baseline grid while working with responsive design might be able to answer for me is, how do you deal with images? Images that float to left or right and have text flowing underneath them are fine, because the bottom of the paragraph that contains the image is still dictating the spacing between it and the paragraph that follows. But if you include an image between two blocks of text that fills 100% of the containing element, unless the height of your image is made up of units of your default baseline grid (i.e. if your grid is 24px high, your image would be 24, 48, 72 pixels high etc.), it's going to throw out the positioning of all the content that follows it relative to your grid.

Now you could make sure that you size all your images so that they fit exactly into your grid (although I'm pretty sure that would be a restriction that would be hard to work with), but if you use img { max-width: 100% } in your CSS so that your images scale with your responsive design, then all your careful image cropping will go out the window the moment someone resizes their browser. So how do you do it? Is it even possible to combine a completely responsive design that includes variable sized images with a baseline grid? If anyone has any answers to those questions, I'd love to hear.

There have been no comments on this entry so far. Why not be the first?