My Favorite Things: Whiteboards, Good Coffee, iPhone Apps, Facebook Games
Posted: August 17, 2010 Filed under: Uncategorized Comments OffA whiteboard in your workspace is essential.
I do a lot of design work on sketch paper (lines get in my way) but having a whiteboard in my office gives me the power to let my imagination run wild. I just take a picture with my phone and share it with my team.
Check out SnapClean.me to clean up those whiteboard pics
Good Coffee is one of those things you don’t know you need until you can’t get it.
“In Seattle you haven’t had enough coffee until you can thread a sewing machine while it’s running.” -Jeff Bezos
iPhone Apps
Having access to this product and all the development tools Apple has come up with gives every developer a sense of power that didn’t exist before.
Facebook Games
Like the iPhone, Facebook is everywhere. Having the ability to build a game that people will enjoy is a great experience. Getting paid for it is even better.
How to get a programming gig in Seattle
Posted: April 7, 2011 Filed under: Lessions Learned, Uncategorized Leave a comment »It helps to have some project management experience even if the team consists of you and Stack Overflow. If you can determine how much contact the client needs on a regular basis you will go far. Some only want to check in every 2 weeks, some want to talk to you every day. The best way to figure out how much “touch” your client needs is just to try it your way and see if they react. If they don’t, you win. If they get pissed you adjust.
A friend recently asked me for the advice I would give an entry level programmer trying to get a job in web development. I suggested these mailing lists…
- Seattle PHP Meetup
I’m not a PHP guy, but I will go to these to network. - Seattle Tech Startups
There are always guys here looking to hire a quick contract.
You’ll need a portfolio, not just a resume. This blog is my online portfolio. I also have saved code samples from some interesting projects I’ve worked on. The bare minimum should have screenshots of apps you’ve built in your spare time or projects you might have done in the past.
Start following these job boards and try to organize your portfolio in a way that looks like it would fit with these job descriptions…
(Sorted by most rounded corners)
With a little luck and enough face-time, you’ll get an interview. Rock their socks off with your passion for learning and dedication to getting the job done and you’ll go far.
URL Rewriting: Increase Organic Traffic By Using Dynamic URLs That Look Static
Posted: April 5, 2011 Filed under: Lessions Learned | Tags: seo Leave a comment »I shared this article written for SEOmoz a while back because I’ve been asked to architect rewrite engines for many sites. The technique is well documented in the web development community but not well understood by clients.
Read the article at SEOmoz.org
4829.3 Posts! Low-Information Diet = Quality Control
Posted: January 10, 2011 Filed under: Uncategorized | Tags: productivity Leave a comment »I follow 4829.3 posts per week from 32 blogs.
No, I don’t read all of them. In fact I read very few of them. My goal is to reduce the number of blogs I follow and increase the quality of the content I consume.
Using Google Reader has made it easy to track what I’ve read, what I like, and what I want to share with colleagues or friends. I can catch up with Tim Ferris’ blog on the bus and when I get back to my desk I know which articles I skipped and which ones I starred for further review. But tracking almost 5000 posts per week is impossible. Especially when I have deadlines.
To get these numbers and make a plan to prune the feed list I recorded some statistics.
I follow 32 blogs in 8 categories (Tech, Seattle, P2P, Social Media, Life, Games and Fun). Of those 32 blogs, Google Reader estimates 4829.3 posts per week. I estimated that I actually read 15 of those blogs on a monthly basis. That’s about 47%. The rest are either ignored or I only scan the headlines and never expand the article.
To narrow things down even further I compared posts per week to total subscribers. The most popular blog was Engadget with 1,116,958 subscribers. The most active blog was Seattle Times with 2330.5 posts per week! I am not that interested in local news to keep up with that kind of coverage. But on further inspection it became clear that I didn’t need to.
The majority of the Seattle Times’ posts are duplicates, typo corrections, or deleted pages. Apparently they don’t have a quality control process before the RSS feed gets updated. Or they assume that most feed readers are too slow to notice a quick update.
My mission has been to prune this list down to only the most essential news and entertainment outlets. My measurement of success will be reading over 80% of the blogs I follow at least once a month.
Updates coming soon! Until then, here’s the raw data:
Thanks for having me, TechRanch
Posted: October 4, 2010 Filed under: Uncategorized | Tags: c#, facebook, mvc Leave a comment »I want to post a big thanks to TechRanch of Bozeman, Montana for inviting me to speak on Facebook app development. We withstood a brief hail storm and had no technical difficulties. I was very pleased with the turnout and hope everyone got a great overview of how to leverage ASP.NET MVC to build a feature-rich social application on Facebook.
Here are some of the links I shared with the group:
- Apps on Facebook.com – Introduction
- Facebook Developer Roadmap
- Facebook Developer Home
- New Facebook C# SDK
- Old Facebook C# SDK
- FBML Reference
- FQL Reference
- Elmah Error Handling Framework
Escaping the Walled Garden With Javascript
Posted: September 4, 2010 Filed under: Projects | Tags: javascript Leave a comment »
I actually enjoyed the hours I spent logging my favorite books into the weRead app on Facebook. Reminiscing about those quirky scifi novels I read when I was younger was nice. The promise of seeing what my friends have read and how we match up with ratings was good motivation. I’m thinking even if this app is clunky and slow, the database is huge (thanks, Amazon) and the potential for social value is gigantic.
Unfortunately, I got sufficiently frustrated with this app and wanted to try the Google Books Library feature. Google asked me to paste a comma-separated list of ISBNs but it turns out weRead doesn’t support exporting the book shelf. Looking forward to more hours of searching and adding books to a new library? No. I have bugs to fix and beers to drink.
weRead has a comment in the FAQ which reads “We are working on a feature that will allow you to take your book list with you wherever you go.” The feature they’re talking about is called Take Your Bookshelf With You and basically just links to apps they’ve built for Facebook, Yahoo, Orkut, Myspace and hi5. Once you allow the app access to your profile their API lets you interact with your book collection through one of these interfaces. Not exactly what I would call an “export” feature.
Enter Greasemonkey. The free add-on for Firefox allows me to write a Javascript app that will export all the books from my weRead book shelf in ISBN or ASIN format.
Try it out
Games without frontiers: Windows Mobile 7
Posted: August 17, 2010 Filed under: Uncategorized | Tags: android, games, iphone, windows mobile, wp7 Leave a comment »
With the recent announcement of Windows Phone 7 Launch Game Line-Up it’s clear Microsoft wants WP7 to contend with iPhone as a serious gaming platform. I don’t think they have a chance.
“If looks could kill they probably will.” – Peter Gabriel
It’s all about looks and performance. The iPhone will be king of the graphics hill for a long time.
On the development hill, I’m excited about the Windows Phone developer’s tools because it brings the familiarity of Xbox Live game development to a mobile platform. Trust me, jumping from C# to Java for the Android SDK is a challenge, and breaking in to iPhone development in Objective-C is even harder.
The tools available for Xbox Live development should give WP7 an instant advantage over the anemic game selection on Android. But I doubt Microsoft will be able to compete effectively with iPhone as a gaming platform.
WP7 games will dominate Android games because:
- Xbox Live Arcade developers have already started porting their games from 360
- Potential for 3 screens: Start a game on Windows, Get serious on 360, share content on your phone
- Microsoft has a good set of development tools already
iPhone games will hold out to WP7 for the foreseeable future because:
- iPhone developers have a long head start
- iPhone has a higher bar set for minimum specs (games will run faster on iPhone)
- Apple quality control
I know it’s a sore subject, but I think game development on iPhone is so competitive partially because of Apple’s quality control. You wouldn’t see half of the junk that floods the Android Market if there was some sort of quality control beyond user ratings.
Javascript calendar date picker
Posted: June 23, 2010 Filed under: Projects | Tags: facebook, fbjs, javascript, jquery Leave a comment »This is my first stab at a light-weight popup date picker in Javascript with calendar view. It should be easy to add to an existing form control and low impact to the formatting of the page. To satisfy these two requirements the script should be self-contained in a single js file with a single css file for styles. Triggering the script should be event-driven so it can be bound to a form element inline or with another library like jQuery.
Next step: port to FBJS to implement in my latest Facebook project.
The Facebook Test Console only…
Posted: June 1, 2010 Filed under: Uncategorized | Tags: via:twitter Leave a comment »The Facebook Test Console only seems to work some of the time. Am I the only one? http://developers.facebook.com/tools/ http://tprt.us/fb
Climate Tracker
Posted: May 31, 2010 Filed under: Projects | Tags: ajax, asp.net, c#, environment, javascript, jquery, localization Comments OffAscentium, an interactive web design agency, asked me to design a dynamic interface for their Climate Tracker project. The tool was an ambitious set of data capture, unit conversion, carbon emission estimation features. My task was to make one of the most complicated features (data capture) simple and logical even for a user who was not trained in climate science. Understanding the data and what it was used for was key to completing my goal and I certainly learned a lot about Co2. The results were satisfying: a feature which had been rejected 3 times was accepted and development moved forward.
Cool features:
- Fully globalized for multi-language support
- Predictive input and dynamic wizard-style interface
- Plugin architecture to allow 3rd-party extensions
- Science!

