Post filed in Terralever

Facebook f8 Developers Conference

Wednesday I had the great opportunity to participate in the second annual f8 developers conference in San Francisco.  Last year I attended on behalf of Terralever, one of only about 30 selected launch partners.   A few weeks before the first f8, Terralever was asked to develop two proof of concepts apps that demonstrated the power of Platform.  It was a crazy two weeks of development, but we pulled it off and were one of the first Agency to have proven Facebook platform experience.  Since then, we have built various applications, some for start ups looking to use Facebook as there platform, while other for big brands like BMW and Nike.

This f8 Terralever was selected by Red Bull as one of only a handful of launch partners that would have the opportunity to integrate Facebook Connect (announced  during the keynote) with some of their properties.  As you can imagine were were very excited about this opportunity, and more excited about what Connect will mean to all of our clients.

For those unfamiliar with the announcement, Facebook connect gives  external website the ability to integrate Facebook users  directly into there site.  This integration, allows a site to extend its user bases from those that already exist, to any of the over 100 million Facebook users.  With this integration a site instantly has access to customizing content based on that users profile, and even more important, that users entire social graph. Imagine the possibilities.

So what does this mean to Red Bull?   Below you we see a screen shot of a new and exciting interface that the team at Terralever has created for www.redbullusa.com. This interface leverages connect as a way to change the way in which users view content.


The team at Terralever did an amazing job at producing this example.  In just a few weeks we took four disparate sites (surfing, skating, skiing, and snowboarding), and aggregated each sites content and comments, into Red Bull USA.  The really cool part is that using Connect, we can now allow users the ability to read and comment on content they may never have stumbled upon.  Look for this to all go live some time this summer.

Vote Terralever for Best of Arizona: Internet Marketing

Ranking ArizonaFor those of you who interact with me professionally, you know that I am a Director at Terralever, an Interactive Marketing company in Tempe Arizona. Selfishly I think we are amazing at what we do and deserve a little recognition.  Ranking Arizona is the outcome of the largest business opinion poll in Arizona.  Voting has begun for ‘Ranking the Best of Arizona Businesses’ and Terralever would love to have your vote this year for us in the Internet Marketing category. We were #4 last year and looking to be #1 this year. Voting only takes a couple of seconds and would be greatly appreciated!

Vote Terralever for Best of Arizona: Internet Marketing

Voting deadline is July 31st!

Tunnel Trouble on Silverlight.net

For those of you who might not have seen our presentation at Mix, Terralever recently completed a second Silverlight game for Miniclip.com called Tunnel Trouble. This game is entirely written against the Silverlight 2 Beta 1 plugin. I am not sure that it has been spotlighted on there web site, but Microsoft has placed it on the home page of Silverlight.net. When you get a chance give it a play we are very happy with how it came out.

My Mix08 Experience

Even though Mix08 is now only a distant memory, the inspiration I leave with will last for quite a while.  There is something quite powerful about being around thousands of professionals that are as passionate and enthusiastic about the future of interactive development.  For months now I have had the special opportunity to be working close with Microsoft and the there development of the Silverlight 2 Beta.  We have seen first hand the power and potential of the platform. It was great to share that excitement with the rest of the development community.

In the weeks to come, I look forward to sharing our discoveries as we learned how to leverage the Silverlight 2 framework to build our most recent casual game.  Look for posts on the techniques and methodologies we found most effective.

Interactive Design Firm Powers Casual games

A month ago Microsoft selected Terralever to conduct a in depth Case Study on our use of Silverlight 2 for creating a new Miniclip.com game Tunnel Trouble. This process was really exciting for Terralever.  I feel Microsoft did a great job of capturing the value we find in Silverlight and how this powerful framework allowed us to create a compelling casual game in less then 5 weeks. Miniclip

Mix08 - Silverlight as a Gaming Platform

vectormark.gif This year Terralever has the great opportunity to present at Microsoft’s Mix 08 conference in Las Vegas, March 5-7th. Mix is an amazing conference that exposes the technology community to the latest on Silverlight, Internet Explorer, ASP.NET, Expression, Windows Live and other key technologies. The topic I will present on is “Silverlight as a Gaming Platform” and specifically our experience writing a game in Silverlight 2.
Abstract
“Come learn how Microsoft Silverlight was used to create Tunnel Trouble, an online game built using Silverlight 2. This session covers concepts of using Silverlight technologies and tools to build game boards, animations, collision logic, game loop logic, integrating media into game play as well as integrating with web services and being more efficient with managed code.”

I am very excited to represent Terralever in this opportunity. If your attending Mix, make sure to attend our break out session on Thursday March 6th at 4:15 PM in the San Polo 3501A room.

Zombomatic 3000 on Miniclip.com

MiniclipToday Terralevers interactive team released our second game written for the Silverlight plugin.  Zombomatic  was writen for Miniclip and targets the  1.0 version of the silverlight plugin.  Zombomatic is a fun puzzle game that challenges you to swap electrical conductors to connect them into a path for the electricity to flow and bring your Zomomatic 300o back to life.  Give the game a try I gaurantee you will enjoy it.

PhizzPop Design Challenge

phizzpop_logo.gifThe PhizzPop Design Challenge pits top interactive, Web, and design agencies against one another to push the limits of technology and creativity in a battle royale. Think Mad Max for design.

The regional teams have been selected and Terralever was selected.  To get prepared Scott, Craig and Myself will be attending two days of training in Los Angeles on Microsoft Expression Blend, WPF and Silverlight.  On December 3rd the Terralever team will be given a design problem and will have 3 days to come up with a solution.  On the fourth day we will return to Los Angeles and present our design to a panel of judges.  The winners will compete at the finals in Austin March 8th 2007 at this years SxSW conference.

Facebook Developers Garage Presentation

Facebook - Developers Garage - PhoenixOn November 14th @ the Tempe Center for the Arts Terralever hosted Phoenix’s first Facebook Developer’s Garage. The event was a great success.  I especially enjoyed the presentations by Chris Johnson  of Terralever and Dave Morin of Facebook. I encourage everyone to look at Chris slides on marketing a Facebook application. For those of you who might be interested in what I spoke about take a look at my 15 min presentation on the “Anatomy of a Facebook App”  With so little time,  I was unable to jump to deep into the platform, but managed to get through the basic steps to create a your first Facebook Application.

Download: Anatomy of a Facebook Application
Date: November 14, 2007
Location: Tempe Center for the Arts

Bugs squash em fast!

BugCall them what you want; bugs, defects or undocumented features, bugs in software are more prevalent than ever! It is no surprise that the equation to increased development profitability is to control defects (Faster coding + less defects = shorter lifecycle). It seems as of late, more and more development teams are content with releasing code that has observed, identified defects. So what drives this counter intuitive behavior?

Compressed timelines, limited resources and scope creep all play their part, but more disturbing is the number of developers which rely on someone else to complete their unit testing.  Looking to our industry leaders as examples, this behavior appears to be the norm, not the exception. For those of us that have been Beta testers for Microsoft, we all know firsthand how unusable many products are until the first Service Pack. What is driving this type of development cycle?

We work in a code-and-fix culture

Many developers leverage their defect management system as an extension of their unit testing. In our organization the pace is fast and the timelines are tight. It not uncommon for a deadline to sneak up on a developer and their reaction is to release code that is functional, just not well tested. This always results in a series of frustrating iterative cycles, where QA finds defects, and a developer has to reexamine code they just completed. Once this cycle gains momentum, projects get down to the “crunch week” and developers are frantically moving their way down a large list of never ending defects.  Secretly they are preparing themselves to release code that will undoubtedly need to be fixed.

Here are some ways an organization can break out of the “code-and-fix” culture:

All project must have a single team lead – The only ways that the impact of defects on timeline will be taken seriously, is to direct accountability. A single team lead is perfect to keep a project focused and on track.  Even if the lead cannot be dedicated to writing a large portion of the code, they need to feel empowered to have control over its quality. A good team lead is one that understands unit testing and is comfortable in being critical of areas of the project that are not reliable.

Whenever possible, no project should ever have one single dedicated resource – If we take our lead from extreme programming, two minds are always better than one. Having multiple development resources involved in the development process, exposes code to multiple perspectives. This is not to suggest that every project must have two or more fulltime resources, but the entire development team should have the capability to step in and contribute  to the solution.

Refactor, Refactor, Refactor – Every developer should have refactoring as a top priority to help improve their codes internal consistency and clarity. It is impossible to write defect free code unless the internal structure and design is easily understood by any developer. This includes clear and consistent variable and method naming, and meaningful method summaries and comments. The more clear and understandable your code is, the more likely a bug the surfaces can be squashed with little impact on adjacent methods or modules.

Reuse proven techniques – Feel comfortable extracting, stealing or borrowing code from other projects you or your team have already done. You cannot write code faster than cutting and pasting something you already know works, and has been thoroughly tested. Standardizing on methodologies, algorithms and techniques. Standardization reduces defects and minimizes making the same mistake twice.

Take an Agile approach to development – Projects that span more than a week of effort should always be broken into multiple “sprints” or iterations. Each iteration must have a clear deliverable and should last no more than a few weeks. More often than not, an iteration signifies a milestone in the projects lifecycle. At the end of each iteration a release of code should be made to the projects stakeholders. Care should be take to achieve as much closure as possible to those sections of the system included in that iteration. If you can’t complete a section within the fixed iteration length, then move it to the next iteration.

Stop assuming, start abusing – Always get clarity to functional requirements before you start coding. It is reasonable to ask project leads or account managers for excessive detail on functional requirements. More than one developer has created defects in a system because they assumed they understood clearly what they were building. Frequent communication with a projects stakeholders will decrease defects. There is not a good account manager on the planet then wants a developer filling in the gaps without a clear understanding of the clients vision.

Bugs squash em fast! – As quickly as possible exterminate defects from a system. The longer one waits to address an “undocumented feature” the more likely they are to interject new defects during the process. If this defect was documented in a defect tracking system, comment on the steps you took to reproduce the defect, how you fixed it and the results of you unit test. Taking the time to write about it can go a long way in making sure you thoroughly understood the extent of the defect.

Understand the difference between a defect and an enhancement – This sounds simple, but without a clear separation of the two we have no way to measure what in the process is empowering the code-and-fix culture. Developers like to put code to rest as quickly as possible. We love to group together as many changes as we can into a single attack on a chunk of code. The more we do at once the less likely we are to kill the original defect. Anytime an enhancement is done adjacent to correcting a defect, you increase the risk of masking the original issue. Worse yet you might get the desire to rewrite the whole thing negating all previous testing. Enhancements have their time and place, just not grouped with defects.

Stop making excuses – When you write poor code admit it. We all make mistakes no code is perfect. Be embarrassed when you are asked to write a contact form and when QA goes to click the submit button it blows up. All developers have time to test and must make sure that we have tested the application just as others will. How can a developer feel comfortable saying something is done, if the first users gets to experience an “unhandled exception”.