Monday
May132013

Business, Rob Roy Style

A while back I watched “Rob Roy” and wrote an entire blog post about how we can learn some interesting business lessons from the way the character played by Liam Neeson survived sword fights.

The post sucked.  Maybe my nicely crafted bullet points with a situation and takeaway seemed like a good idea at the time, but reading back into it, I sadly realized… “this is crap”.

It was a good movie, just probably not good blog/mashup material.  So maybe the lesson from this whole exercise isn’t about how winning sword fights can also help you win at business, but how we shouldn’t be afriad to abandon something that’s no good.

I spent two hours writing that blog post.  I knew it was no good and considered publishing it.   And didn’t.  Have you ever been tempted to launch something that was not good simply because you spent time on it?  Is your company carrying around business processes because someone spent time on them?

Time to get ruthless!  Not “I’m going to be rude and hurt people’s feelings” ruthless, but being “honest with yourself” ruthless.  If you know something is crap, admit it and determine how to decrapify it or get rid of it.  That’s what Rob Roy MacGregor would have done.

Thursday
May092013

What I'd Say to Myself 10 Years Ago

So 10 years ago today, I graduated from college.  Maybe I’m feeling a little bit wistful, 10 years is kind of a big deal, or maybe it’s because I’m going to be a Dad in a few short weeks.  I was thinking the other day, what if I could teleport back to my 10-years-ago-self and give my former self a pep talk.  What would I say?

On that fateful day 10 years ago

First I’d give myself a disclaimer and say “Hey self, you think you’re way smarter than you are and you’re probably not going to listen to me.  But that’s okay because truthfully, the only way you’ll learn this stuff is to mess it up anyways.”

Then I’d go on to give my former self some pointers of what I did learn over the years...

  • Don’t dress for the job you have, don’t dress for the job you want, but dress to be yourself.  However, looking dapper does not hurt.
  • Don’t be worried that you got a degree that’s not business oriented.  Revel in it.  You’ve just learned a set of skills that are applicable in any business.  Problem solving?  Check.  Public speaking? Check.  It’s not what your degree is in, but what you choose to do with it that matters.
  • Tattoos hurt a lot less than you think.
  • Keep on taking the long view.  It makes failures seem that much smaller and successes feel more like a stepping stone than the destination.
  • Speaking of failure, buckle up, because you’re going to have a lot of those!
  • Don’t ever stop loving Volkswagens.  And (hint, hint), you’re going to build one of the best of them.  You’ll succeed because you stuck to it and didn’t give up.
  • Spend as much time as you can with your family, it’ll be the best times that you remember.
  • Don’t ever quit playing music.
  • Growing up sucks so resist with all your power!  Keep that child-like interest, it will serve you well.
  • Stay tuned, because in a year P90X will be invented.  Buy it and never stop doing it.  Sometimes you’ll fall off the wagon but keep on getting back on, you won’t regret it, not ever.
  • You’ll catch the biggest fish by spending more time with your pole in the water.  Every cast you create an opportunity.  This works for fishing and life in general.  Keep trying to create opportunities.
  • It’s okay if you say “Awesome” a lot.  Just make sure that you are doing something awesome.
  • Speed is motion.  Velocity is motion with a direction.  Think velocity, not speed.  Pick a direction and keep moving foreward.
  • Keep on having a good time, no matter what.  You have one life, live it dude!

Still smiling today!

I’m sure I’d be tempted to tell my former self to invest in Salesforce.com, get a job in the cloud technology and make sure I go to the first Dreamforce, but I’d be a little worried about creating a fold in the space-time continuum which would probably destroy the universe. 

Question for you - what advice would you give 10-years-younger self if you could talk to them right now?  Feel free to leave a comment with your pointers!  Thanks for reading.  -Garry


 

Tuesday
May072013

Mobile Development: Go Hybrid

Zach Horton and I split east coast destinations for Salesforce’s Mobile Developer Week. Zach shipped up to Boston, and I headed over the border to Toronto to hang out with the illustrious Pat Patterson.

During Pat’s presentation, he described mobile development approaches using the Salesforce Mobile SDK in three flavors:

  1. HTML5 - web apps built with a mobile-friendly (aka responsive) design in mind.
  2. Hybrid - HTML5 apps (see previous bullet) enhanced with a simple Native wrapper (see next bullet), allowing developers to access some hardware on the device (camera, voice, etc)
  3. Native - apps built using the iOS or Android mobile platforms, allowing developers to access all hardware on the device beyond the “wrapper” mentioned above.

Clearly, the level of sophistication of an app increases as you read down the bullets. The tradeoff? So does the level of complexity to develop them.

I would recommend that any Force.com developer building a mobile app to “go hybrid”. Force.com devs already have the skills to build an HTML5 app quickly, and the wrapper needed to go from HTML5 to a Hybrid app is a weekend project away for any nerd that can’t seem to get their fix of code during the workweek (read: all of us).

Also, Force.com developers typically build business apps. A mobile app will likely plug a specific hole for your company. It would benefit from a device-specific user interface and some streamlined functions, but it probably won’t benefit from a graphics accelerator or a multicore processor that native development may afford. While an “Angry Birds : Salesforce Edition” sounds intriguing (and I’ll let you all decide which Salesforce executive aligns with which bird), “Lead Closer 9000 Extreme Edition” is probably closer to our development reality.

Finally (and at risk of showing of my development ineptitude), native development is hard! I’ve picked up XCode three or four times, only to put it back down in a huff, grumbling to myself “Objective-C makes me feel stupid”! No doubt, there are developers who would laugh at this, but to hark back to my previous point, if you don’t need the sophistication of a native app, you don’t need the complexity of developing it.

Save time. Save money. Go faster. Go hybrid.

Now, throw tomatoes (or angry birds) at me in the comments.

Friday
Apr052013

Dropbox + Bookmarks = Sanity

We use Dropbox to store our "non-office" documents. Image files, PDFs, Omnigraffle diagrams, data downloads, and the like are a great fit for Dropbox's powerful syncing and backup capabilities (it also helps keep them out of email inboxes).

However, one challenge we had in the past was aligning Google Docs, project websites (like Basecamp) and other apps with related assets that are stored in Dropbox. The old-school-yet-effective solution: bookmarks in a folder.

Here's how we do it:

1. Open the Dropbox folder on your machine (we organize our Dropbox folders to align with projects):


2. Navigate in your browser to the page / app / Google Doc you want to track alongside your Dropbox assets:


3. Click and drag the web page icon into your Dropbox folder:


4. Bask in the lo-fidelity organizational glory!

When you do this on a Mac, you will get a ".webloc" file in Dropbox. Double-clicking the file will open a browser and take you to the corresponding page (again, you can do this for anything that has a URL - Google Doc, web app, etc). The file will also sync to everyone else you've shared the Dropbox folder with, keeping your project team in sync and (hopefully) helping to end the "hey where did that thing go?" conversation.

We're all Mac-folk here at Red Argyle, but I'm not sure if that same file format will work on a PC. If not, I suspect a similar format would result if you followed this same process.

Tuesday
Feb122013

Why We Became a Heroku Partner

Red Argyle recently migrated several apps from an existing provider to Heroku for one of our clients - and we couldn't be happier.

Simply put, Heroku is a platform for building, deploying and managing applications. It is probably best described by comparing it to how we used to develop, deploy and support apps in the days before Heroku.

Before Heroku

  1. Build an app.
  2. Find a server. Hope that the server is reliable. Hope that the server is configured in such a way that our app will actually run on it.
  3. Figure out how to get the code for the app on the server. Forget FTP credentials. Call tech support.
  4. Figure out where to put the database that the app needs to store all the data. This often means repeating step 1.
  5. Deploy the app. Use the hope-and-pray method of performance monitoring.
  6. Determine that, based on said hope-and-pray method, that there is a performance issue. Somewhere. Maybe with the web server. Maybe with the database server. Maybe the connection between them. Maybe with something else that we don't understand.
  7. Endure occasional panic-stricken cold sweats and sleepless nights.

With Heroku

  1. Build an app.
  2. Check a box to enable a database.
  3. Check a box to enable performance monitoring.
  4. Deploy the app.
  5. Watch the logs from the monitoring app.
  6. Push buttons to increase performance throughput.
  7. No sweating. Nights are for sleeping.

As you might expect, we prefer the latter. Heroku eliminates all the tasks that have nothing to do with building an app, allowing us to focus on what's important: the app itself.

It's this freedom that's allowing us to dive into much more challenging and exciting projects than we would have in the past. No matter the language, integration points, scale or complexity, Heroku has our back.

That's why we became a Heroku Partner - we firmly believe in Heroku's capabilities and direction, and have committed to running all of our applications on the platform.