Digital Dave

Musings on projects, business and life.

Icon

Don’t miss out on the networking opportunity

How many of you are carrying a business card? How many of you know how to grab enough information from somebody to create a link that you can use to follow up?

Let’s just say you just happen to be standing next to somebody while you both are enjoying an event. Well, that seems normal… It’s just like every other person you stand next to every time you go somewhere. Standing in line to grab a cup of coffee at Starbucks? Maybe a museum exhibit? But this time a conversation sparks as the event plays out. You learn that this individual is very experienced within the industry you are involved in. Quick! What do you do?

Time’s up. Connection opportunity disconnected… Did you get enough information to follow up?

The time it took for you to read those last two lines is about how fast you can lose out on a great contact. Be sure you have enough wit to maneuver effectively within a situation like that. The person you are talking to could, literally, catapult you to new heights.

We really need to resolve the inviting ‘Friends’ problem

Congratulations, Welcome to Yelp! Here are your friends who are already on Yelp and here are your contacts who are not on Yelp, yet! Who do you want to invite?

Congratulations, Welcome to Farmville! Here are your friends who already play Farmville, and here are your friends who don’t! Who do you want to invite?

Congratulations, Welcome to Loopt, Foursquare, Gowalla, and whatever new social geo-locating friendship app comes out in the near future! Here are a bunch of your contacts, who do you want to invite?

Request sent

Wait for a response

Send a reminder

I’m sure you’ve been able to grasp the point by now. There are a whole lot of applications out there right now that feeds into your social graph. If I am connecting to an application that several of my friends are already using, why should I send an ‘invite’ for those friends to join me? They are my friends for a reason!

Some people like to invite random people into their social graph so they can take advantage of the benefits that come from having a large friendship network. I can see why you may not want those people to instantly be connected to you when you sign up for an application that both of you have. Well, there should be lists that control the scope.

Facebook dominates in knowing who your friends are so they would be the most suited to tap into this experiment. They’re view on privacy pretty much means they would be open to implement something like this as well.

This problem is obviously seen in Facebook games. How many Zynga game invites does it take before your friends start ignoring their notification area? If, by chance, your friend actually looks at their notification area you will get connected. But a lot of people are probably ignoring notifications since it is a huge spam-bucket. So, now you are left with the option of sending an actual message to your friend to remind them about your invite. Great, more spam.

In my mind, it makes sense for a game to know who of my friends are already playing. Moreover, It makes sense to just connect those that are in my friends list to a game that I am new to. This bottleneck of inviting doesn’t have to exist.

Expand that to other applications outside of Facebook. Hi, Yelp, You already check my contact list for those that are already within your network. Well, it doesn’t sounds too extreme to think that those people are probably people who I have a friendship with. Why not just link our accounts together? This is just one example, but there are many applications that are starting to tap into your social graph.

It’s only going to get worse.

Finished up Rework

I’ve been on the lookout for some good books that are startup in nature. Rework fit that bill easily. This book was written by the brains that brewed 37Signals and they give some great advice.

The book is divided into small chunks which makes it easy to put down and pick back up. The good news is that you’ll probably plow right through it since it is pretty entertaining to read.

A couple of pieces that stick out in my mind -

About failing
“Another common misconception: You need to learn from your mistakes. What do you really learn from mistakes? You might learn what not to do again, but how valuable is that? You still don’t know what you should do next.”

Which is followed by, “A Harvard Business School study found already-successful entrepreneurs are far more likely to succeed again (the success rate for their future companies is 34 percent). But entrepreneurs whose companies failed the first time had almost the same follow-on success rate as people starting a company for the first time: just 23 percent.”

About being a workaholic
“Workaholics miss the point, too. They try to fix problems by throwing sheer hours at them. They try to make up for intellectual laziness with brute force. This results in inelegant solutions.

They even create crises. They don’t look for ways to be more efficient because they actually like working overtime. They enjoy feeling like heroes. They create problems (often unwittingly) just so they can get off on working more.”

This especially hurts the people who are NOT workaholics. Those people feel inadequate.

Meetings are toxic
Not that we don’t know this. But why are companies not paying attention to this? Granted, I only have experience at one company, but our meeting process is terrible at best.

A couple of points they make that I like… “Set a timer. When it rings, meeting’s over. Period,” “invite as few people as possible,” “End with a solution and make someone responsible for implementing it.” I would also be a fan of removing the chairs and making meetings stand-up right by a whiteboard that has the problem written out and circled.

Your competitors
“Who cares what they’re doing”

Your customers
“Let your customers outgrow you”

Don’t be the people who continue chasing after customers. If your service no longer satisfies their need, let them move on. Focus on those that really need your service instead of diluting your service by casting a wider net.

There is so much good stuff in the book that I could continue writing. But, instead, I highly recommend checking it out.

WWDC Sessions Worth Saving

If you’re in the developer program.

From the many I’ve watched, I downloaded and tucked away these that I thought were worth keeping.  There are some outstanding sessions.  I think I have about 13 more sessions I plan on watching.

Coding

Session 113 – Working Effectively with Objective-C on iPhone OS
Good refresher on a few topics from a veteran at Apple, Blaine Garst
Blocks, @properties, categories, selectors, delegates, @optional

Session 114 – Advanced Objective-C and Garbage Collection Techniques
Class extension, synthesize (and optional to synthesize), weak linking, blocks (talks about stack/heap), leaked/abandoned memory

Session 123 – Building Animation Driven User Interfaces
Adding animation is one sure-fire way to give your application a feel of polish and detail.

Adopting Multitasking Sessions (105/109): If you don’t like reading, watch part I, otherwise, read the documentation which is really well written.  Part 2 shows some great examples of doing things in the background (audio, location, etc).

Session 120 – Simplifying Touch Event Handling with Gesture Recognizers
Goes over UIGestureRecognizer. Documentation is here.  I was actually unaware of this… We’re talking about dropping 220 LOC to about 40 LOC, optimal, and simple to implement. Very sweet stuff.

Design

Session 103 – iPad and iPhone User Interface Design
Considering that we all can’t hire excellent designers, we need to take it on ourselves to hear how designers think so we can produce something with simplicity and elegance.  There are some great points given in this talk. At least skim through it to see their major points of interest.

Tools

Session 310 – Advanced Memory Analysis with Instruments
Memory is absolutely critical on these devices. The included instruments are insanely useful. Take advantage of them.

Application-identifier format error when submitting iOS4 application

“The application-identifier entitlement is not formatted correctly; …”

Are you seeing this error even when your bundle identifier is listed correctly on your provision profile and your info.plist?

Delete your Entitlements.plist file and re-create it.

iAds for Project Void and Spin & Shoot

I’ve decided to release free versions of Project Void and Spin & Shoot which will be ad supported.  I’ll be keeping the pay versions up for those that really don’t like ads flying around their screen.

The free version of Spin & Shoot has already been submitted.

I’ve implemented iAds into Project Void, but it will need some additional iOS 4.0 work.  Once I clean up how it handles being thrown to the background, I will submit it.  It shouldn’t take too long to fix up.  After this version is released I will be replacing the Cocos2D scoring system with the new Game Center (depending on my next project).

I started designing a new project for the iPad. I’m pretty excited about this. While I still don’t have an iPad I am hopeful that I can snag one from a friend when it comes time to doing hardware testing…  Or I may just end up buying a basic one since there are some good stuff being developed for it already.

I recently bought Carcassonne for my iPhone.  The developers have done an excellent job on this.  The user experience is really slick.  $5 is hard to swallow, but it is worth it if you are a big Carcassonne fan.

Project Void picked up another review from the guys at TheAPPera: http://bit.ly/cdUyGW

Conclusion

Project Void is your reverse approach on Tetris. In many ways it is the anti-Tetris and compliments the gameplay of it perfectly. Sometimes a game is just not logical, and this one isn’t, but that doesn’t make it any less awesome. Kudos.

Edit: Finished updating Project Void to handle the multitasking bit.

The Closure and the Road Ahead

For a first job out of college I must say I landed on one of the most interesting career paths. The movie industry is a very, very interesting industry in the way software development is produced and controlled. I have to say that I learned a lot. I was fortunate in that I wasn’t stuck on one project, but I moved to several large projects within our department. This company was a start-up controlled by a much larger beast — which one would think would lead to reassurance and comfort. Despite a normal earnings we were ultimately shut down due to a philosophy change. Which is fair – it’s business.

So now I sit in an interesting position. My first year here was largely getting accustomed to how things work; development, the movie industry, terminology, tools, people, systems. Let’s see what I can take away from this experience:

  • Worked with our build system based on Buildbot
  • Wrote unit tests for one of our major studio tools (python)
  • Investigated UI testing packages and getting the studio to adopt Squish (which has been great)
  • Investigated a new build system, Hudson, for our unit/ui testing (our buildbot setup was fairly rough, the build engineer and I were the only ones confident enough to touch it)
  • Integrated UI tests and unit tests into our build system
  • Integrated 2 features into a major studio tool used for viewing movie clips generated by artists
  • Fixed several bugs in 4 of our studio tools
  • Helped put out a lot of fires

During this time, I had the will to spend time working on independent development in other areas after getting home at 7pm.

  • Learned Objective-C, Cocoa, iPhone OS frameworks, SQL Lite
  • Developed Spin & Shoot as a first project
  • Created a tool in C# to assist in data entry for the Spin & Shoot database
  • Developed Project Void
  • Developed a website for a local business back home, nothing fancy (html,css): http://www.pmtsap.com
  • Wrote a small application for a buddy
  • Created a couple of prototypes for future iPhone work

I would say that if it wasn’t for my independent work, I would be pretty screwed since I was learning a lot of a wide array of things.

I’m in the process of figuring out what is next. I can say that I have little desire to ever work in the movie business. It is great for artists, not so much for developers that really want to change the world. I ultimately came here for the experience, not to make a 30 year career out of it.

What’s next?

I’m interested in a few things right now.

Joining a startup is something I am considering. My impact will be much, much greater and I already have the burning desire to start a company on my own whenever the right business idea or partner comes around. So this could be a great learning experience.

iOS development (iPhone/iPod/iPad) is very, very interesting right now. I absolutely love the devices; the style, interaction, functionality, usability.  And programming for these devices can be pretty fun.

Web development (css/js/java/python) is where the world is. We all revolve around the internet. I have extremely limited experience here, but I am very interested in learning more. Thus far I’ve only really experimented with ExtJS.

Tool development (c#/.net) is fun as well. C# is one of the obvious languages I jump to when I need a tool developed to supplement another technical need. I could see doing this full time and having a blast with it, but my experience is limited.

I’m going to get on the trail and begin searching hardcore.  So if you’re hiring, feel free to get in touch. ;)

Resume: http://folio.david-mcgraw.com/dlm_resume.pdf

A Set of Networking Tips

Networking Tip #1

Rub elbows with every single individual around you, even if you think you’re “safe,” because you’re not.

Presumably you are already working with an outstanding company that is fully funded with a solid foundation being built for future growth.  You are high on life and are sailing with the high winds toward a glorious world of gold and product.  You are enjoying your job… until it is taken away.

Let me guess… You were:

Too  busy working away at your current job.

Too introverted to go buzz around events.

Too lazy to care about something like relationships.

It takes time to build relationships and you should be doing that every chance you get regardless of the excuses that surround you. Life is difficult and it isn’t going to get easier.  Your job is not a right, it’s a privilege. Take care of yourself to avoid that one day where it’s pulled from you and you are standing naked and alone.

Networking Tip #2

Put on your game face because people are people and you are what matters.

You need to take care of yourself.  This is a tough world to live in if you have any hopes in moving around.

Stand up for what you have done and wear it as a merit badge.  You earned it through time and devotion.  Don’t focus on WHO are you are talking to, but rather focus on WHAT you are talking about and your conversation will feel much more worthwhile.  Let the WHO come out later.

Networking Tip #3

Exchange Business Cards!!!

Great! You met somebody!

Wait… You didn’t exchange business cards?  Why?

You only spoke to them for a minute or so?

OMFGWTFOMGZ!@#*@#!!! /facepalm

The point is that once the ice is broken you are now a soft contact.  You’ve ingrained a picture of your face into another person’s mind.  Our mind doesn’t need a lot of time to build that memory – especially if you find somebody with a super brain.  You may forget faces easy but the other person may not.

You exchanged names and shared a piece of information that you can build off of later.  Exchange cards and immediately write a note on the back of the card about that conversation.  In time, touch base with that information to simply say hi or spark a conversation from the data you collected.

Networking Tip #4

Don’t just flab your mouth, but act genuinely interested in the other person.

Networking is a two way street.  You need to learn something about the other person.  You can’t learn anything if you’re talking about things you already know for 99% of the meeting.

Ask the other person questions about themself.

How was that project you worked on?

Are you enjoying the conference? What sessions did you go to? Oh really? Tell me about that!

How are you liking the job?

If you completely own the conversation you will likely turn the individual away really fast.  I say likely because you may be talking to a tech guy that would love nothing more than you owning the conversation.  Help them help you by not letting the conversation fall into that trap.

And for the love of god, smile, nod, and act like you enjoy the conversation.  Most people, aside from walls, are not a fan of talking to walls.  Sure, you’re tired. Go home and get some sleep.

Networking Tip #5

Reach out via LinkedIn and Twitter

You really never know who is watching you these days.  You also never know who might interest you in a conversation.  Use these tools and be aware of the people that are out there.  Follow people with similar interests because they may follow you back and will pick up on signs you lay on the ground.

Put an effort into keeping your LinkedIn profile updated with juicy information (bullet points of specific things you’ve accomplished).

Write reviews for other people (they may be inclined to write something about you).

The Evolution of a Business Card

Well, it’s that time of the year. GDC is fast approaching and I’m in need of a new identity – an identity in the form of a business card.

I ended up going through 4 iterations before I found a design that I really liked.

What are the essentials?

  • Your Name
  • E-Mail
  • Phone
  • Web Address
  • Something Memorable
  • Use both sides!

Unless you own a business and need people to visit your primary location, I would leave off your physical address. Waste of space and distraction. Most of the time your contact isn’t just going to show up at your door. You can give them this information later when it’s warranted.

So how about the ‘flow?’  Well, that is tough to pin down. It boils down to experimentation. You’ve probably seen dozens of card designs out there (Google some if not). Use those as a base.

The card I used in 2008

People thought it was cool, but today I find it pretty boring and not memorable. The basis was that you’ll find me without a Dr. Pepper in hand, and I wanted to note that I was a programmer.

Ouch...

Idea 1

Going completely opposite from 2008, I wanted to introduce color but I found it distracting.  It also concerned me what a printer would do with this.

The texture on this is intense. Very dark.

Idea 2

I decided to try something on the lighter side.  I also wanted to incorporate a subtle piece of my iGotIt Games logo.  I had a hard time with what to do on the front side of this card, and the gradient was concerning.

(back of card) I wasn't confident about using gradient.

Idea 3

I further simplified the design by trying out a ‘reflection’ idea with solid colors.  Here, the person would see the back of the card from the front, with the goal of persuading the holder to flip the card around for more information.

In the end, it felt too cheap.

Idea 4

Here, I built off of my previous attempts to form the final card.  I included the reflection, solid colors, and the iGotIt Games logo.  On the back I plan to put a promo code for Spin & Shoot or Project Void.

Winner

In the end you want your business card to be memorable.  Leave a simple quote, or a icon that identifies you.  See Darius Kazemi for more business card/networking advice. I just noticed he wrote a few new posts regarding business cards!

In the end, keep it simple and Memorable!

Making the Trip

See you at the Game Developers Conference!

I attended the conference in 2008, which was an absolute blast, but I had to skip out on the 2009 trip due to some chaotic life changes (moving to L.A., searching for a job, relocating to the north bay to begin a job — all within a month or so).  Well, no excuses now!  I live right next door so I can drive to the conference.

Of course not all is perfect.  I had to skimp and forfeit the All Access pass to go with the summit pass. You can find me in the independent (tues) and the iphone (weds) summit, and doing a whole lotta roaming on thurs/friday. It’s too bad I couldn’t get into a couple of sessions at least… Oh well.

David McGraw

Founder of iGotIt Games. Trader. Runner. Warrior. Motivator.