Got together over the ANZAC day holiday with Nikuman to work on a new NKMN track – The New Man: It was great to get together again after such a long time without writing any music… I must admit, this track was already almost finished – I just helped out with some extra variations [...]
Got together over the ANZAC day holiday with Nikuman to work on a new NKMN track – The New Man:
It was great to get together again after such a long time without writing any music… I must admit, this track was already almost finished – I just helped out with some extra variations of some of the parts – especially funking up the baseline!
The phone rang. A nice man with an Indian accent called from an interstate phone number. He was calling to tell me that I have numerous problems with my Windows computer! He said he is calling from Microsoft Windows Support to help me – great, finally some service from Microsoft! Read On…
First the techniques for tracking when media queries change / initial state:
- matchMedia - this checks css on the page for media queries and returns a list of them. (see https://developer.mozilla.org/en/DOM/window.matchMedia for more info). Great idea, but the browser penetration for it is not really up to scratch for production (here at Cru Digital we still support IE7+ for production - believe me I wish we didn’t have to, but even IE8 is a NIGHTMARE)
Once a decision has been made on which technique to use, then it is just a case of either choosing the right library that works for your project or rolling your own. The other thing to consider is how you like to be “told” that a media query has been fired (possibly including when entering and exiting a specific media query) – generally there are two ways that this occurs – registering callbacks & having events fired. My personal preference (coming from an MVC programming background) is via events – this makes for cleaner / leaner code and makes sure you don’t have references all over your code base to various other parts of your code base (enabling better garbage collection for non-trivial applications). The final consideration to make is to ensure your library of choice tracks what media query you are currently in, which helps when you want to just do a quick check for the current state of the browser media queries.
Personally I can’t wait for matchMedia to be more possible to use (ie: browser penetration – come on Chrome & Firefox) and as yet I have not had the chance to use Paul Irish’s matchMedia polyfill, but for the mean time we have used the Conditional CSS technique from Springload (nice one guys!) in a production site (hogsbreath.com.au) and it worked quite well – at least until we got to testing in IE7, IE8 & Android which all don’t have the best support for the :after pseudo element – so there were a couple of little changes to it to make it work for us, but that would not be a problem with the current version of the library.
- matchMedia.js – a matchMedia polyfill from who else, but Paul Irish
- Smart resize - reduce the number of events that occur when browser resizing (increase performance of code)
- MDN article on matchMedia
- MDN aticle on using matchMedia in code
- Can I Use page for matchMedia support
Whatever you all use – make sure it works for you in your project and above all test, test, test! This is an exciting time to be developing on the web – so much cool new stuff and so much to learn!
So it’s 2012 and at the start of the year, you have a think about the previous year and what happened to you… for me, 2011 was a pretty intense year…
It all started on a high.
With my big sister visiting from the US with her husband for Christmas, a baby on the way, a good outlook for work and a new BBQ, things couldn’t be better, really…
Then the floods came.
Our home got flooded in the January 2011 Brisbane Floods. We evacuated on the Tuesday night at around midnight Read On…
Dreamworld Funplanner gets another award!
It’s been a great result for a project that was particularly difficult to get out into the wild… congratulations to all involved.
Add that to the Best in Show at the W3 awards earlier in the year, and we have the start of a nice little collection of awards for the project…
And here it is: Dreamworld Funplanner
And on our (Cru Digital’s website): http://crudigital.com.au/#/cru-digital/work/dreamworld-fun-planner
Some of the other award winning websites I have been involved in:
Best In Show: Dreamworld Fun Planner
So I work for a digital advertising agency, and the advertising industry does a really good job of patting itself on the back by giving out awards… now don’t get me wrong, I love to get awards for websites that I have been involved in, but sometimes we are blinded by those awards and may not always focus on the real prize – customer satisfaction. A website is only as good as the outcomes it provides to the client – if an award winning website provides little-to-no return on investment for a client (which includes brand awareness – which is notoriously difficult to quantify), then what is the point of it?
Making design (and development) decisions just for the sake of making it look better makes little sense to me if those decisions don’t help the client’s business requirements – I mean of course if we hit our deadlines and budgets, then let’s add the bells and whistles…. just sayin’
After having done some work developing mobile apps over the past year,I have had to deal with all manner of issues over different screens, resolutions & supported functionalities. The biggest issues faced when developing the apps was the design – unfortunately we were not really prepared for the design requirements for mobile applications – wish we had this article before designing the apps… c’est la vie.
Working with software all day, I come across all manner of poor (and great) software packages. Some are robust, some are fast and lightweight, some are the complete opposite. Here is a great article on what it means to program a robust piece of software (from who else but the Linux information project): http://www.linfo.org/robust.html. Producing software that is fast, lightweight, easy to user and has few (or no) bugs in it is what we (developers) are all trying to do, and this definition of robust, really reminds me of where we want to get to. Read On…
So I never thought I would have a blog… interesting how things change. Really I don’t have time to get a website up but it’s been too long in the coming so I thought I would put a blog up to get my musings out there, as well as a little showcase of some of my work – both professionally and personally. So here we are. Post one complete. Out.