Posted in random

I hate email. A note to my readers..

I know the title is terrible.

And after a year of not writing any blog posts to come back with such a hate-filled title is not very nice… i probably just did it to get your attention. 😉

Or maybe just because, I thought this blog was getting 0 readers but I just found out today that I’ve been getting plenty of readers – not only have they been reading, they’ve been commenting!!! Over 15 comments were “waiting to be approved” in my wordpress console today.

So the next question: How did i not know?

I’ll tell you why. My inbox is a freakin war zone.

An image is worth a thousand words: (or in this case, 10,749 unread emails)

Fast forward to today: In addition to Grow Conference being awesome, a fluke accident caused me to look in my “all mail” box, and saw this comment I got today on my blog post.

Little did I know, there have been >15 comments from REAL people, who enjoyed my posts & took out there time to comment.

It’s ironic no? Blogging & commenting, a technology created to democratize communication – needed a new technology to combat the spammers who abused that channel of communication. Only to have this technology get rid of the very people whom I wanted to hear from.

Anyways – in summary, you may have commented on my Facebook Map, or another post & I am finally reading & responding to them today!

Please reach out & let me know if my writing, stories & coding projects are helpful in this blog.

Some of the topics I’m thinking of writing on:
– my recent Facebook & Google Product Manager interviews (those always seem to be informative)
-my current job leading iPhone development @ Invoke Media, projects there like the Eat St. iPhone app I developed that is going to hit 250,000 downloads this week,
– my personal hacking projects
– the vancouver startup scene, local startups & other tech startupy stuff

Let me know which ones you’d like to hear in the comments below. And this time, I’m gonna make sure I get those email notifications! 😉

Advertisements
Posted in design, random

The Facebook World Map with Countries Overlaid

By now, I’m sure you’re all familiar with the awesome map that Facebook intern Paul Butler made. Here’s a snapshot & link to the original post (definitely worth the read):

Friendships visualization

What was amazing to me was how connections (“friendships”) are location-dependant, or more specifically country-dependant.

What I really wanted to see were the actual outlines of countries on the map.

After an hour or so, here is what i had. (Click the map for the larger version, so you can actually see the countries in 1920 × 1200)
Facebook World Map with Countries Overlayed

Things I noticed:

    us canada border
  • The line between US & Canada is very visible east of Vancouver and West of the Great Lakes. It seems like there are not many connections there
  • The mexico/US border is not as distinct as the CAD/US border.. that could be pure population though
  • russia & china
  • Russia & China are almost non-existent. Mark has talked about this a lot, how they are the final two countries Facebook has failed to assimilate. Russia has their own Facebook clone that has taken off.
  • CUBA!! actually seems to have a small resistance using FB in the north west, but the rest is virtually non-exsistent
  • The immediate drop off of facebook users (& connections) after Eastern Europe is crazy…
  • The distinction between North & South Korea is amazing
  • I was surprised to find it looks that more people are “connected” in Edmonton (north) rather than Calgary (South) in Alberta. Since I am from Calgary, and it’s a bigger city, that was interesting to me. My friends that went to Edmonton for University did say they loved the friendships they had there better. Where as University of Calgary is much more of a commuting university.
  • Most non-saturated countries begin like Vitenam – with major cities really getting on board, and slowly making connections to their local friends.
  • Conversely, the christmas Islands are unlike most other islands where only major cities have connections. These islands seem to have already started to get saturated!
  • Europe really does have a lot of people really close to each other… its crazy
  • You can really see the cities/countries in Africa that are using facebook: Kenya, South Africa, Nigeria, a bit in Ghana…
  • Thoughts? I’d love to hear them in the comments below. I’m working on a follow-up post (or I may just update this one) explaining how I did it.

    There’s also a great conversation going on Hacker News

    NOTE:
    – I did not make this map so please don’t sue me. Paul Butler, a facebook intern did, and the links are noted in the first paragraph. I also did not make the Google Maps – google did. You can get the google maps here and the Facebook Map is here:

Posted in entrepreneurial, personal, tech, Vancouver

eyePong: controlling Pong with your eyes

Update: It seems this somehow got on TechVibes & HackerNews

So for Vancouver’s Barcamp 2010, we made a pong game for the iPad that people could control using their eyes.

Unfortunately, this isn’t a Vancouver Barcamp summary. However, my good friend Mack Flavelle wrote a great summary and another guy named Shivanand, whom I wish i had met, did another awesome job.

What this is, is a post explaining the project I hacked together during Vancouver Barcmp 2010 with Craig & Tom: eyePong

I hate when people make me read to the end, so here’s a video of the project:

What is pong?

For those who don’t know what pong is, it was an old arcade game where a ball goes back and forth between two human controller paddles. You can google it or read the wikipedia article for more info. But a picture should pretty much explain it:

The eye gazer equipment is from Craig Hennessey, founder of mirametrix, and I worked with developer & overall hilarious person Tom Schultz (@appskicker).

eyePong

By the time I joined them on Saturday, Tom had already gotten the backend “secret sauce” working, which passed the x & y coordinates of the eyes to the iPad over a TCP socket connection. We pair programmed (read: I watched him type slowly on this weird wireless keyboard while we both laughed a lot) the initial pong paddle & the ball. I then took over, fixed the paddle’s position, recorded persistent high score (so you could play against others), added sound to the ball hitting the paddle, & made the direction & velocity of the paddle change the way the pong moves.

The green “box” is the pong ball, and the white square is the calculated eye Gaze. It’s pretty cool how people tend to watch the ball as it moves around.

Videos

Here’s the same video as above: some random guy playing it near the end of barcamp & me narrating (I hate silent videos).

Here’s a movie of Craig playing the game & me hiding laughter, while someone gives a completely unrelated barcamp talk. Ironically, it’s more of a silent video, which I usually hate.

The Code

Obviously the codes pretty messy since we pushed this out in, literally, a few hours. I’ll be cleaning it up a bit & maybe githubing it if there’s enough interest (read: ping me if you’re interested). Craig’s plan is to make an API out of it.

Posted in design, entrepreneurial, personal, tech

BeatMyRide: My First IPhone App

Friday, Oct 22, 2010 – This was an old post from last April. I now drive mobile strategy (read: I’m the only iPhone Developer ) @ Invoke Media, creators of Hootsuite, where I’ve launched apps for the Onion that got mashable & lifehacker love, as well as video contesting apps for large, US insurance agencies (I think we’re on NDA).

 

This is the first end-to-end iPhone app I authored. It allowed me to learn the Objective C & the iPhone SDK including frameworks such as the Location Services & Core Data. It also helped me to understand the basic Model View Controller concept, as well as how view controllers work in general.

The Big Picture

which path

Often times, I take different routes to and from home, work, Vicki’s work, the gym, church, & other common locations. I wanted to create an application that would allow me to:

  • Map common locations & routes
  • Calculate the average & fastest times between common locations.

This was important because many times I would want to know:

  • Which specific roads provide the fastest times between locations
  • The average times between locations so I might better schedule my transportation times.
  • It was also amusing because it would allow me to “race” against my own fastest times, of course ensuring that all traffic regulations & speed limits were adhered to.

On top of all that, I needed a good excuse to learn the iPhone SDK platform.

Future Features

I also made sure to architect the program so that in future iterations, it would be easy to add some really exciting features such as:

  • Auto-Detecting the location and mapping the exact route taken.
  • Audio or Visual cues as to how you are currently matching up with average & fastest times for that route.
  • Social racing (being able to race against not only your own individual times, but to be able to compete against other players in your area).

Background & Software Design

Object Oriented design teaches us to treat everything as objects. In this case, it was important that I decided on the following terms.

Location: A location consist of the name of that location, the address (both the longitude and latitude, as well as street address), and a collection of all the Routes the location belongs to.

Route: Routes consist of two or more locations (initially, I allowed only 2 locations) and the fastest & average times for that route.

Screenshots & Walkthrough

I architected this app more with utility in mind rather than design. Frankly, I wanted to be able to use this app with as little input from the user as possible.

The first screen gets right to the point and asks your for your present location. In this case, I have chosen Home.

IMG_5003

You can see there are two floating numbers. I have used the iPhone’s “Location Services” to store the longitue and latitude for each location. This is the first step in auto-detecting the start and stop locations as well as being able to trace & record your entire route.

If you want to create a new location, you can add it by pressing the “+” sign, and entering the name of the new location. As mentioned

IMG_5018

Once you have selected your location, the next obvious step is to select the destination. Today, I’m driving Vicki to work so I choose “Vicki’s Work.”

IMG_5005

If no route has been created between those two locations, one will be created. Otherwise, the route will be selected and displays the fastest & average times, as well as all the past times.

IMG_5006

Once you are ready to start, you can press the “Go” button on the top right & the timer begins on the Navigation Bar.

IMG_5012

Once you have arrived at your location, you simply press the “Stop” button, and your trip time will be recorded into that route. In this case, my trip magically took 8 seconds.

IMG_5013

As you can see, the trip is automatically added to “Past Trip Times” and the fastest and average times have automatically been calculated.

Conclusion

Being my first iPhone application, this was definitely a great learning process. Not only did I get used to XCode and the iPhone SDK, I also got to use the new Core Data library, got to test out Location Services to find the longitude and latitude, and got to prototype the class structures visually using XCode’s build in editor.

The best part is that I now have a way of timing my average and fastest times between my common routes and can race against myself, which was my original goal.

The next features I plan on adding are definitely going to be

  • auto-detecting of start and stop locations
  • using Location Services to map the entire route, which allows for
  • audio cues of my current pace compared to my fastest or average times

If these features work out well, I am definitely excited to add in the social gaming aspect.

Posted in entrepreneurial, export to .org, personal, tech

Life After Twitter: What I learned from taking a 6 month break from social media.

twitter fail cropped

Many people have been asking me where I’ve been hiding the last few months.

Unfortunately for me, in today’s high-tech connected world, one’s online presence is often as important, if not more important, than one’s physical presence.

The reason this is unfortunate is because after 6 months of hard core online connectedness I simply got burned out. I don’t think I’m cut out to be updating my status all the time, posting to other people’s walls, writing on my blog every day and checking in to every location I go to. It’s just not me.

Social Media’s Not For Everyone

That’s my advice. Try out social media (twittering, foursquaring, gowallaing, facebooking, blogging) and if it’s not for you don’t force it.

When I got into the startup tech scene here in Vancouver, it felt like all the cool people were on twitter & “connected.” I tried really hard to do the same and even tell others to but it never really felt natural to me. Talking to other people in less than 140 characters so that the whole world could see what you said just didn’t seem to help me build genuine relationships.

Don’t get me wrong, there was definitely value in it but for every great link, hot news item, or great 140 character conversation I had with someone I found I had to scroll through hundreds of irrelevant information & constantly keep checking throughout the day.

It became this self-imposed ritual where I cared more about my online presence, what my online tweets looked like, or that I checked in to the right place within the correct time intervals, then my actual genuine day-to-day life, relationships & interactions.

So What Now?

My two conclusions: Temperance & Authenticity.

Temperance basically means self-control or restraint. And since I’m quite passionate in everything I do, the next step is to learn temperance.

Authenticity. Instead of trying to make myself look as good as possible online, I’m just going to start being myself. I’m going to stop caring what other people think so much that it paralyzes me from just being me.

So I’m still going to use social media, just with authentic temperance. I like that. Authentic Temperance.

If you’re on twitter and you love it, that’s great. I’ve read many blog posts about how people use twitter effectively, how large companies are using twitter to engage & “listen” to people, and I’m sure much of that is true. Let me be clear: I am in no way putting down people who use and love social media.

Life After Twitter…

For me, I cannot tell you how freeing it is not to have to always have my iPhone in my hands so I can update my status, checkins or wall posts. It’s such a great feeling living real life, talking to real people, and not worrying so hard about making sure your “online presence” matches other people’s expectations.

I’m sure one of these days I’ll get back on twitter, foursquare, gowalla & facebook with a vengeance. Hopefully by then, I will have learned how to be genuine & authentic on it as well as this “temperance” thing.  Until then, I’m going to stick to simple blog posts, more life away from my computer & phone & with Vicki, and look forward to hearing your thoughts or comments.

Posted in export to .org, random

Parveen Kaler on doing what you love…

One of the best things about this role I’ve carved for myself is that I get to meet really cool, motivated, & driven people. Parveen is no exception.

(source, Straight.com)

QUICK HISTORY:

After graduating & working in the games industry for a few years, Parveen finally decided to start his own gaming consulting & contracting company to focus on the iPhone platform, working on projects he “actually liked & really believed in”. Smartful Studios was born from his first iPhone contract. Two years later & 40 pounds leaner, Parveen feels great and has transitioned his successful consulting company into an iPhone App Development Studio.

What we love about Parveen is his awesome attitude about his work. “It’s not about the money” was used more than once in the multiple conversations we’ve had with him (that’s how much we like him!) and we can tell that he really means it.

Smartful is looking for full time iPhone Developers so give Parveen a shout if you’re interested!

Parveen’s Personal Website – http://parveenkaler.com/
Parveen’s Company – http://smartfulstudios.com/
Parveen’s LinkedIn – http://ca.linkedin.com/in/parveenkaler

VIDEO INTERVIEW:

Unfortunately, the video interview was so poor we couldn’t include most of it. But here’s his #1 advice for student & young startups:

FULL INTERVIEW:

Why are you considered the “iPhone Developer Guy” in Vancouver?
People say that?  I don’t consider myself the iPhone developer guy in Vancouver. I’ve been doing it for two years. I would say it’s all about longevity. It’s early days in mobile & i’ve been focusing on that.

What does your company do?
Consulting & contracting – so if you have development that needs to be done. Mobile Strategy as well: setting up the sales pipeline, customer acquisition, marketing.

It is hard work?
I don’t consider it work. I love doing it.

How do you get to this place? Getting paid for doing what you love.
It’s not about the pay, right? I was doing fairly well for myself in the video game industry but that’s not what I wanted to do. I wanted to go out & work on my own, projects I believed in, on my own time.

“It’s about waking up every morning and believing in what you’re doing & having the freedom to do what you want to do”

How did you start?
CS degree @ SFU 2002. Computer graphics, then games industry Relic Entertainment, spent a couple years at Slide Six Games, did ps3, sony ps2, xbox 360, pc development. But when W was working on the sony psp & saw the iphone i was like “this is the futre, this is the past”. Jumped on it pretty quick.

#1 advice for students, in doing what you love & still making a living?
Make it simple. It’s simple. Stop complicating the issue. Just wake up every day and do that one thing that you have to do that day to get to the next step. It’s alwasy about the next step. “What do i have to do right now?” Get that done, re-evaluate. What do i have to do?

You make it sound so simple, Parveen.
You know what, if you make it complicated you just lose your mind.

What’s your 4 step process to making an iPhone app?
1. take your big idea, and bring it down to one sentence: your mom should be able to understand it.
2. figure out how you’re going to make your first dollar.
3. figure out how you’re going to scale from 1 dollar to more.
4. figure out how your’e going to get your first prototype

It’s the momentum. Focus on the execution & everything will work out.

Comments, suggestions? Stay tuned for the next interview with Lyal Avery!