Uncategorized (33)

Not Forgotten

It’s been a while since I blogged here regularly. I have the best of intentions, but with life being what it is, I rarely think about it, much less take the time or have the energy to do it. I’m reminded that I do this for us – for me and for you. From time to time I actually come back to this blog and find solutions to answers I’ve long forgotten. For you, I write this all down so that maybe you have an easier time finding the correct path than I did.

Expect to see more from me. I don’t mean to imply I’m becoming a prolific writer, but this has been a very small snapshot of my professional life over the years. I don’t intend on letting that go easily.

7 Rules for Creating Gorgeous UI

7 Rules for Creating Gorgeous UI (Part 1)

In the end, I learned the aesthetics of apps the same way I’ve learned any creative endeavor: cold, hard analysis. And shameless copying of what works.

I’m enamored with well-designed objects, software, though I’m not a designer. I appreciate posts like this one because it scratches that inner itch and provides useful pointers I can use.

Initial Reactions: Apple Watch, Apple Pay, iPhone 6

Today’s Apple event flew by, and for good reason – it was jam-packed full of some goodies.

 iPhone 6, 6 Plus

I hate to say it, but I think the iPhone 6 is the least interesting piece of news from the Apple Event. But, that doesn’t mean these are un-interesting devices. Of course, we’re all excited about having a larger screen (I hear you, Android fans). The specs look great – full sRGB gamut, wide viewing angles. The camera also received some nice bumps: new image stabilization & autofocus improvements, better sensors, etc. Processor, GPU… all what you would expect from a next-generation phone. I think the design is nice, but nothing extraordinary. Maybe I’ll feel differently once I get my hands on one.

Apple Watch

Technically Groundbreaking? I wouldn’t say so – there have been other smart watches before it. Groundbreaking in the way Apple does things – yup. It’s clear Apple spent a ton of time on the user interface – both software (panning, tapping, etc) and hardware (crown, buttons, etc). As pointed out in the presentation, there are metaphors that we’re used to on a phone that won’t work on the watch. Pinch to zoom was one of them. This is where Apple shines – by practicing restraint (cue the “thousand ‘no’s for every yes quote).

I’m eager to see the Watch SDK. Even with the minimal features they demonstrated on stage, I can think of numerous applications complemented by the Watch.

Apple Pay

This was the most recent / late-to-the-game rumor to come out, but it’s brilliant. This, I believe, is where Apple has the most room to disrupt an industry. Sure, the watch is pretty cool, but that seems more an evolution on how things are done. With Apple Pay, we’re now moving away from plastic as identifier to biometrics and person as identifier. I suspect Android solutions will be close behind (even Google’s failed attempts at Google Wallet), which when taken together as a whole, represent a monumental paradigm shift in how we pay for things. I particularly like the focus on the payment transaction – *beep* paid for. All the payment source is kept secret from the retailer (so some scoundrel waiter doesn’t swipe your CC at the restaurant), and Apple doesn’t care to know what you purchased. Apple as opposed to Google and Amazon, is not in the advertising business, and they keep driving that point home. Your information is safe with us. Given Apple’s consistent approach to protecting consumers (e.g. AppStore), it’s a believable (as in trustworthy) statement.


Overall, a great announcement. There’s a lot to look forward to in the coming weeks and months. We’ll see how this has all panned out in a year. Now, if you’ll excuse me, I’m greasing up my card for a new phone and watch purchase.

MapBox Visualizes 3 Billion Tweets

Visualizing 3 Billion Tweets 

The patterns of usage in each city often reflect economic stratification. For example iPhones, in red, are predominantly in wealthy sections of the city while Android phones, in green, have more coverage in poorer sections. On a global level, national trends reveal a complicated set of cultural preferences.

I wouldn’t say this is surprising – simply another data point demonstrating what we already know… iPhone owners have more disposable income. It explains how the iOS is more profitable as a platform than Android.

iOS Smart App Banner plugin for WordPress

iOS Smart App Banner plugin for WordPress

I just released version 1.0 of my iOS Smart App Banner plugin for WordPress. This plugin lets you put a smart app banner at the top of your post or page when an iOS device visits in mobile Safari. It’s a great tool for app promotion that makes it very easy for people to find & buy your app in the App Store.


[UPDATE] The plugin has been updated for Apple’s new referral links.

Update your WordPress.com RSS links!

I just noticed that the live feed from this blog to my brochure site at mistercameron.com was broken. The code I wrote to parse the rss data was throwing an error because the link to http://mistercameron.com/feed no longer resolved. Huh. The folks at WordPress must have changed something in their .htaccess file recently because adding a trailing slash fixed the problem.

EnvironmentalLights Redesign Launch

After much work and anticipation, the Environmental Lights redesign has launched. I’ve effectively been the dev project lead (not project manager) for this site (via 212Interactive) for the last year – a great experience. The goal for this redesign was to clean up some of the design and make the site easier for customers to navigate. Environmental Lights has a great selection of earth-friendly lighting solutions, including LED and CFL bulbs.

Dynamically set onClick events in IE and Firefox

I’ve had a couple of small tasks where I’ve needed to toggle the onclick events on a page element. It was surprising how difficult it is to get a straight answer on how to do this.

function hide_field() {
my_element.onclick = function() { show_field(); };
function show_field() {
my_element.onclick = function() { hide_field(); };

RevealCMS backs DIVEintoFLOOD.com

The Flood website redesign has finally launched. On the back-end is the upcoming revealCMS. There are still a few bugs here and there that I want to iron-out before I make it a 1.0 release, but it’s getting there. Overall it’s been a very stable release. The only hiccups we’ve really had to date are with little server quirks and file permissions, but other than that pretty solid.

Some of my most immediate fixes are mostly in the user experience realm. Just from really using it over the last month or so, I’ve found a few areas that can be improved, or shortcuts added.

Next step: revealCMS.com upgrade.

Design Frameworks

I recently read an article over at A List Apart, called Frameworks for Designers. It got me thinking. Actually no it didn’t. The idea was so brilliantly obvious! And sometimes we even do it (such as using blank CSS templates), but not quite like how Jeff Croft describes the process.

From a developer’s point of view it makes a lot of sense. We make all sorts of little include files that do things and we include them into our scripts when we need that sort of funtionality. Jeff explains how designers can do similar types of abstraction with CSS and other elements, which really is one of those “Duh!” type moments. Honestly. One file for tabbed browsing, another for forms styling or page layout. At the same time you can include various javascript for functionality of effects.

At 212Interactive we have a few elements like this, though definitely not quite as sophisticated as the article suggest could/should be done.

My other contract jobs are a mish-mash of projects that haven’t quite made it far enough to use this technique, though I am planning on using something similar for the upcoming RevealCMS (alpha and beta coming this summer).

Here are some free XHTML/CSS templates to get you started with your own framework for design. twe.nty3.com