A Thought Feed

Dropbox Integration


Ahhh so excited! ... and also I'm pinching myself as to why I didn't do this earlier. And so the upgrades to the site continue. :)

It has been about two months since I last updated my photography portfolio... Not to say that I hadn't been shooting. The amount I had been shooting hadn't changed. It's just that with my other jobs, it became quite a bit more difficult to find the time to sit through, cull and then upload the photos to the site, as well as story them up. I enjoy doing it, but it just takes time.

This whole website was built with simplicity in mind, to try to make the sharing process as easy as possible. Especially with the Lightroom integrations to easily export with the entire story and image structure, so I don't have to do that manually on the website.

Though I still was using private Git repos for management and storage of my code... and of my images (yes I know, shoot me now). While this was nice at first, I knew that eventually this would start to suck.

So to the present day, with the task of having to upload all the images from the past few months ahead of me, I decided to procrastinate and take this opportunity to re-think my content workflow, from editing the images to finally having them on the website. And one of those ideas was to remove Git as a means of uploading, keeping my 'content' separate from my 'code'. (No more ginormous git repo. Yay!) Achieving this was a bit of a hacky feat, but I'm happy it's all worked out. :) And yes, this is where Dropbox comes in.


Essentially now the website can automatically sync itself up and update its content, without me needing to manually kick off any upload process. As long as I have internet access, I can keep my photos in sync, even as I constantly update them (without having to manually upload a new batch, and delete the older sets). I've also finally made it possible that I can upload and update content from anywhere, even my phone. :)

So what does all this mean? Well, hopefully that I'll be more inclined to keep this site up to date. I can't guarantee it, but at least I've made this process one step easier. :)

One more thing.. This post was written and uploaded from a phone! :D (Nexus 6P FTW!). And once again this post is being written at 3am in the morning.. Sigh, I still really need to fix my sleep patterns.

Added note: (The next day) I also took the opportunity to upgrade my gallery module. :D Finally not preloading all images on the page when a user clicks to enlarge an image.

The little things


While overseas I've made attempts to keep up my posts on the site, to share with my family what I've been up to. :) And I have to say, the more I look at this site, the more I think I could do things better that I am atm. :P Improve performance here, align those pixels there.. there's always something to do.

And today my cousin saw me make some more changes, or rather he saw me coding some time last night, and saw the results of it today. And what he said made me think: "That looks neat! What did you change?". He'd seen the way the site was before, and arguably the change was quite small on the visual side of things. But he expressed that the site looked "cleaner" and "more shaped".

Content-wise, nothing changed. Layout-wise, I had written a module to dynamically scale the images on my site so they appear properly in rows, and dynamically fit into the layouts I've designed. It's something I'd wanted to do for a while, just didn't get the time, so had written a CSS fill in.. So basically now, the images "should" (I'm still ironing out a couple of bugs :P) have a consistent border around them, and space between other images.

My cousin couldn't put a finger on what had changed, but just thought the site looked "pretty clean". :) I'm starting to think that's kinda a beauty in UX design.. Users aren't always able to put a finger on the little things you've done, or maybe they won't even notice.. but they'll like the experience. And I guess that's what matters. :) "Good design is invisible." And when you start noticing it.. oh how facinating the world appears. :D

Aside: On the note of "noticing" however, I feel it right to put a note of thanks over here. I owe a lot of thanks to:

  • the people who took the time to message words of support when they saw my new site! (really rare in this current era of busyness) Aside from my own finicky nature, they also pushed me to make this site more of a good experience for visitors.
  • close friends who showed support and were really approachable, to help give me feedback on what they thought about some of my designs.

Again.. it's the little things people do that really can push things a whole way.. Many a times that's taken for granted, but when you start noticing them.. :) Anyways, again another blurb at 3 in the morning.. I really should build some better sleeping habits. :P



So the site's been running for about two months now.. Wow it's funny how time goes. Learnt a few interesting things along the way thanks to some turn of events.

One day, about a month ago, I randomly started getting emails from my server host that my output bandwidth was quite high, a lot higher than I had set as my standard. Was quite worried and started jumping on to see what was going on. I then realised that one of my friends (who's 21st birthday I captured) shared her event page from my site on Facebook.

This resulted in about 800 people jumping on my website in about half an hour, all viewing images from her 21st, as well as other events I had shot. That's when it started to hit me, I needed to improve performance.. badly. And boy, was that the start of an obsessive ride! At the time:

  • the images took a while to load. Hence the web experience was slow for people.. (and still many people decieded to wait it out! I was quite surprised.)
  • my server took quite the hit trying to serve all these images out.

So I started working towards improving server code performance, image storage and serving mechanisms (the cache is your friend!), as well as better client side browser rendering.. The last one was particularly important in my case as I was building a site heavy with images. (Image resizing is an fps killer...).

All the while, I'd also been looking at ways of re-writing some of my JS, to make some modules a smoother experience for the users. I've always enjoyed the parallaxing feel on sites, and so implemented one of my own, but with the inital amount of "jank" I had, I could hardly say it was as smooth experience as it's meant to be. Took a lot of learning about JS DOM manipulations and their respective costs, and also neat tweaks to tap into 3D acceleration. :P Oh translateZ() you magical thing.

I've realised that a lot of the bottlenecks come from the DOM querying.. so I've minimised those as much as possible. Also CSS animations using Transforms rather than modifying the padding or margins. This proved quite effective. :) Another day, another lesson. :)

A new site


And so finally a new site! :) This started off as a quick and simple project I built on my flight from Sydney to Bangkok a month ago; a site to put my photos on so family could keep up with my trip with friends. But since getting back I've been working on it every now and then to allow this site to house a lot more of my photography stuff, and something that I can update often.

Why? Well a few reasons:

  • I wanted a nice, simple place to put all my photography escapades together. This is one of a few web projects I'm working on at the moment.
  • I've been told on a number of occasions that I tend to disappear a lot.. And I understand why, as I'm usually always working on some project or another (for myself or a client). So this is a place for people who are interested to see what I've been up to. :) While there are Events on this site, there'll be more in Journal, and Adventures and the Photo Diary sections.
  • I felt like trying something new. While one crowd knows me as a photographer, another knows me as a code monkey. :) The underlying technology behind this site was something I'd not used before, and a language I was not familiar with. But I had fun building it. :) Almost like watching a child grow. :D

Quite a neat feeling. :) I'll be trying to use Facebook integration for sharing my work, with respect to the privacy of my viewers, and won't request for any privileges more than just what I need.

Anyway, I'll continue working on this site and journal later, it's 4.15am and I have work to be up for work in 3 hours. Sigh.. some habits are hard to kill.