Archive | general RSS feed for this section

Filtering great ideas to fit my available time (and budget)

19 Oct

I’m an avid “Idea Man”.  I love coming up with new ideas; for iPhone apps, for web apps, and even for real-world inventions.  Most of my ideas only sound great in my head, but when I open my mouth the idea seems to turn sour.  A smaller number of ideas manage to survive the thought-to-word boundary.  An even smaller minority of those ideas manage to make it down onto my “Idea Book” that I use to keep track of all the potential projects I’m going to work on.  Admittedly it’s not so much a single “book” as a collection of binders, scraps of paper, and in some cases 3×5 index cards.

Suffice to say amongst all those ideas, some gems manage to stand out above the rest.  A few I’ve actually finished, such as Boomle and myDrumPad.  The end product is seldom what I’d planned when I came up with the idea, but either due to time constraints, or the project evolving during the course of its development, things change.  Mostly I’m pleased with the end result, but there are some things I wish I had time for.  For instance, I’d like to re-implement Boomle using Cocos2D to make the animations smoother, and maybe add some extras such as obstacles, more challenging levels and Game Center integration.

Unfortunately, while I absolutely love myDrumPad, my original plans for it involved the creation of loops and patterns within the app.  Once I built it and started playing with it in real-time, as opposed to my ideas jotted down on paper, I discovered that the interface — while easy to use for quickly tapping out beats — doesn’t lend itself easily to creating loops.  I could create loops, sure, but my goal was to create an app that could be used in live performances, and sadly the interface just doesn’t lend itself to real-time editing of loops.  That’s not to say that I’m unhappy with myDrumPad.  Sales are going fairly well, and I have a few more updates planned.  I’m still adding additional languages to it using ICanLocalize.com (currently it has native support for English, Korean and French, and Japanese and German are following soon).

One of my constant loves for as long as I have been programming has been music and sound production.  And since I’m a rather unconventional thinker, I’d like to try my hand at an unconventional music interface.  I like the idea that someone without any knowledge of music notation or performance can learn to use my apps to produce the music they hear in their head, and to express themselves in ways they wouldn’t otherwise be able to.

I’m still formulating an idea in my head, but the loop and patterns features I was planning for myDrumPad are going to be built into a new application instead, with a completely different interface.  Like myDrumPad, it will be an experiment to see if producing music in this new UI metaphor will be successful.  It’s hard to explain, so I’m going to wait until I have a more accurate prototype to show.

But this app idea doesn’t exist in isolation.  In my little book of ideas I have several on-the-go prototypes just itching to get started, but since I still maintain a day job (and will for the foreseeable future) my time is limited to a few hours per day, and weekends.  My web-based space game, my photo sharing web application, my sonar-based iPhone utility app…all these ideas are stuck in my head as fantastic ideas I’d love to pursue, if only I had the time.

I’m sure it will be an interesting adventure to see which idea wins out in the end.  Do I build a web-based MMOG space game set in an infinitely-scalable universe?  Or do I build a Core Audio-based iPhone utility?  How do I determine which project has the highest likelihood of succeeding, or at least have the greatest likelihood of being finished in a reasonable time-frame by a single developer?

In an ideal world I’d build all of them.  Unfortunately, as an idea man, I think of ideas of varying awesomeness faster than I can build them.  As long as I require sleep, I suppose I’ll be stuck in this situation.

Silent no more…

3 May

Wow the past few months have been quite a wild ride, and a ton of things have happened!  So much has gone on and I’ve been writing so much software that I haven’t had the time to blog about it.  In the time I’m not writing software, I’d rather spend it with my wife than spend it writing about the software I’d written.

Over the past few months, while the PhoneGap team started a major refactor of their codebase, I spent some time learning more about Objective-C and UIKit, and discovered that writing native software on the iPhone is a heck of a lot easier than I’d previously expected. It shouldn’t have surprised me, because I’ve heard rave reviews from developers I have a great deal of respect for, and it also shouldn’t come as a great shock that Apple treats their developer SDKs with the same degree of polish and attention-to-detail that they do to their hardware. So while I was working with PhoneGap I’d contributed a number of plugins exposing the iPhone’s native UI elements to JavaScript-based apps, I’ll no longer be updating or adding any new plugins.

While my blog was collecting dust, I also finished a PhoneGap-based app, Parking Mobility, and while it was nice to start the project in familiar languages like HTML and JavaScript, a ton of time ended up getting eaten up chasing random bugs, memory leaks, and strange UI behaviours that required odd work-arounds to eliminate.  In the end I discovered I’d spent more time getting the application to market than if I had built it in native code.  Starting this past weekend I’ve begun doing just that, writing the application in UIKit and Objective-C in order to get more performance and a better user-experience out of the app than we have currently.

One of the other big reasons why I haven’t been as chatty on my site as usual is, of course, the launch of the iPad and the iPhone 3.2 SDK.  I decided to hit the ground running with this platform, and used this new SDK as my playground for learning more native development skills.  I developed two applications for the initial launch of the iPad, Boomle and myDrum Pad.

Boomle is an easy-to-play game featuring peaceful sounds, low-touch interaction, and an addictive gameplay.  It was a lot of fun to build, and got me started working with OpenAL, manually drawing displays, and dealing with real-time games.

myDrum Pad in contrast is an interactive drum pad that aims to allow people to tap beats out with a variety of sound packs along to music, or create their own riffs.  It’s still in active development, but this has been a blast.  I’m developing it with CoreData, OpenAL sound playback, multi-touch displays, In-App purchase and asynchronous downloads from Amazon S3.  It’s a highly dynamic UI with a smooth user experience.  It’s also the first iPhone project that I’m directly involving a graphic designer with the whole process, and once we get a beta ready, I’m sure you’ll like the screenshots and demo images we’ll be putting up.

Last, and certainly not least, I’ve changed roles in my day job at Sophos, and am working once again in the Email Security team developing our Email Security Appliance.  I get to play with all sorts of complex problems, web-based administration interfaces, and pretty much every technology under the sun.

Now that these projects have all stabilized, I’ll hopefully be blogging more about Objective-C, Javascript web applications, and technology in general. Plus Summer’s quickly approaching, so hopefully I’ll have some pictures of my motorcycle and any trips my wife and I take this summer up here soon.

I’m in Movember this November

4 Nov

Just like most of the men at my office, I’m participating in Movember this year, largely due to the razzing I got last year when I didn’t participate. Yes, I’ve succumbed to peer pressure…what would my mom say? At least it’s for a good cause. Of course, the first question I asked is “What’s Movember?” It’s a fundraising event for prostate cancer where men grow mustaches during the month of November.

While I can grow a mustache fairly well, I really don’t look good with one. So hopefully I won’t have too many pictures taken of me this month. And if you want me to feel better about it all so I don’t feel like it was a total waste, please head on over to my Movember profile page and donate a few bucks, or more.

As you can see, it’s a few days and it’s at a respectable and not-yet-annoying length. If you contribute, you get a vote on what style my mustache should be. I figure of I’m going to have nasty facial hair, I might as well go for it wholeheartedly. So donate to a good cause, frustrate my wife, and get a few good laughs in.

Ideas On Tap, or “Speed Dating for Entrepreneurs”

15 Jun

At the suggestion of my friend Scott McWhirter, I decided to go to Ideas On Tap and keep an eye on the pulse of the Vancouver technology community. And after spending an evening drinking beer and talking with various people from companies around Vancouver, I began to feel like the only married guy in the middle of a speed dating session.

I have a stable and intellectually stimulating day job that I have no plans of leaving anytime soon, but it was still a nice ego boost to be flirted with by so many companies looking for bright talent. In Vancouver, at least, it seems like if you’re smart and you are a creative developer, there’s work out there to be had. In fact they can’t seem to get enough. But unfortunately for them, a lot of developers here are in the same situation I’m in – happy with their current jobs, challenged but not over-worked, and not too interested in changing anytime soon.

I had an opportunity to meet John Chow with his camcorder, trying to get footage of women kissing one another, but the whole evening was basically one giant sausage-fest, as this tweet from him can attest.  I managed to meet one of the guys behind Mobify.me which seems to be quite an interesting product.  In fact, part way through the conversation he mentioned a great project called “PhoneGap” that they were recommending to people looking for more from their mobile platforms.  We both got a kick out of the irony that I’m one of the main developers of its iPhone branch, but nevertheless it was good to hear that other companies see the value in PhoneGap that we do.

The amazing thing was that the entire night was almost exclusively focused around mobile development and the mobile web.  It makes me confident that I’ve decided to play in the right area.  Not only is mobile development a blast, but it seems to be where the biggest focus is of entrepreneurs are these days.

I really need to broaden my music horizons

10 Jun

AFI - Decemberunderground

You know that feeling when you listen to a song that you love so much, you re-play it 3 times in a row? You also know that feeling when people tell you “ZOMG you’ve gotta listen to, you’ll love it” and you say “yeah yeah, sure, sometime…” and you never bother ’till “sometime” eventually comes along, and you think “Why the hell didn’t I listen to this earlier?!” Well, I’m doing that right now with “Miss Murder” by AFI. I’m on my 3rd play through in a row, and I’m seriously considering starting it over…

And yes, the song just ended…and I just hit the “Skip Back” button on my iPhone. It’s playing once more. Yes, it is ridiculous. Yes, I know this song will be stuck in my head for the next week. But at this moment, I don’t particularly care.

One of my friends, Chris Prather, who’s been telling me for ages to listen to this album just called me a “newcomer”. Guilty as charged.

So if anyone has any “ZOMG You’ve gotta listen to this!” music recommendations, leave me a comment. I’ll make sure to listen to them sooner this time around.

I’ve moved away from Blogger

4 Jun

I really don’t like making tweaks to my blog itself, since I’d much rather be writing my blog posts themselves, or the software I talk about in my blog.  So any time I spend working on just the blog software’s configuration feels like wasted time.  But frankly, while I liked the simplicity of Blogger for all my previous entries, it was just getting on my nerves.

I didn’t like the editor interface, I didn’t like how difficult it was to tweak the HTML and theme settings, and frankly it was just too difficult to update.  And since I run my own server and manage my own websites on it, I figured to hell with it.  I’ve started migrating to WordPress (it saddens me that I’m not using Perl for my blog, but alas, I have no time to tweak anything).

So this is the first post to go onto the new blog.  No one will see it until I switch my domain over, but for the time being this is it.  I’ll set up some redirect rules later once I want to make things official.  I’m also not done changing themes or plugin settings, so I’m not happy with what I have now, but it’ll improve bit by bit over time.

Marketing, are you stupid or enlightened stupid?

4 Jun

My interactions with marketing has been very spotty throughout my career. I know and accept that marketing plays a huge role in business, both online and offline, but I just can’t seem to wrap my head around it. I’m one of the types of people that create. Those that sell, and those in the middle that help both types around them either create or sell, are very useful. I just can’t figure out what the hell it is that they do.

So when Jen posted a tweet about a YouTube video about Enlightened Stupid Marketers, I first laughed, and then figured I had to post it here. I don’t have anything else to say. Just watch and enjoy the video.

Long weekend at the Spiller Estate B&B

26 May

My wife and I had to go up to the interior of BC to clean out an old storage unit of the junk I don’t need anymore, and close it up for good.  Luckily for us this went faster than we’d expected.  Instead of 1-2 days of cleaning and carting stuff off to the thrift store, it was 2 hours of sorting through what I wanted, and left the rest to be picked up by the thrift store on Monday.

This left us a 3-day weekend with no obligations, and no plans.  Since we were a short drive from a ton of family, as well as some of the nicest vacation spots in a variety of small towns nearby, we had two choices: Either try to cram as much visiting into one weekend as we possibly could and couch-surf, or play tourists for a weekend and enjoy ourselves.
So after a nice lunch where we did some research on our iPhones, we ended up driving a couple hours to Penticton, a fairly small town in the heart of British Columbia’s winery region.  Googling for “Winery B&B” for our area turned up a few results, but the one that caught our eye was Spiller’s Corner B&B & Winery.  A nice heritage B&B, right on a vineyard, and close to several wineries.  We called and booked the room before we got the bill for lunch, hopped in the car, and made our way over.
The weather was fantastic, and since we arrived fairly early, we were greeted with a free wine tasting of the wines made right on that vineyard.  We discovered that it’s a “No-Host” B&B which I’d never heard of before.  Someone comes in the afternoon to clean the rooms, and someone else comes in the morning to cook breakfast, but beyond that the guests have the whole house and grounds to themselves (with the exception of the separate building used for wine tastings, which is open from 11:00am – 5:00pm).
We spent our days there just relaxing and enjoying ourselves; wandering to the different wineries and bought a few bottles of the tastier ones we found; we sat in the sun tanning, reading, or playing cards; we even bought some groceries from the local Safeway in town and barbecued some salmon for dinner.  And in the farm across the street there was a mare and newborn foal that were absolutely adorable.  After the breakfast the cook made for us one morning, we took our morning coffee and walked across the street and visited the baby horse that adorably found everything around it new and adventurous.
All in all it was exactly what the both of us needed.  A break from the fast-paced city life, a relaxing road trip through the country, listening to the birds, the wind, tasting wine and catching some sun.  With the exception of lunch at a restaurant one afternoon with terrible service of epic proportions – I’d advise against eating at The Hooded Merganser, unless you feel you have better luck than we did – our trip had the most relaxation packed into a 3 day weekend of any other I’ve had.
I consider myself lucky to live in such a richly diverse province, and to have such a wonderful wife to share it with.

So much to do, so little time

7 May

I think work wrecked my brain a bit today. I have so many ideas running through my head, and just not enough time to catch up to them all. It happens to all of us from time to time, but the thing is I have so much fun with work, that it’s hard to moderate myself. I think I’m going to head home, listen to some Bob Marley, and when I meet up with my wife and her parents at the pub, I’m going to watch the hockey game, drink some beer, and enjoy my evening without technology.

That being said, I’ve recently made some great updates to PhoneGap, and have added some docs. Check out the generated JavaScript documentation and iPhone documentation from my personal branch at Github. I’m sure we’ll get the docs pushed up to the main PhoneGap website soon.

Where are the Simpsons? My wife might have the solution

29 Mar

So my wife is probably one of the coolest geeks I know. Would you like to know why?

We were just watching the intro for a new episode of The Simpsons where Comic Book Guy ate a dinner, and finally was given the bill which showed, among other things, the tax. So, she pulled out a calculator, figured out the food service tax percentage, and went straight to Google to see which state Springfield is in.

Does anyone know which State has 8.24% food service tax?