Kickin’ It At the Harn

I pulled into the Harn Homestead for another company outing.  The site was quiet, clean, and very peaceful.  I strolled casually around the grounds observing the various buildings until I got to the barn at which we were congregating.

A few people had already arrived and were checking out the grounds and enjoying the day.  Tammy arrived soon after with the food and the beverages.  Like a moth to a flame, the programmers went straight to the beer cooler in an attempt to get the party started.  I was able to remind most of them that there is no liquor until the Harn Homestead is officially closed for the day.  I even had to put one of the guys in an anaconda choke hold until he submitted.

The festivities started harmlessly.  We checked out some of the “old timey” games provided like hoop-n-stick and stilts.  My understanding was that the goal was to smack the hoop with a stick and keep it rolling.  I guess this was like playing Nintendo back in the day.

Some of the guys made their way over to the stilts to practice their carnival walking.  It started harmlessly enough with the small falls that come from learning to walk on stilts.  However things got interesting when some people decided to have a race and walk up stairs.  One of the guys stumbled and started a head first dive onto what appeared to be someone’s collection of broken glass that they brought to show off.  Since the falling party was working on one of my projects, I decided that I had to quickly use my wizard powers to redirect his fall so that he landed on a mountain of pillows that I just conjured.  Crisis averted.

As I rested to recover the energy I spent saving a life, the group started tossing around the football.  I kept a careful eye just in case another emergency was to call for me.  Whilst doing so, hunger started to call.  I was far too tired and clearly I could not abandon my post to go man the grill.  Thus I broke into one of the weaker minds at the party and planted the suggestion to go and start grilling.  Lo and behold, he got up and headed straight for the grill….burger time was on the way!

As I watched the football match and anxiously awaited the seared vittles, I noticed the women were starting to drift over towards a trailer.  I stood up and noticed there was a horse tied to the trailer and as we all know, women love horses.  Maybe I was being mean or just a bit cheeky, but I decided to send a suggestion to the horse.  I gave the vision to the horse that a guy with a brand was standing behind it.  The horse immediately started kicking the trailer and screams of panic filled the air as women scattered everywhere.

Luckily the food was coming off the grill at this time, so the women were easily calmed and the guys took a break from the football game.  With full bellies and a nice evening under the stars, some of the party goers curled up and started to sleep.  Perhaps it was the peacefulness of the Harn Homestead or perhaps they were lightweights when it comes to beer, either way it was a good evening to rest outside.

Since it was almost time to go, I summoned a small shower to wake the sleepy heads up so we had a few more people for the cleanup crew.  We packed up our leftovers and cleaned up our trash before heading over to thank the Harn Homestead staff for having us.  They thanked us for coming and said we were quite possibly the best guests they have ever had.

All in all it was a good outing.  The Harn Homestead had plenty of room for us to gallivant around and goof off.  Nobody got hurt, everyone got fed, and even the kiddos had a good time.  It was definitely a place we could return to and enjoy another company outing.

P2 Culture No Comments »

P2’s First iPhone/iPod Touch App

Our first iPhone/iPod Touch application, Quadrangle, was approved and released to the iTunes App store yesterday.  Quandrangle is a simple but addictive puzzle game where the player is challenged to find blocks of the same color which form a rectangle.

screenshot-20090731-122239

Colbey Chittenden led the development on the project with game play ideas from Chad Scott and graphic design by Jacob Eck.   The team cranked through the app in about a month, learning the iPhone SDK (Software Development Kit) quickly then building the game in just a few weeks.

For more information about Quadrangle and how to get it on your iPhone or iPod touch click here.

Apple, Fungineering, Technology No Comments »

Software Bill of Rights (Part Two) - Development Philosophy Part 3

In my previous post I talked about why we have a  Software Bill of Rights and described in detail the first Right.  Let’s talk about the second Right.

1.  Clients have the right to working software, at regular intervals, throughout the implementation life cycle.

2.  Clients have the right to usable software.

3.  Clients have the right to clear, non-technical communication about the software being developed and the development process.

4.  Clients have the right to the best solution available.

5.  Clients have the right to be regularly involved in the software development process.

Good software should work well, but you’ll notice it doesn’t say clients have the right to working software.  “Working” software means different things depending on who you’re talking to at the moment.  To some “working” can mean the software works if you do things just right, if you enter all the correct information, you remember the correct order of operation or you’ve read the instruction manual ten times through.  To others “working” means a piece of software should do everything they can think a user will ever want, everything they can dream up or everything a competitor is doing.

“Usable” means something different and gives us the right foundation.  It implies a balance between over-engineering vs. under-engineering and feature creep vs. under-development.  Usable means the software does everything that it needs to do, nothing more and does so elegantly.

The key to “Usable” is that it puts the focus where it should be, the end user.  While most of the time the client and the developer have great ideas and intentions, neither can be the objective third party necessary to create great software.  By focusing on exactly what end users need inorder to accomplish their tasks we get an unbiased judgement about that button placement, this workflow order or the proper number of navigation elements.

Without fighting for this Right, a project will only be a success for the end user through pure luck.  Watch this video for a hilarious but oh so true example of what happens when you don’t value “Usable”: http://www.youtube.com/watch?v=jVb8EC1Y2xM

P2 Culture, Philosophy, Software Bill of Rights, Technology, User Experience No Comments »

Field of Battle

Every now and then the guys calling the shots at Phase 2 will decide to take all the employees out of the office and do something fun.  Last week it was determined that the fun experience we were all about to partake of was to be paint ball.  There was some apprehension from some of the participants especially after the war cries of some of the more blood thirsty employees filled the air.

The day of the event came and we split into two different teams while we were still at the office so we could plan on whom we were going to go after once we hit the field of battle.  However, before we left, some of the more pristine individuals realized they had to wear a helmet and that using a helmet that someone else wore and sweated in was not tolerable.  The princesses of Phase 2 raced to the store to get their own helmets so as not to be sullied by the equipment of previous fallen warriors.  One such employee, Steve, who claims to play on a regular basis, came equipped with his own mask, gun, and NASCAR suit.  Obviously he was taking this outing seriously.

We got to the paint ball field later in the day and were greeted by the humble field referee.  Those of us that were not ready for Daytona filed into the equipment shed and gathered our necessary tools.  However, the guy driving the Tide car apparently forgot that his gun doesn’t run on wishes and sunshine but rather on 9 volt batteries.  Being without his trusty power source, he was quickly laughed at and sent to the equipment shed to pick up the standard issue rifle.  Now other than his fancy mask and suit, he was one of us.  The referee then escorted us off to the first field, humbly named “The Graveyard”.

The teams were sent off in opposite directions.  There we stood and waited for the signal for the paint filled carnage to begin.  The signal went off and I froze.  Some of my team went left, some went right.  I guess that means I am going up the middle.  I trotted forward straight down the middle.  I hide behind one of the “tombstones” to try and take some cover as the paint filled ammunition starts screaming in around me.

I know it probably wasn’t the best moment, but I decided to sit back and reflect upon life.  I watched the others around me scrambling from one cover position to the next.  I thought to myself, “What’s the rush?  What is this all about?  If I do fire upon my fellow coworkers, what does that say about me?  Will they treat me differently?”  I determined that I am a lover, not a fighter, so thinking back to what I learned from the movie Pirates of the Caribbean, I shouted out the term “parley”.  Thinking I was safe and that the other team was sending a representative over to discuss the current state of affairs with me, I stood up to have a chat.  For now I am going to assume that the other team did not hear me and not that they care not for the safety and peaceful acts of a diplomat from the other team.  As you may have guessed, I was quickly riddled with paint and asked to go wait in the time out area.  As a side note, the masks have ventilation holes so you can breath, but the paint can still splatter in there.  The paint we were using must have soured as it was not pleasant to my palate.

As I sat alone in the time out area I realized my hand was stinging.  I looked down and noticed blood starting to trickle out from around my knuckle where I had apparently been shot.  I surveyed the field in front of me and watched as my coworkers bobbed and weaved their way around the course.  Occasionally one would get hit and come and join me in the time out box.  They would usually curse the person that shot them, funny enough nobody was ever appreciative that they got shot.  This was usually followed by a brief description of what happened and what they did wrong.  The typical excuses are the age old “lucky shot” or “I didn’t see him there”.

The first fight ended and we were taken to the second field to what I thought was going to be a Civil War reenactment due to the field looking like an old battlefield.  Knowing a little about history, I called dibs on being the North.  I also emptied out my paintball hopper, save for one bullet as the muskets from the civil war could only fire one shot until they had to be reloaded.  The ref called for the fight to begin, so like a good little civil war soldier I slowly marched forward to form a firing line.  However I noticed my teammates were not on the same page with me as they ran every which direction to grab cover.  I also quickly realized that the South were not using muskets as I was, they had semi-automatic weapons…alas the North was behind in technology.  I dropped down behind a little box and watched the field for a little while again.  It was more of the same with people scurrying around from cover to cover.  At least I wasn’t the first one shot this time.  Anyways as I continued to watch a soldier for the South started picking up and tossing his cover forward on the field (it was a large spool).  Realizing I was grossly outmatched as I had already seen several of my North brethren fall to the tyranny of the South, I decided to take my musket to my own leg and take a graceful exit from this battle.

We move to the next area which is a “speed” course, smaller course with no tree/weed cover.  Things have finally clicked and to help prevent my teammates from shooting me at the offset of the battle I run out and start laying down fire like I should.  I even managed to hit someone.  I was hiding behind a bunker and my teammate, Daniel, came rushing forward to the same area.  All of a sudden a massive scattering of paintballs came spraying into the area, I’m talking 75 to 100 paintballs.  Thinking it was some sort of grenade, I did the noble thing and dove on top of them, causing them to explode on me.  Obviously I am out, and again proven to be an idiot raising the ire of my teammates further.  As it turns out, apparently Daniel’s hopper fell off as he rushed forward and that was his ammunition spilling out into the bunker….my bad.

Anyways, I took a peek at my watch…we are halfway done; I can’t screw up too much more can I?  On to the next course.  I could tell I wasn’t in good with the team anymore as they shoved me right out in the middle once the round started.  I figure one more good round and they will be shooting me at the start.  I stumble forward and hide behind a barrier of some sort.  I sat there for a moment, and at first I was sad that I was such a poor performer.  A few tears escaped my eyes, but then I soon became angry, and like the Hulk I was fueled by my anger and my skin actually started to turn a pale shade of green.  I stood up with my head and gun appearing above the barrier, not really caring what happened.  Apparently nobody had heard me crying or seen where I had gone as nobody was paying me any attention.  I quickly got a line on a few people and was able to take out three of them.  Amazed at the turn of events my teammates pressed forward to where I was and we started pressing our advantage.  This was all well and good until the other team sent in two kamikazi gunmen.  Somehow with Matrix like reflexes they were able to dodge much of our fire and get in behind us using a bull rush tactic in the process taking out a few of our guys.  I was fortunate enough that Josh ran out of ammo before he got behind me and Jeremy got shot before he got to me as well.  Still in the game I looked around and luckily I was not alone.  I still had a couple of teammates in the game.  I laid down some cover fire and they made their way in and my team finally won a match.  More impressively, I finally survived a match.

Needless to say, for the remaining matches, I was less of a doofus and my teammates disdain for me grew less and less as we continued to win matches and pull the score back to where it was close to being even.  In the end the other side had a victory or two more, but it was pretty close.

After the last battle we all decided to compare battle wounds as that and drinking a beer is apparently the manly thing to do after paintball.  I had a couple of doozies that I knew were going to bruise up nicely on my arm, and of course the one on my leg that I wasn’t going to bring up.  As it turns out the winner for best wound was a bit of a surprise.  Apparently super suits don’t absorb or prevent you from getting shot.  Steve in his NASCAR outfit got hit in the back, right below his Budweiser logo and it left a nice red mark that was already swelling up nicely.

As it turned out, it was a good experience with some good team building.  We all gave each other a high five and then headed off to the pool hall to tell our stories of who shot who and to suck down a couple more beers.  So if you are looking for a good work outing, consider paintball as it might sting a little, but there are some good experiences to be had.  Also, if you ever see Steve you might bring him a 9 volt battery as apparently he is using them up quickly.

Fungineering No Comments »

Welcome to Arduino!

What is an Arduino? An Arduino is an all in one programmable microcontroller that allows you to start off very quickly in the world of microcontrollers. It is an Open Source hardware controller and there are many flavors out there, each catering to many different needs.

Arduino has an Integrated Development Environment based on the same environment used in Processing. Arduino can be programmed in the IDE using a language like AVR C that is based on the same language used for Wiring. Today I will show you how to get started on the basic “hello world” of microcontrollers. A page provided by the people who make Arduino’s explains more about what it is and can be found here.

To get started you will need a few things:

  • An Arduino board (or most any one of the many clones out there which I will discuss later)
  • A compatible computer and OS (OSX Linux and Windows are supported)
  • The IDE (downloaded from Arduino.cc)
  • An LED (not all clones have a built in LED on pin 13)
  • An appropriate resistor for your LED (resistor values can be calculated here more info below)
  • A breadboard and some patch cables

Arduino is an open source hardware device which means that it is freely available for people to get the schematics of it and create their own flavor. For this blog, I am using a seeeduino which is an arduino made by SeeedStudio and has a few advantages over the traditional arduino, like extra analog I/O and more surface mount parts which makes for a lower profile. Arduino clones are usually designed for a specific purpose, like the Roboduino which has everything setup so you can plug in PWM cables for motor controls, or the Stickduino which is about the size of a pack of gum but has all the same power as a traditional arduino. Usually, all of these clones can use the IDE for development but sometimes the method of connecting the arduino may be different.

It is the special purpose clones that might not have an LED built in on pin 13 and for this you would need an external LED and resistor to follow along, but if you have one of the many clones that are the same form-factor as the original arduino, you should have an integrated LED somewhere on the board.

If you do not want to use another LED and you have one built into the arduino then you do not need to have a separate LED and resistor or breadboard and patch cables. If you have an LED built in and have a separate LED, resistor, breadboard and patch cables, then you can blink each one individually or at the same time using the same way that I will cover below. Having a breadboard and patches handy is also great for prototyping or just playing and is good to have around anyway. Most places that sell arduino’s will have breadboards, and some will have the male to male patch cables that make it easy to plug and play into the arduino and breadboard. A breadboard is basically like a Printed Circuit Board that you don’t have to solder anything with. It has a bunch of 0.1″ holes that are wired like a typical prototype PCB.

Once you have everything you need, it’s easy to get started. First let’s make sure you have the correct resistor for your LED. Visit led.linear1.org and let’s put in some numbers.

ledcalc

What I have is an LED that has a forward voltage of 1.7v and an output of 20ma so I plug these values into the calculator and it get back a 180ohm resistor. If you happen to have 180ohm resistors laying around, you can use those. The rule is a plus or minus 10% is still ok, And if you go with higher ohms it will just mean less power gets to the LED. So in my case, I have a 220 ohm resistor sitting here so I will use that since it is higher than what is recommended and will not burn out the LED but still allow enough power to get to the LED to light it up.

Now we need to setup everything. If you are using the integrated LED then you are ready to go and can skip to the code section. For the external LED you will need to plug some things into your breadboard. First, let’s plug in the LED. I have mine put against the middle rail so I have plenty of access to the power and ground rails if i need to use them. And so I can put things in front of it, namely things that will come off the breadboard and connect to the arduino itself.

ledbreadboard

Next I will plug in my resistor to two spots on the breadboard, but one of those spots will be one of the lanes that a leg of the LED is plugged into. This is so we can make sure the power goes through the resistor at some point on its way through the LED. You can select either leg of the LED to connect the resistor, just so it is on one and only one of the legs. Otherwise we will not actually be limiting power.

ledresistorbreadboard

Now we will plug in our power and ground into our breadboard. We will need to know which leg of the LED is the anode (+ or power) and which is the cathode (- or ground). The anode is usually the longer leg of the LED, also on some round LED’s the cathode side is flat on the body. For my setup, I will be putting the resistor on the cathode, for no specific reason. Now I will plug the supply wire into the lane the anode is on and I will plug in the ground wire to the lane the resistor is plugged into and the LED is NOT plugged into.

breadboardwithwires

Now we can plug in the wires to the arduino. I will use the GND pin just past pin 13 on the right side of the Arduino and plug in the supply line to the digital pin 3 marked with a PWM on it. The integrated LED is usually connected to pin 13 and we will utilize that when we get to coding.

completesetup

Next go to your computer and open the arduino IDE. I am using version 0015 which is current as of this writing. In the IDE, navigate to File > Sketchbook > Examples > Digital and select Blink. This will open up the blink “sketch” so we can upload it to our arduino. In the arduino IDE, a “sketch” is what we call the program that will be uploaded to the arduino. Next plug your USB cable into the arduino and then the computer so it can be found by the IDE. Once we have it found, we will need to setup the IDE to connect to it. Click Tools > Board and select the arduino you are using. Diecimila should be good if you do not know or have a standard arduino. Next click again on Tools > Serial Port and select the serial port that is created by the software on the arduino. If you do not know then you can unplug the arduino and click on Tools > Serial Port and see what is there, then plug it back in and click on Tools > Arduino and select the new one that shows up. Once everything is setup, your IDE should look something like this:

arduinoide

With the arduino plugged in and the IDE ready to go, we can upload the sketch. This is done by clicking the “Upload to I/O board” button arduinoupload or going to File > Upload to I/O Board or you can use the keyboard shortcut, which differs based on your operating system. What this will do is compile the sketch and then upload the compiled version to the arduino. Once there, you should see the LED on your arduino blink. But, if you do not have an LED integrated, your board might just look like it does when it is not plugged in. To solve this, we will change a little bit of the code.

First lets talk a little bit about what the code does:

int ledPin = 13;

this just sets up a variable to make it easier for us to know later in the code, which pin is the LED pin.

pinMode(ledPin, OUTPUT);

This is how we tell the arduino that we are going to be writing to “ledPin” rather than reading from it.

digitalWrite(ledPin, HIGH);

This is how we actually write to the “ledPin” and control the LED. Note that this line is used twice, once it sets HIGH and once LOW. Basically it is saying HIGH sends power (5v) to the pin or you can think of it as turns it on. Sending LOW sets the power to 0v, or turns it off. HIGH and LOW are reserved words for the IDE and do not have to be defined.

delay(1000);

this tells the arduino that it needs to wait 1000 milliseconds, or 1 second, before going on.

Now we need to add code to make our external LED turn on. Lets first define a pin so we don’t have to use just the number later in the code. Under the “int ledPin = 13;” line lets add a new int and call it something useful like redLedPin and set it to our pin number, which should be 3. It will be the pin number you plugged the supply wire into. Next, we need to set our pin to output, so under the current pinMode call, lets add one that sets our new redLedPin to output. Now we are ready to make the LED turn on and off however we want. I am going to make my redLedPin turn on when the other LED is off. So now my code looks like this:

newcode

We can upload our code to the arduino and test it out. On my setup, I have pin 13 turning off when pin 3 turns on, and pin 13 turns on when pin 3 turns off. That is just the beginning. Now you can add all sorts of stuff to your code, or to your breadboard and have all sorts of fun. Some examples may be adding a button to make the LED’s turn on, or adding a potentiometer to adjust the fading of the LED. But the possibilities go on and on and on. Comment or email if you have questions.

arduinoledexternalled

Fungineering, Hardware & Robotics, Open Source, P2 Culture, Technology No Comments »

Software Bill of Rights (Part One) - Development Philosophy Part 3

In my previous posts I discussed the way Phase 2 develops a deep understanding of our clients’ needs. Once we discover the needs and can fluently speak in the language of measures of success, we create a technology implementation plan. In the next series of posts I’ll cover my philosophies around the process of implementing a custom software project, we call it a Software Bill of Rights, credit to Jeff Palermo for articulating it as such. It’s what every client should expect from us, or any software partner.

There are 5 Rights our clients can expect during the implementation cycle of a project with P2.  While the details of an implementation will change depending on the project and the team, these are the guiding principals.

1.  Clients have the right to working software, at regular intervals, throughout the implementation life cycle.

2.  Clients have the right to usable software.

3.  Clients have the right to clear, non-technical communication about the software being developed and the development process.

4.  Clients have the right to the best solution available.

5.  Clients have the right to be regularly involved in the software development process.

Let’s talk about Right #1: “Clients have the right to working software, at regular intervals, throughout the implementation life cycle.”  I’ll make this bold statement, it is impossible to create an effective, well designed piece of software on the first pass.  Iterations are necessary and great software can only be created through iterations of actually working code and interfaces.  To meet the ultimate vision, a development project requires that the end user get their hands on the software as early and as often as possible.

There are no practical amounts of upfront specifications that will allow a development team to get a software compenent correct the first time.  Clients will forget things they needed, developers will botch routings they shouldn’t have, etc.  This first Right in the Software Bill of Rights defines the essential need for the end user to have access to working components of a piece of software throughout the develoment process.  This creates a fundamental feedback loop between the client and the developer.  Feedback is absolutely necessary for both the client, as they will gain confidence in code they cannot see, and the developers, as they will be able to craft the solution based on user interaction.  It is always a bad idea to take a software spec, have developers go build from it for a month or two, then show the results to the client.

Feedback should happen at least once a week with real working components that the client can touch.  This means developers must be mindful of error handling, bugs and UI issues at all stages of development.  Usable software early in the cycle helps keep the software on the right track, meeting the client’s needs and expectations, as well as allowing a developer to implement creative concepts which are difficult to justify without the client seeing them actually work.

As with all rights, these involve a high level of responsibility; great software implementations require a commitment to this feedback loop from both the client and the developers.  Clients must be committed to the, often substantial, time to use and test the ever changing prototype, giving valuable feedback to the development team.  Developers must be committed to the process of creating incremental, usable pieces of software, which requires a constant committment to working components at all stages, consistent focus and a willingness make user feedback a primary value.

In the end this Right facilitates great, usable software and happy clients.

P2 Culture, Philosophy, Software, Software Bill of Rights, Technology No Comments »

Measurable Success - Development Philosophy Part 2

As I discussed in my previous post, when we start a project at Phase 2, we always start by looking at the people involved. We look at the different constituents, both internal and external to the organization, what each wants and needs as well as the current problems each face. After we understand what particular groups of people are looking for, we ask the tough but essential business question: If the goals are met and the problems are solved, how does it positively affect the organization’s bottom line and/or mission? What is the measurable success the business will see upon the successful implementation of the software system? This question is so essential to a successful software project it sends my stomach in knots when I think about how often it doesn’t even get discussed. It’s easy, especially for technologists, to fall to the temptation of justifying software just because it’s cool, it seems needed or someone else is using it. It is equally tempting for businesses to reject software recommendations because it seems too expensive, too new or because the benefits aren’t clear. Technologically impressive but ineffective software doesn’t make for good business partnerships but, neither does unimaginative software that misses opportunities for real innovation. In our information age, businesses large and small need great software partners to survive.

The only way to manage a great partnership is to create win/win situations, which is patently impossible if there is not a deep understanding of how each component in a software project will impact the bottom line success of an organization. Clear measures of success, or MOS, provide a common language between a business and their software development partner, help to justify innovation and facilitate long-term relationships by providing quantifiable return on investment.

Creating common language is often difficult between business partners, but is particularly challenging between businesses and their software partners. The intangible nature of software and the obscurity about how it’s created adds tremendous difficulty to the communication. Here’s a real life example: We developed an application for a directional drilling company that helps them manage their drilling process. During the life cycle of the project we discovered that a single job could have multiple drilling paths or tracks instead of just one. This seems like and easy fix, just add another track, but to make the change required substantial revisions to the software. Conversely, things that seem difficult are often easy. On a different project we were asked to add a seemingly complex calculation to a list of items. While this seemed complex to the client it was actually rather easy to implement. Similar situations happen on nearly every software project. In most cases the obscurity of how software works creates a large communication and understanding barrier between a business and its software partner. The common language of Measures Of Success is the key to overcoming this barrier. If we frame our above examples in the language of MOS it will look more like this: obscure software situation A will cost X dollars and benefit the organization in Y ways. That’s an easy decision of any businessperson to make.

The MOS language also allows software developers to justify key, high impact innovations. Smarter, faster, more usable, more elegant, etc. are usually expensive, often prohibitively so for many businesses. Software that is 85% of the way to what a business is looking for but 200% cheaper is normally good enough to go with. The problem is that most software developers are artists at heart; we are in the business to add new and innovative solutions to the world. Getting 85% of the way to an elegant solution is disheartening and all to often we are right to feel discouraged. While an 85% solution based on a budget may run the business just fine, that budget is more often then not, built without a technology imagination that envisions the impact of innovation. Great software partners live in a world shaped by the results of innovations, we are often first movers and adopters of technology that actually changes how we play, work, communicate and even think. 85% doesn’t change the world and we understand this intimately. Fluently speaking the language of MOS allows a developer to help a business owner imagine and then calculate the impact real, but perhaps seemingly expensive, innovations will have on his/her business. This gives software developers the opportunity to create real innovation for their clients.

Finally, speaking MOS brings the opportunity to strengthen the partnership by creating a structure which creates a clear picture of the return on investment of a software project or component. The quickest way for a relationship to turn sour is when one partner or the other perceives real or imagined inequity. A partnership with a software company deteriorates quickly when a project is near to or over budget and there was no clear expectation of the ROI for the project or the components. While 20% over budget on a highly valuable component of a project isn’t critical, that same 20% over budget on a feature that will have little impact on the business becomes a big problem. Without a clear statement about the return on investment of each component in a project it is impossible to make these critical decisions until it’s too late and the relationship is in trouble. Measurable success allows ROI to easily be defined before a line of code is written, making it clear how to prioritize a project.

Defining and fluently speaking the language of MOS is critical to a successful software project and in developing long-term partnerships between a business and a software development partner. It’s one of our required steps and has been a key to our success in the very difficult business of improving our clients’ businesses.

P2 Culture, Philosophy, Software, Technology No Comments »

And They’re Off!

As you know the Kentucky Derby was last weekend, which means Phase 2 had another Pick ‘em challenge.  In this challenge the participants were required to select the top five finishers in the race in order.

There were several picking styles emplored by the participants.  Some looked at the odds and took the favorites.  Some picked based on how cute the jockey was.  We even had a couple people take the random number approach.

Unfortunately the game was somewhat tarnished and is under protest due to the favorite, I Want Revenge, withdrawing the morning of the race.  Protesters have been told to “cry more”.  To account for the scratch, anyone taking I Want Revenge had that horse dropped and for everyone else their last horse selected was dropped, making it a superfecta as opposed to a select five.

As it turns out, the suckers that just took the favorites got demolished since Friesan Fire came in next to last.  Many hopes and dreams were shattered by this horse.  Due to Mine That Bird’s spectacular upset that was only selected by the users of the random method, they tended to make out fairly well with one of them, Jacob, winning the event.

Jacob was awarded an atta boy and a pat on the back.  This definately helped him in the overall, moving him up to third place.  We’ll see if he can keep this winning streak going into the next golf event, the US Open.  He was middle of the pack in the Masters, so he will have an okay draft position.  It looks like Tim and Jason will be picking first and second which means they will probably be taking Tiger Woods, but you never know.

Fungineering Comments Off

Phase 2 Gives Back

Phase 2 Interactive gives back to the community by sponsoring and donating a portion of their services to a variety of charities across Oklahoma. Recently, Prevent Blindness Oklahoma and the Oklahoma City Memorial Marathon launched their new redesigned websites.

Communications to various constituents across the State for Prevent Blindness is critical for their education program. The new website now makes it easy to view events, learn about Prevent Blindness programs and even make a donation online. Schools across Oklahoma can now go to the new website and download updated forms, packets and useful fact sheets they use every year.

“Prevent Blindness Oklahoma provides a wonderful service to our community,” said Heath Clinton, president and COO, Phase 2 Interactive. “They provide a crucial service to our communities and we were proud to partner with them. Our technology and custom solutions help deliver a friendly user experience for hundreds of users across Oklahoma.”

Prevent Blindness Oklahoma is the state’s leading volunteer eye health and safety organization dedicated to fighting blindness and saving sight. Established in 1965, Prevent Blindness Oklahoma is the only non-profit agency in Oklahoma dedicated exclusively to fighting blindness. You can view their new website at www.preventblindnessok.org.

The Memorial Marathon this year was sold out and a huge success. Phase 2 was proud to be a part of that success. The new site made it easy to get information about all of the events, register online, print maps and view the results for the marathon.

“We were proud to be a part of the Memorial Marathon Website redesign. Our custom solutions and cutting edge designs help organizations deliver content in a user-friendly environment. Phase 2 participated in the marathon relay this year and now we have several team members that are setting their goals on the half marathon and full marathon next year.

The Oklahoma City Memorial Marathon proceeds go to the Oklahoma City National Memorial Foundation. You can view the new website at www.okcmarathon.com.

Since 1998, Phase 2 Interactive has been developing Web sites and online applications for many of the state’s largest and most recognized businesses. For more information on Phase 2’s product and services, visit www.phase2online.com.

Community, P2 Culture Comments Off

Sports Wrapup

Every year we have a sports pick ‘em challenge at the office.  This challenge requires the players to use their knowledge of everything from horse racing to football.  Last year was the first year that yours truly did not win, but rather came in a distant fourth.  But hey, you’ve got to let someone else win on occasion or they’ll stop playing.  Last year’s champ was Tammy, followed by Brett and Jacob.

The first challenge this year was Daytona.  Brett dominated this event last year and everyone wondered if he could repeat this year.  For an entire week leading up to the event Brett would proclaim “Rubbin is racing” and then attempt to put someone into the wall as he walked past.  This odd behavior seemed to work out well as Brett came in second place, just edged out by Kelly.  Steve apparently selected the drivers in the 1970 Ford Pintos as he was far and away the worst picker in this event.

The next challenge was the NCAA basketball tournament.  This year was all about taking the chalk.  Thus the least creative and most conservative people ran away with this one while those of us that are risk takers and think outside the box did not fare as well.  The top three were Tammy, Brett and Steve.  Need I say more?  Last place was Colbey who though way outside the box, taking the Lakers to win it all.  That takes guts my friend to make a pick like that.

The third challenge we had was selecting golfers in the Masters tournament.  We randomly selected a draft order.  Unfortunately I was out of the office when the order was selected and I somehow ended up with the last draft pick.  Shenanigans have been called.  The first round pickers Jeremy and Heath (I won’t play unless I get Tiger Woods) were #1 and #2, so obviously they took Woods.  Woods was not your winner, but with Jeremy’s other two picks he managed to put together the winning team.  Meanwhile Jason, who picked fifth, managed to select a crew that would have struggled through a miniature golf course thus causing him to finish dead last.  It is a four day tournament, but Jason managed to lock up last by the end of day Friday…atta boy!

Next is the Kentucky Derby.  The early money is I Want Revenge, but he is the favorite to win, so that is no surprise.  Kempton won this last year, so we’ll see what happens this year.

Fungineering No Comments »