Big Bang Technology

Wed 07 Jul
2010

Big Bang Technology Second Anniversary Party

Posted at 11:00 AM by Max Cameron in Community

It's been two years since we started our company. This calls for a party.

Feel free to join us for a party this Friday, July 9th, at 6pm, at Hotshot Gallery, at 161 Augusta Avenue, Toronto.

We'll have cool drinks, lots of tunes, and plenty of good people to meet.

Since this party is all about giving back to the community of people who have helped us over the past two years, we would like to continue extending that spirit of generosity. So we're also going to be collecting monetary donations for a very worthwhile charity called Little Geeks. Little Geeks collects, refurbishes and re-distributes donated computers to children in need. Any donation - no matter how small - will help this organization get through some tough times.

See you on Friday.

Best,

Max

I love it when you find bugs | Big Bang Technology

Big Bang Technology

Mon 17 May
2010

I love it when you find bugs

Posted at 3:59 PM by Max Cameron Tech Start-Up 101

Writing good bug descriptions isn't easy, and developers love to bitch about bogus bug reports. But really, it's our job to help people report them better. How's a civilian supposed to know that sometimes we think in lists, and not in stories? We work with a distributed team, so they can't just sit down next to us and walk through it. When they find bugs, it's our job to hunt them down and squash them with impunity. I wrote this letter to our team-members to help me reproduce bugs without lengthy skype conversations or tons of email. This isn't for customer consumption, but rather for our internal team. I figure we owe it to them to help them write better bug descriptions.

Hi everyone,

Disclaimer: This message was not written with anyone in mind. I tagged everyone who frequently helps me with bugs, and I think it will help everyone.

Ok, on with the show.

I love it when you find bugs.

Finding and squashing bugs makes our product better. Even though it sucks when something doesn’t work the way you expect it to, it’s far better for us to find bugs than for our customers to find them. When you report a bug, my job is to make it happen on my computer. When I can do that, I can stop our developers, reproduce the problem, and get them working on a fix. When I can’t do that, I get frustrated because I can’t help you even though I really want to. The key to fixing bugs is for me to reproduce the problem. I was hoping I could ask you for a favour in helping me do that. I’d like to set up a consistent and simple way to describe bug-like-behaviour. And I think we can do it without using crappy bug reporting software with hundreds of drop-down menus.

Example time. Everyone loves examples!

Let’s say I try and add a user and it doesn’t work. One way to write a bug report is to tell a story. “Hi Max, I logged into the application and opened up the account manager and I added a user but the little spinny circle kept on spinning and nothing happened. So I opened up a different tab and logged in again and added another user and the same thing happened, but then I switched over to the content manager and came back, clicked a few different users, then I clicked on the first user and there she was!”

Umm ok. Let me get back to you.

Pretty simple bug, not so simple for me to reproduce. I know I have an issue with browser tabs, I know I have an issue with a spinny circle, and I think that if I select a few different users something might happen. But there’s so much I don’t know. So many steps missing, so much context absent. I’ll probably be sitting around hoping that I’ll stumble across the problem. I might call you and ask you to walk me through it (spending more of our time). More likely though, I’ll just try and “figure it out,” face-palming because I can’t help you get the software you need.

And this is just a simple bug, never mind the really juicy, complicated ones.

Here’s an alternate way to log the bug.

A list! Everyone loves a list!

"Dear Max, I found a problem. Here’s the steps I took to reproduce it."

  1. Log into xxxxx.woople.com
  2. Select account manager
  3. Click add user button
  4. Enter user’s name, press tab.
  5. Enter user’s email address
  6. Add user’s password
  7. Click add user
  8. The Spinny circle spins for thirty seconds or more!
  9. While spinny circle spins, I open a new tab on my browser
  10. Log out and log in to the same woople account again
  11. Select account manager, add a new user, and the spinny thing happens again
  12. Close the second tab
  13. I go back to the first site and refresh the page
  14. Go back to user list, still no user
  15. Click add user
  16. Enter user details again. Still no luck
  17. Select Content Manager
  18. Select Account Manager
  19. User appears on the list

Ahhhhhh, lightbulb.

So using this list, I can do a few things:

  • First of all, I can retrace your footsteps step-by-step, and hopefully, come to the same result that you did (no user in the list).
  • Second, I can identify a step you took that might give me a hint as to where the problem is (selecting content manager and coming back).
  • Third, I identify problem steps that we might want to avoid in the future (multiple tabs logged into the same account).
  • Notice how I used a list to extoll the virtues of a list.

And the best part is, when something weird happens, you can start a list, and go step by step through the process and describe everything you click and everything that happens as you do it. You won’t have to worry about writing a story from your memory twenty minutes after you see the bug.

Thanks for taking the time to read this message. I mean this when I say it: I appreciate every bug you find, and all the time it takes for you to describe them to me. I know how much work it takes (trust me I spend most of my waking hours doing this on our staging environment). It’s tough, detailed, confusing work that makes you focus your mind like a college exam. It’s not fun. But it’s how we make our living, and it’s worth every mind-numbing second. Because when we squash a nasty bug that was hard to reproduce, and savour the moment of knowing it will never, ever come back to haunt us, it makes all those lists and all those steps worthwhile.

With undying admiration,

Yours truly,

Max Cameron, The Bug Hunter

Want to leave a comment? Join the conversation (and vote this article up) on hacker news.

Blog Reset | Big Bang Technology

Big Bang Technology

Wed 14 Apr
2010

Blog Reset

Posted at 3:30 PM by Max Cameron Ranting

I'm back from my blogging leave of absence.

I haven't been talking very much on the blog for the past couple of months, in fact I haven't posted anything since January. That's because we've been busy building a product. It also feels like so much has happened since I last posted anything that any attempt to explain what we've been up to would be a drop in the bucket of what needs to be said.

So much time has passed and so much has happened that I was actually scared of writing. What could I possibly say? So I'm going to make things easy on myself (and you) by providing an abridged list of important events to get everyone up to speed. Once this list is published, we'll be up to speed and I will be able to write guilt free.

Jan 6th: Wrote our last blog post. Had coffee with Don Tapscott. That was awesome.

Jan 25th: Chris's first day at Big Bang. Chris deserves a whole blog post written about him.

Jan 24th-28th: I went to Vancouver to sell our software to a bunch of Canadian car dealers. Very surreal.

Feb 3rd-5th: Cameron and Chris went to Chattanooga to introduce Chris to the rest of the team.

Feb 22nd-25th: I travelled to Edmonton, Calgary and Toronto selling software to Canadian car dealers. Still. Very. Surreal.

Feb 27th-28th: Cameron and I worked all weekend preparing for a big business trip.

March 1st-2nd: Cameron and I travelled to Chicago for a scratch-n-sniff meeting with a giant American corporation and our partners from Tennessee.

March 3rd: Started looking at new office spaces.

March 16th-19th: Cameron and I went to Tennessee for our second meeting with the giant American corporation. It went well. The weather was getting better.

April 2nd: Big Bang mugs arrived in the mail.

April 13th: Had our book keeper over to the office and figured out our finances. I suggest you all do the same once in a while.

OK. So there you go. Now I can write about more awesomeness. If you have any questions about the above list, or if there's something you'd like to see me write about, let me know on twitter and I'd be happy to oblige if it sounds interesting.

Installation, Configuration, Deployment: node.js Applications on Media Temple | Big Bang Technology

Big Bang Technology

Sun 07 Mar
2010

Installation, Configuration, Deployment: node.js Applications on Media Temple

Posted at 11:08 AM by Cameron Westland Tutorials

I'm very excited about node.js. I'm sure if you're a javascript fan that you've heard about it too. I'll leave determining the usefulness of node to you. This article serves as a guide to installing, configuring, and deploying node.js on a media temple dedicated virtual server. Even without a Media Temple (dv) you should be able follow along on your own server.

Prerequisites

Install application

I'm not going to list every step in detail here. This article assumes basic knowledge of FTP or git. I checkout my application to /var/www/vhosts/:virtual_host/application.

We're going to set up supervisor to pipe stdout and stderr to seperate log files. We need to make sure we've created the appropriate log directories before we do that though. Replace :virtual_host with the host you've created.

We also need a startup script so that supervisor can start up our application.

Now we're ready to configure our node server and make sure that it's reliably running.

Install node.js

  1. SSH into machine with root access.
  2. Create a source folder, download, install, and compile node.

Testing the application

At this point, you should be able to run the node binary and test your application.

Deployment Configuration

I use supervisor for managing the node process. The easiest way to install it is by using the pythong setup tools package.

Install setup tools

Now that setup tools is installed, supervisor is very easy to setup.

Configure supervisor

The manual for supervisor is very straightforward. We create a configuration file. Specifiy our application in the configuration. And set supervisord to start automaticaly.

Test out supervisor by launching supervisord. You can check the status of your application by launching supervisorctl. See the manual for more options. We can now manually start up supervisor so it launches (with our application) on startup. This is useful in the event that your server gets rebooted. To do this, we create an init script:

Now supervisor will start when the server boots up.

Apache Configuration

The last step is to configure Apache to route non-static requests over to node:

Restart the apache process by typing /etc/init.d/http restart and test your server! Viola!

If you have problems with any of these steps or any questsions feel free to @camwest on twitter.

Building Software is Like… | Big Bang Technology

Big Bang Technology

Wed 06 Jan
2010

Building Software is Like…

Posted at 6:45 PM by Max Cameron Tech Start-Up 101

I once read that building software is like jumping off a cliff and building a parachute on the way down. It stuck with me immediately. It's my stock answer for when someone asks me what I do for a living. I use it because I love the idea. It's funny, and it speaks to the creativity and pressure involved in our field.

But this expression isn't perfect - it ignores another ugly side of software development altogether. And that is finding the patience required to overcome the anxiety of anticipating whatever is about to be completed next.

Here's how it plays out in my head.

James: "I want to build that next feature so bad. This feature will change the world of software."

Bill: "Totally. But, we should probably make it so they can sign in before we do that, right?"

James: "Shit. Yeah, let's do that first. But after that, we are building this feature."

Bill: "But our users need to be able to reset their password, don't they? And the css is pretty shitty James. The sign up page is only a proof of concept."

James: "I should have thought of that. Yeah I guess so… but then we build it."

Sally: "James. I think I found a bug. Whoa, yup this form is seriously f*cked over here.."

The truth just sits there, staring at you like a big turd: Building an application takes a long time. Building software properly takes even longer. Actually testing what you built takes even longer than that.

Priorities change, it's a fact. They change for a lot of reasons, mostly because customers make demands. And they have a right to do so. But we are addicted to the idea of having more and more features. As if the concept of "enough features" even exists. Some place feature lists side by side when choosing a vendor. Mine is bigger than yours buddy.

There is a balance. Our goal as software developers is often to reach a "critical state" of maturity where we've met the "mandatory feature set" in our respective niche markets and can begin to differentiate ourselves from our peers with our unique features.

The funny, if not ironic, part of this story is that we're probably building faster than anyone has built before, with less resources. In the past, it probably would have taken ten times the personnel and ten times longer to build as much as we have. Yet the feeling remains.

It comes back to this; I can't wait to build the next feature. It seems less and less likely that we'll ever get there. And that's because there are never enough features. There is never enough refinement. There are never enough answers to enough questions.

So here's an alternate take on the classic.

Building software is like sailing around the world. But you leave on a raft, and every day you get not enough wood to build the next piece of what will become a boat that can take you across the sea.

And there's pirates.

Now hiring: Junior Web Developer | Big Bang Technology

Big Bang Technology

Mon 14 Dec
2009

Now hiring: Junior Web Developer

Posted at 2:45 PM by Max Cameron Community

We're looking for a Junior Web Developer to work at our office in Toronto. This position starts as a six-month full-time contract with the possibility of extension.

You'll be responsible for:

  • Creating at least one brand new website this year
  • Auditing, maintaining and improving an existing family of websites
  • Implementing web-based marketing efforts

We're looking for someone who:

  • Can engage clients over the phone and in person
  • Works productively and efficiently
  • Who understands the process involved in creating a website from start to finish
  • Is prepared to defend their opinions and can handle honest feedback
  • Aspires to have a career in this profession
  • Is pragmatic in their approach to web development and standards
  • Has experience on the Mac platform
  • Has a desire to continuously improve and learn

About the Company: Read our blog

Interested? Email max (at) bigbangtechnology.com

RFPs Will Kill Us All | Big Bang Technology

Big Bang Technology

Tue 27 Oct
2009

RFPs Will Kill Us All

Posted at 2:34 PM by Max Cameron Tech Start-Up 101

Creative Exploitation and Speculative Work in the Context of the Client-Vendor Relationship

What is an RFP?

An RFP is a document that a company (the Client) makes and publicizes when it wants to get something built. Lots of other companies (the Vendors) make detailed plans about how they would do the job, and the Client gets to choose which Vendor they want to hire for the job. In this case, we're talking about building websites and software, although RFPs traditionally were used for procuring goods, rather than services.

RFPs and the American Dream

For a Vendor, an RFP can look appealing and desirable. It's a chance to compete with your peers, and an opportunity to bid on a piece of work that could be very lucrative. It's a lot of work, but when it pays off, it can be really sweet. Winning one big RFP can get the ball rolling for a new company and establish a reputation for success. It's sort of like the American Dream: if you work hard enough, anyone can make it to the top. If you sweat and bleed enough while making your RFP, there's no telling what account you can land.

For a Client, an RFP is an all-around good deal. Lots of companies jump at the opportunity of landing a big account, and Clients get lots of Vendors to choose from. They even get a range of possible solutions to their problem, and Clients benefit from each and every response they receive. They get to choose the Vendor they work with knowing that the firm they chose has an undeniable advantage over their competitors. Finally, Clients are afraid of getting ripped off, and "shopping around" using the RFP process ensures that the Client is getting the best deal.

Exploitation and the RFP System

We do not respond to RFPs, and we think the world would be a better place if our peer companies made the same decision. Here's why:

Writing an RFPs is based on the assumption that the Client knows what they want, and how they want their problem solved. Clients end up trying to solve problems outside of their domain, where they are less effective. Therefore, the sense of protection an RFP is supposed to give the client is actually an illusion. It doesn't matter how well a firm implements the wrong solution to the wrong problem.

Responding to RFPs takes a long time and a lot of resources to do properly. When a Vendor takes the time to respond to a new RFP, who pays for that time? The answer is that an existing Client pays for it. Wouldn't those resources be better spent on providing better service? Wouldn't providing better service lead to more referrals? Wouldn't more referrals reduce the need to apply for RFPs? Doesn't that mean that responding to RFPs is similar to ripping off your existing clients? (Carl from nGen Works wrote about this recently).

There is a commonly-accepted belief among Clients that Vendors should work for free. This sense of entitlement exists because we as Vendors propagate a mismanaged Client expectation. The reason some Clients frown upon the concept of wireframes and iterative design is because we as Vendors give them reason to do so. We give away production-quality work for free. No wonder people think what we do is easy. We make ourselves look cheap.

Clients benefit from work they do not pay for. If a small Vendor responds to an RFP with an amazing creative idea, there's nothing stopping the Client from hiring a different agency (or worse - building the project in house) and handing over the small Vendor's great idea as "inspiration." That's just cruel, and it happens all the time.

Responding to RFPs is not democratic. Vendors with the biggest portfolios and the most money to spend on the RFP are generally those who win the new business. Ironically, the Vendors with the biggest markup (in order to spend more on RFPs), and the worst value proposition, are the ones that are rewarded with new business. The Client who thinks they have scored the best deal because of the prettiest RFP is actually suckered into paying more so the Vendor can respond to the next RFP. It's a cycle of ripping people off.

Emerging from the Dark Ages

The alternative to the RFP process starts with us, the Vendors.

We must stop responding to them. We must stop taking money from our Clients to respond to RFPs. We must take that money and provide better service to the Clients that trusted us in the first place. We must find a better way to ensure Clients are actually spending their money wisely and getting good value. We must hold ourselves to standards. We must belong to standards-based organizations that guarantee we are offering quality service and value.

Clients can help too.

Clients should understand that the RFP process does not work for buying services like it works for buying goods. They should stop putting out RFPs altogether for services. They should start building relationships with the Vendors who provide the most value. They should also maintain staff members who have the ability to properly evaluate different Vendors. Once they have found a Vendor who they trust, they should allow that Vendor to participate in defining the problem to be solved, as well as the solution to that problem.

In this ideal case, the Client pays less for a better service. They solve the problem that actually needs to be solved, and they'll learn that working with small Vendors can actually be a strength, and not a weakness.

DISCLAIMER: This article was not written out of spite or bitterness. We have not recently lost a bid on an RFP. We've never responded to a public RFP.

Are you upset we don't have comments? Don't worry, you can join a really great conversation on hackernews.

The Art of the Referral | Big Bang Technology

Big Bang Technology

Wed 23 Sep
2009

The Art of the Referral

Posted at 6:08 PM by Max Cameron Tech Start-Up 101

How to lose a win-win situation.

Referrals are crucial to all of us

From what I've learned in the past year or so, referrals are the lifeblood of our industry. But for a small shop, they're more than lifeblood; referrals make the world go round. Traditional promotional strategies are becoming irrelevant, but the need to promote ourselves remains as strong as it ever has.

Advertising has become impotent for two reasons: the printing press is now free, and the markets have changed as described in the cluetrain manifesto. Tactless salesmen are exposed as smiling bastards, commercials are easily ignored, and ads seem to be status symbols at best. When was the last time you bought something from an infomercial? Would you ever start a direct mail campaign to sell your latest product?

Job recruiters (HR is another important goal of promotion) are frequently ridiculed and held with contempt for their impersonal pursuit of "human capital." And direct solicitation of new business reinforces our reckless delusion of speculative work and RFP's.

True power lies, as many people now know, in the opinions of your neighbours and in your trusted friends. The battle for hearts and minds is no longer a matter of achieving more and bigger, but rather in achieving better results with less. And a referral is simply the word-of-mouth equivalent of a viral marketing campaign.

Referrals and Collaboration

An active network of referrals is allowing a new decentralized network of small businesses to thrive, collaborate, and compete with companies that would otherwise stand unchallenged. And this network of referrals is allowing a new generation of leaders to emerge, because building relationships requires trust and affects reputation.

A referral can come in many forms; a letter of recommendation or testimonial, a link on a blog or a few kind words on the phone. This article talks about another type; a more active orchestrated connection of two parties who would mutually benefit from each other's proposition. These are the times when someone you respect calls you up asking if you can take on a job, or if you know someone who can. These are the best referrals if they go right, but they're the worst if they go wrong.

The Best Laid Plans

And sadly, a disaster like that can happen all too easily, and make you wish you never tried to help in the first place. Think of the time you thought your buddy Jimmy and your cousin Sally would really hit off. It's an uncomfortable place to be.

Then there's nepotism. Nobody's perfect - it's natural to vouch for your family members or close friends of family. But unfortunately that's where we encounter a lot of,"We can save a killing if we let Tommy's son take care of this website project thing." It's just a symptom of a more profound cause.

"Max - I have this awesome job that has to get done… by end of day tomorrow." If a deadline is dictating who you refer for a job - it's a tempting way to lower your standards for a referral. If you want to be the one to step in, pull out your black book and save the day, make sure the conditions for success are present. The desire to impress can make people act out of desperation, and not of sound guidance.

Another perilous possibility is you refer a great producer with a project that turns out to be terrible. If I start handing out lemons to my friends, eventually they'll start saying no.

What Makes a Good Referral

A good referral happens when the members of the agreement are united as trusted parties. Trusted parties are not the guys you met at barcamp last week. They are people you've worked with productively and who display a high level of professionalism in their work. Trusted parties can legitimately vouch for each other because they've connected with them on other projects.

So if I'm asked to provide a referral, and if I can think of the right person for the job, I can say, "Sure, this is John. I've worked with him before on a twelve week project. This is how good John is, this is what it was like to work with him, and these are the results he achieved.

When you can pull something like this off, you develop a reputation for helping people. When you refer someone and the project is successful, you trust the person you refer more, and your network of small technology companies start to work together. When one company is overwhelmed, they can turn to another trusted party to serve the needs of the customers that would otherwise go unanswered.

When large projects emerge, the small companies that trust each other can collaborate on projects that would usually be off limits. Good referrals are good for the community, when everybody holds up to their end of the bargain.

Good referrals take time and effort to facilitate. It's important to actually understand the nature of the project, and make sure the right people have the time to do the job right. It's not enough to refer someone you think you know, it's imperative to understand who you're referring to what.

Consequences

The consequences of failure can be costly, embarrassing, and demanding. Success, on the other hand, enables entire communities to thrive. Referrals allow leaders to emerge, and those leaders can accomplish greater feats together than competing apart.

It's easy to make a bad referral, and we should all strive to devote awareness to managing the relationships we orchestrate. If we treat our referrals like we do our own jobs, we can do our part to enrich the communities we belong to.

The New Start Ups | Big Bang Technology

Big Bang Technology

Wed 19 Aug
2009

The New Start Ups

Posted at 3:36 PM by Max Cameron Tech Start-Up 101

We don't want to be Microsoft, and we sure as hell don't want to be Facebook. We want to be the guys that you can talk to, the guys who are quietly creating excellent software for the long tail, and doing it our own way.

It feels like there's a new wave of technology start ups making a run of it these days. Long-passed are the days that disgruntled business analysts throw their arms in the air, declaring they will control the future of desktop computing. I have an archetype in my imagination of a suit screaming "We're going to get us some VC, build a mamoth engineering team, lease a huge office in silicon valley, and acquire Yahoo by 2011!"

The New Start Ups are small teams with interdisciplinary skills, who are not bound by old production or management conventions. These teams are less than five people, usually pairing an engineer with a history graduate, or a client lead with a support expert. This type of mixing and matching of skills and world views is making applications simpler, and more human.

These companies have never seen a Gantt chart, and they never plan more than six weeks of their next release. These companies know that gathering up front requirements and planning a whole project based on a massive matrix of assumptions is a waste of time, money, and sanity. In other words, we don't chase windmills. A software application has a life of its own, a life that is only discovered when it starts to take its first steps.

These companies are support-heavy. They'll literally do anything they can to actively communicate with anyone willing to use their product. They scour their analytics and visit every site that links to them. They check their twitter every morning and reply to every mention as soon as they can. They understand that respect comes from support, because they're also stuck arguing with cell phone providers as much as anyone else, and losing just like everyone else.

These firms are frugal and averse to debt. VC funding almost certainly dooms your product to scope creep and mediocrity, bank loans are the chains that tie you to the ball what was once known as a "business plan," and the only angelic aspect of an investor is that they shoot arrows when they think they're helping. The New Start Ups are therefore finding ways to sustain their independence.

The New Start Ups have replaced business plans with release plans, and have offered simple, if not humble solutions solving one problem at a time. They know that 80% of features are never used, and exist mostly because of the bizarre requirements documents created by stick-holders… I mean stake-holders.

The goal isn't to become the next conglomerate, the next acquisition, or the next poster boy. The goal is to work hard, fly under the radar, and quietly change the way software is made and delivered. Their goal is to listen to customers, always to respond, and above all else to use their own intelligence to make effective decisions which must always result in a simpler solution than existed before.

Marketing is in a transformation. I think this is because marketing as we knew is the dead elephant in the room, and it stinks. Marketing budgets are now being used to build better software, because good software should speak for itself. Customer support is another form of the new marketing. And this is a great opportunity because the big fish have done such a terrible job at taking care of the people that guarantee their existence.

The software they're making is changing too. Less features, better features, and simpler features is today's rallying cry. Let's not solve the world's problems when we only need to solve one of them. And while we're at it, we don't need to solve everyone's problem, we can solve one problem for one group of people and make a pretty nifty living while we're at it. The products are stripped down, minimal, and void of clutter. The audience is some of us, not all of us.

And all of this works because we don't want to be Microsoft, and we sure as sure as hell don't want to be Facebook. We want to be the guys that you can talk to, the guys who are quietly creating excellent software for the long tail, and doing it our own way.

How Balsamiq Mockups is Inspiring our Start Up | Big Bang Technology

Big Bang Technology

Thu 13 Aug
2009

How Balsamiq Mockups is Inspiring our Start Up

Posted at 10:14 AM by Max Cameron Project Management, Tech Start-Up 101

Who knew an application this simple could affect us so much. This is my review of Mockups by Balsamiq.

About two months ago, I wrote to Valerie at Balsamiq, and asked for a product licence for an app I started hearing a lot about, called Mockups. Mockups is a lightweight tool for designing wireframes; the blueprints we make before constructing an application. In return for the licence, I agreed to write an honest, objective review.

When I finally felt I had used the app enough to write something decent, I spent nearly an hour digesting the Balsamiq website, which is refreshingly full of information, and not just copy. What I discovered is that the characteristics that make Mockups outstanding are reflected in the company that makes it. This is software for the people, by the people.

I'm not a programmer. But because I run a technology start up, I find myself responsible for fulfilling many roles. And this is the amazing thing about Mockups: it allowed me to find my voice in the process of developing software, and to take an active role in the interaction, information, and user experience design of the application we're building. Before Mockups, I could suggest changes and provide verbal feedback. After Mockups, I could contribute in a much more meaningful way. It gave me the power to articulate my thoughts and bring them to life. You can't get a much better review than that.

Mockups works because it's simple. It is the most advanced yet acceptable solution to the problem: It is too difficult and complex to create agile wireframes for designing applications. I had experimented with different apps with more advanced feature sets, and I didn't get as much out of them as I get out of Mockups. I see a trend in the best software and applications being used today: build less, build simpler, and build better: Mockups is a perfect example of this trend in action.

I'll go even further and say that Mockups influences the software we make. This is because the flexibility that this tool gives us allows us to iterate more often, and receive more feedback faster. Integrating Mockups into our design process is improving our ideas, and therefore improving the software we produce. Mockups is, in my opinion, the most agile wireframe software I've seen, and by that I mean it facilitates agility inside our company.

Instead of doing a full break-down of all of the features inside Mockups, I'd prefer to send you to their website, which does a much better job explaining what it does. But I will mention that its integration with Dropbox is a delighting feature, which allows us to collaborate across wireframes in near real-time. I look forward to their web-based release of the software, which I'm sure will stir more than a few feathers.

And here's the icing on the cake: Balsamiq as a company is inspiring us to pursue our dreams. They are proving that a small, independent company can sell an amazing product successfully, while maintaining their core values, staying small, being green, and not trying to take over the world. But I think they will end up dominating this space, in spite of their humility.

So, from Big Bang to Balsamiq, you have our full support. We love your product, we use it all the time, and we consistently recommend it to anyone working in our industry. It is changing and improving the way we and our peers develop software, and for that you should be commended over and over again. Keep up the great work, we look forward to seeing what you have in store for us next.

The Critical Period of Software | Big Bang Technology

Big Bang Technology

Fri 07 Aug
2009

The Critical Period of Software

Posted at 11:13 AM by Max Cameron Project Management

The first release is a real challenge, is it not? It's the hardest to estimate, the hardest to construct, and perplexing decisions await you at every turn. To complicate matters further, when you're kicking off a multi-release project, clients want to go big right away. They're are hungry for a four course meal when you're delivering an appetizer. But it's important to help clients understand why the first release is the most precious, even though it may deliver far fewer features than subsequent releases.

The way I see it, the earlier a decision is made, the more significant and influential it is on the project as a whole. We should pay special attention to the decisions we make first, because they will not only define the outcomes of the project, but they will constrain future inputs (options to be considered when making future decisions) as well. Therefore, we should move slowly and methodically in the beginning, although the tendency is to feel urged to rush into a project because the initial momentum is so great.

From what I read, babies can recognize more than 3,000 words by the time they are 2. Some theorists argue that a person's identity is well established by the time they turn 7. It becomes exponentially harder to learn a language, play an instrument or pick up a sport after puberty begins at around age 12. In human psychology, a lot of complex things get figured out relatively early on. These ideas are generally encompassed in the Critical Period Theory.

Things that are cemented during this critical period, tend not to change. You don't just forget your first language, because it gets hard wired into your brain. That also means we tend to take these critical aspects for granted. Additionally, the fact that you learned English constrains the options you have going forward. Therefore, it's more important that you learn a language than what you end up doing with your ability to speak, read and write.

The same pattern holds true for software development. When you choose a framework or programming language to develop the application, you're constraining the options you have to work with. And we shouldn't forget that's a good thing. But the same holds true for feature development. There is no all-encompassing documentation predicting the content of an application, the decisions you make first end up being the most important ones. The constraints you establish first will shape the path the application will take on its way to maturity.

So, when you feel the need to reassure your client and maintain the trust you've worked hard to achieve, remind them that three features which lead us into a flexible and integrated future far outweigh the five that lead us into the layered control of haphazard construction.

Links of the Week 3 | Big Bang Technology

Big Bang Technology

Tue 04 Aug
2009

Links of the Week 3

Posted at 5:32 PM by Cameron Westland

Instead of posting links the minute I find them, I've started holding on to them for a week and then blasting you with them if they still hold my interested by the end of the week.

An Easy Way to Increase Creativity

Application Submission Feedback

A nice collection of feedback from developers. Here's hoping to finding a consitent pattern for app store rejection.

Chroma-Hash

An interesting way to visualize your password and confirm password boxes.

Embrace technical debt

I'm having a hard time embracing financial debt. I'm not likely to jump on this bandwagon anytime soon.

Startup company uses flawed software-development contract with outside consultant, ends up having to go to court to stay alive

Use good contracts.

Anatomy of a feature

While I'm no longer a huge fan of NetNewsWire, any help to explain why feature-development is hard is appreciated.

The Secret of Monkey Island: Special Edition Evolution of Guybrush Shirt

I want this.

Seth Godin on why marketing is too important to be left to the marketing department

I'm watching this right now.

Fitnesse and xUnit, the perfect TDD marriage

Links of the Week 2 | Big Bang Technology

Big Bang Technology

Tue 28 Jul
2009

Links of the Week 2

Posted at 9:55 PM by Cameron Westland

Instead of posting links the minute I find them, I've started holding on to them for a week and then blasting you with them if they still hold my interested by the end of the week.

Everday Innovations - bookmarker

Ergonomic Pen, Flag Dispenser, Bookmark, Book strap. I want this.

Ruby Reports Book

When we start to build reporting features, you can be sure we'll be looking at something like this instead of rolling our own.

Lockdown with Authlogic

Don't try to write authorization features yourself. We're currently evaluating both Lockdown and acl9.

The Pushbutton Web: Realtime Becomes Real

Anil Dash provides probably the best description of this emerging paradigm. We talked about leveraging this to get GitHub and Lighthouse communicating.

Make your test suite UNCOMFORTABLY FAST!

Apparently this works with multi-core processors. Anything that makes tests run faster is OK by me.

alivepdf

Client side AS3 PDF generation library for Flash/Flex/AIR.

Bacteria make computers look like pocket calculators

Funny, I've just started learning about the Hamiltonian path problem in Introduction to Algorithms.

Economics in One Lesson

It's literally once sentence to learn and a lifetime to understand.

Software is a Journey | Big Bang Technology

Big Bang Technology

Fri 24 Jul
2009

Software is a Journey

Posted at 1:01 PM by Max Cameron Tech Start-Up 101

Two guys, one laptop, and 4636 kilometres of pure Canadian coding. This is the Cross Country Coding Tour 09.

The Dilemma

As the rain whips against the windows of our home-office, Cameron is sitting at his desk behind me, coding a new component for the application we started building in June. It's the type of day I wish I had a proper desk lamp, because our overhead lighting is insufficient, and working too long in the dark pinches the back of my eyes. It's one of those days where I wish we could be working from somewhere else.

We've been on a bit of a journey lately, building our first product as a pair. It's exciting and terrifying, especially since we're in the midst of our first release. I don't expect it to get much easier, but believing it will is a comforting illusion. Since I'm a manager, and Cameron's a programmer, my job is to do whatever it takes to let Cameron sink deep into writing code. When I'm not busy doing that, I'm by his side, getting him to think out loud, asking questions and making small contributions when I can.

It's an intense process. There's a lot of disciplines getting thrown together, and the most challenging obstacles are invisible and masked in subtlety. Most of the time, those challenges are only resolved when a new perspective emerges. A new perspective, a different angle, a change of scenery.

The Opportunity

And as luck would have it, my parents told me they would love it if I could drive their car from Seattle, where they live, to Toronto. No can do, I thought, too much work going on. And while the idea was unappealing at first, after a while it crept back into my head. I've always wanted to see more of Canada. The more I thought about it, the more I realized it could actually be possible. Eventually, the thought became a dream and the dream became hard to shake. So we talked about it and decided to do something about it. And so was born the Cross Country Coding Tour 09.

The Rules

It's all about the code, so while I'm driving, Cameron will be right beside me working from the passenger seat. It'll be just like working in the office, except the office will be moving rapidly across Canada. Cameron will be working on his local machine, and we'll check in our code every night from wherever we find ourselves staying. I might have to take care of my QA during our down time, but that's a sacrifice I'm willing to make. We're going to stop every night so we can rest up, but this is a full time job.

The Route:


The Itinerary

  1. YYZ to SEA: One way flight on September the 11th, 2009, from Toronto to Seattle. We'll spend the weekend in Bellevue with my parents, raid my dad's book collection, meet with some of his colleagues, and eat a lot of good food.
  2. SEA to YVR: Might as well get the border crossing out of the way sooner rather than later.
  3. YVR to YQR: Not sure what's in Regina, but I have a funny cousin named Erin who lives there.
  4. YQR to YWG: I love Winnipeg. It's where wild things have been known to happen.
  5. YWG to YQT: I hear they have a solid minor league hockey club in Thunderbay.
  6. YQT to YYZ: And home sweet home.

I should probably also mention we've applied for a Guinness World Record for most lines of code written while driving in a car. It takes four weeks to find out if they'll endorse the idea, so no promises. I'll keep everyone updated when I hear back.

The Point

We're doing this for a few reasons:

  • Perspective: We've already established that your environment affects the artifacts you produce. Our time traveling is going to let us take a step back and reflect on the application as we develop it.
  • Constraint: There's nothing like sitting in a volkswagon bug for a week to get some serious work done.
  • Experiment: We'll find out if mobile telecommuniting is, in fact, possible.
  • Carpe Diem: It's not enough to say, "Maybe one day we can do this." It's now or never, because it'll never get any easier.

The You

If you think what we're doing is cool, and you want to do something to help us out, worry not. Here's how you can lend a hand:

  • Place to stay: If you know anyone who lives on our route, and if they might have space to sleep two polite lads who like to cook, put us in touch so we don't have to spend money on run-down motels (although run-down motels are amazing).
  • Must sees: If we're going through a place that has an incredible off-the-wall tourist attraction (thirty foot muffin is a good example), unforgettable culinary delight, or fascinating dive-bar, let us know.
  • If you know anyone interesting that we could meet up with (Ol' uncle Ricky from Lethbridge woooooo!), we would love to hear from you.
  • Otherwise, your best wishes are always welcome as well.

We'll be blogging as much as we can from the road, and we still have plenty of time until we head out west, so stay tuned for updated itineraries, unsubstantiated predictions, and shouts of excitement. Oh and ps - if we can pull this off, so can all of you.

Links of the Week | Big Bang Technology

Big Bang Technology

Sat 18 Jul
2009

Links of the Week

Posted at 3:22 PM by Cameron Westland Links

Instead of posting links the minute I find them, I've started holding on to them for a week and then blasting you with them if they still hold my interested by the end of the week.

Integrity Continuous Integration Server

I'm currently evaluating using this on our Rails application. Used by the fine folks at thoughtbot.

FlexMonkey 1.0

I've had my eyes on this tool for a while, it's a little tricky to set up if you're trying to access web application instead of just a swf, but we're exploring using it in conjunction with FlexUnit 4

Richard Feynman: The Messenger Series

I haven't had a chance to watch these yet, but I plan to. Bill Gates personally invested to get make these videos available.

New York Nearest Subway Augmented Reality App

Max and I have some ideas similar to this that we've chatted about briefly. Great to see more applications using the compass in an intelligent way.

Project Code Rush

I really enjoyed this short documentary detailing the final moments of the independent Netscape.

Flash Love Letter Part 1

This essay tries to convince Flash game developers to choose a realistic revenue model other than advertising. I think the principles translate fairly well to software as a service.

8 Things We Need to Work with an Angel Investor | Big Bang Technology

Big Bang Technology

Tue 14 Jul
2009

8 Things We Need to Work with an Angel Investor

Posted at 9:09 AM by Max Cameron Tech Start-Up 101

Everyone wants to go to heaven, but nobody wants to die. A lot of people want angel financing, but it always comes with strings attached. Here's the story of how we came to an understanding with our investor using basic, high-level ground rules as a starting point for negotiations.

When we received an offer from an angel investor for them to finance the development of a product that we would own together, we were skeptical. About a year before the offer, we were hired as sub-contractors building a project for the same investor. Since we were junior members of the team, we weren't empowered to make any decisions. Unfortunately for everyone involved, the old project turned out to be a mess.

Inevitably, we burned out, and the team of contractors disbanded one by one. By the time we concluded it was time to take off, all parties were consumed by mistrust. Building software isn't worth being miserable, and we were ready to give up 80% of our income and eat the red pill. But our investor wasn't ready to give up. He asked us what we would need to stay on board and start again from scratch, in fact he challenged us to give him a reason to walk away.

The least we could do was take a shot at it. Here's the email we sent him a few days later.

Dear Angel,

Thank you for your time today. Here's the list of our needs:

  1. We don't want to engage the clients that you maintain (no side projects, marketing sites, or sales meetings).
  2. We need to have secure financing, every month, without fail.
  3. We need to establish expectations for this product together, and stick to them.
  4. We need two stakeholders in this project (Us, and you). Only expert opinions should be considered when evaluating new features.
  5. We need to make our own product, and own a fair portion of it.
  6. We need to know our operating budget.
  7. We need to resource this project as we see fit.
  8. We need to trust that these commitments will be honoured.

If we can address these eight needs that we have, there's no reason we shouldn't be able to do work together.

Best,

Max

Turns out he thought our list was pretty reasonable. If anyone's wondering why they haven't seen much of us lately at some of the great conferences and meet-ups, it's because we've been busy working. We're looking forward to getting back out into the community and talking about our new project, just as soon as we release this beta.

The Meaning of the Small Corporation | Big Bang Technology

Big Bang Technology

Tue 07 Jul
2009

The Meaning of the Small Corporation

Posted at 2:40 PM by Max Cameron Tech Start-Up 101

A few thoughts on creating a technology start-up, from a guy who understands that it takes discipline and humility to serve and nurture your company into maturity.

When I started Big Bang with Cameron I knew I was going to work hard, I knew I was going to challenge myself, and I knew I was going to go a bit crazy. I didn't know how much it would take to succeed, or what kind of existential crisis it was going to throw me into.

Working for someone else is easier than working for yourself. You get to concentrate on what you know how to do, you know what your purpose is. You have a role within the organization, and you fulfill that role to the best of your ability. If you do your job well, you get a raise. If you don't do your job well, you get fired, unless you're a damn fine bullshitter. Pretty simple.

But when you start a company, you become responsible for creating an environment, a culture, and carving a space in the world for you to occupy and grow out of. In other words, building a company from scratch is a long and terrifying journey, full of opportunities. Opportunities to fail, to succeed, to learn, and to create.

A corporation is both an abstract thought and a tangible entity. As an entity, a corporation is a legally sanctioned association of individuals, which exists independently of its members. But as a concept, I believe a corporation is a prism through which we can channel our creative energy thus producing artifacts which are greater than the sum of their parts.

A corporation isn't something you start to get rich. It's something you shape, nurture, and build. And if you build it well enough, and give it the strength and identity it needs, it will carry itself and its members through unbelievable paths and roads. A corporation has an identity all of its own, an identity that is created through the contributions of its members.

A corporation needs to be served in order to succeed. It demands discipline from its members, and it requires diligence from those who care for it. Discipline means that I get paid a little and work a lot. Diligence means that I have responsibilities to my company that require me to consistently sacrifice in its best interest.

How we're serving our corporation

  1. Minimize costs (aka pay yourself as little as possible): Corporations need money to become great. People that enrich themselves at the cost of their company leave their own hands tied. Financial independence (even if it's only enough to keep you going for a month or two) enables you to stand up for what you believe in, say no to bad clients, avoid developing banner ads, even let you build that product you've been dreaming of.
  2. Experiment and fail quickly: Building a corporation in this sense is like cultivating a garden. You nurture the good plants, and remove the weeds. Take your war chest, and put it towards many, small experiments. Let them fail, and let them fail quickly. The worst regrets are the risks you refuse to take.
  3. Invest in your environment: A corporation is nothing without a great environment to create in. Buy as few things as you can, but when you do buy a necessary item, buy the best. This includes designing the best workshop, hiring the best lawyers and accountants, and taking the time to eat right and exercise. Your environment feeds back into your practice, and defines what you create.
  4. Educate your members: Educating yourself is not a luxury left to established firms. Education gives you the power of knowing the practical and theoretical context you need to build something relevant. It could be reading books, going back to school, or talking to your mentors. Do it before work, after work, or during your lunch break. The day we believe that we are educated enough, is the day we fool ourselves into accepting mediocrity as an acceptable standard.
  5. Take care of your members: Whether it means taking out insurance, contributing to medical or educational expenses, allowing for time off, or simply being a good friend to the people you work with, always try and be a source of strength for your colleagues. The big secret is that nobody has all the answers, and we all feel the same stress.
  6. Push yourselves: The members of your company need to become better to survive. Whether you're a PM or a Coder, insist that everyone you work with become smarter. Force yourselves to accept the challenge of producing professional artifacts. Don't settle for doing the least acceptable amount of work, and don't be afraid to point out your colleagues' greatest weaknesses. Think about it, and acknowledge you have the opportunity to produce the most amazing work you've ever imagined every time you sit down at your desk.

The big point is, we don't think we'll ever become great if our attitude is "What can my company do for me." It's not about money, it's not about prestige, and it's not about only doing the work you want to do. It's about capitalizing on the fact that humans can accomplish marvelous feats. If we're going to build the company I know we can build, we're going to get our hands dirty. We're going to work for little pay, and we're going to ensure that we're strong enough to do what we know is right.

Tools for Event Organization | Big Bang Technology

Big Bang Technology

Mon 22 Jun
2009

Tools for Event Organization

Posted at 10:06 AM by Justin Kozuch Community

As an event designer, I use a number of tools to help organize and execute various events in the tech/web community. While I won't be able to talk about all of them today, I'd like to focus on a few that I REALLY like.

Organization

I've used a number of organizational tools to manage the event design process. One tool that I love to use the most is Things ($49.95 USD), developed by Cultured Code.

Screenshot of Things

One of the great things about, well, Things is that it allows me to breakdown different events into projects, and within those projects I can create tasks related to that specific event. I can track ticket sales leads, sponsorship information, or any other type of content. One thing it doesn't do is allow for the importing of documents (Word, PDF, etc) or store information in the cloud. Fortunately, CulturedCode created a slick iPhone app ($9.99 USD) that syncs your data across your iPhone and laptop/desktop. I have no real complaints about Things at all, except for the lack of the document importing/cloud data storage functionality.

Another application that I like to use is Evernote (free, with the option to upgrade to a paid account) to store data like attendee registration lists, catering information or anything that is relevant to the day-of. Evernote is a great tool, because not only can you store content on your phone (iPhone, Palm Pre, Blackberry, Windows Mobile), it syncs your data into the cloud and into the software application. As if that isn't enough, there's also a web-clipper extension for Firefox and a USB key version of Evernote.

The free account only allows you to store 40MB of data, while the premium account ($5/month or $45/year USD) allows you to store 500MB of data. Check out http://www.evernote.com/about/premium/ for more information.

Wrap-up

Post-event engagement is an important part of the process that some event organizers neglect. Understanding what your attendees thought of your event is critical to learning how you can improve future events. I've setup a Google Docs form to get feedback from event attendees to gain insight on what they thought of the event, the speaker, and the content. I like to ask attendees what they would improve, as it gives them a sense of ownership.

Which tools do you use to organize and curate events? What tools or services do you use for post-event engagement? I'd be curious to hear your thoughts! Hit me up on Twitter.

Four Questions for a Technology Start-Up | Big Bang Technology

Big Bang Technology

Tue 09 Jun
2009

Four Questions for a Technology Start-Up

Posted at 6:27 PM by Max Cameron Tech Start-Up 101

Here are four questions that have been agitating me lately. They're not meant to be insurmountably philosophical or life-changing. They're more like nerd pick-up lines. Some have said that four is an arbitrary number, and it is. I feel however, that an even five would fit no better. Hopefully they'll put your craft into perspective and show you how many more questions we have yet to answer.

If there was no internet (gasp), what sort of things would you design?

Would you be inventing a new solar panel or a shaping a mahogany table? Would it even be an object? Perhaps you would be molding a process or a policy? Creating analogies which contain your virtuous characteristics can help you reflect on the digital tools or processes that you're developing now.

If your company was a country, what kind of government would it have?

How would your government make decisions? How would it protect itself and its identify? Processes, pay scales, conflict resolution, and purpose are all derived from the same values which define a government. Would you be a Scandinavian vision of democracy? Or would you be like a well intentioned dictator? I like to think that we try and incorporate different elements of different political theories, so we should be flexible. Let's not forget as well that revolutions happen as well.

If you could spend 10,000 hours becoming an expert on one thing, what would it be?

The question du-jour at the office these days. We all want to be experts. Rumour has it that becoming an expert takes ten thousand hours of practice. How can you find out what you want to focus on for such a large amount of time, and how do you go about doing it. Sometimes I think life would be easier if I wanted to be an expert in something simple, like pizza for example. As of today, I haven't identified my 10,000 hour goal. It's just a matter of time though, because it can't hide forever.

What are you not willing to do for success?

Here's a tricky one. There's a lot of ways to make a buck out there. Every single one of them is challenging. And only some of them take you where you want to end up. Choose wisely, and never worry about next month's rent.

Community Building 101: Some Thoughts | Big Bang Technology

Big Bang Technology

Tue 02 Jun
2009

Community Building 101: Some Thoughts

Posted at 8:11 AM by Justin Kozuch Community

Traditionally a "community" has been defined as a group of interacting people living in a common location. Currently there are dozens of different types of communities, and even many more definitions of what "community" really is. I'd like to post some thoughts on community building, as it is the core of what Refresh has set out to do; build a community and promote it.

If you are responsible for building a community, I'd like to offer you some advice. You don't have to take it, you can throw it away and ignore it if you like. It comes with no strings attached, and I won't be offended.

But if you are serious about building your community, please pay attention because it makes the difference between having advocates and having people not take you seriously.

If your users engage, engage back.

There's nothing more disconcerting than to engage a community builder into a question, only to be completely ignored. Community builders, there's a very good reason why your email client and why Twitter includes a reply button. USE IT! It's free, it takes only a few seconds and you'll feel alot better. And most importantly, you're building a 1-1 relationship with that person that can later translate into offline interaction, which means sales, advocacy, love and more.

Rule of thumb? It's about the people, stupid.

There's no such thing as conflict of interest in community building.

Like the saying goes, if I had a nickel for every time I heard someone use "conflict of interest" in the same sentence as community building, I could have retired years ago. If people want to help you build your community, citing "conflict of interest" is an irresponsible way of refusing said help. A great example of not citing conflict of interest was the #hohoto event that took place last Christmas. Each person involved in the planning brought different skills (maybe some brought the same) to the table, and many more brought their ideas and suggestions. But not once did they ever say no or dismiss any idea. The result? A packed house, an amazing crowd, and they raised over $25,000 for the Daily Bread Food Bank. All that was done in 13 days.

Rule of thumb? Don't say no. Ask for feedback/opinions/assistance, and your users will do more for you than you ever expected.

If you're a community builder, you're in the public eye.

I don't really need to explain why this is important, but I will anyways because so many community builders forget this very important rule. If you are going to address an issue on a blog post, a forum, Twitter, or any other medium, know that 1) Google will find it, and 2) People will talk about it, retweet it, call you out, expose you and make you sorry you were ever born. People today have finely tuned BS receptors and amazing research skills. They will use both to their advantage. Remember that before you hit the submit button on that blog comment.

Rule of thumb? Watch what you say. The past always comes back to bite you.

We asked this question of our Twitter followers: What are the characteristics of a "good community builder"? The responses we got were very interesting:

Kevin Richard: "non restrictive, disclosure (no false pretenses), facilitating rather than forcing conversation, interactive" and "basically not being a corp. shell. The manager listens and responds to the users instead of just pushing out info."

Darius Bashar: "they must be authentic, and have a lot of LOVE. They must also be anti-ROI minded.", and "It is about relationships and about truly listening to your users!"

Dan Codesta: "A good community builder is one who sees an opportunity to fill a need until time comes to 'hand it up' to more capable hands."

Aidan Nulman pointed us to a blog posting about community organizing by Ryan Holiday. It got us thinking: What can we do to make our world better? How can we help our local and global community thrive and be more sustainable? What can we do to help each other succeed, both personally and professionally?

What do you think? What are the characteristics of a good community builder? Hit me up on Twitter, I'd be interested in hearing your thoughts.

Community Building 101: Building A Community on Twitter | Big Bang Technology

Big Bang Technology

Sat 23 May
2009

Community Building 101: Building A Community on Twitter

Posted at 9:00 AM by Justin Kozuch Community

Twitter is a powerful tool for building relationships, if used properly. Used improperly, it can wreak havoc, destroy perception of your brand, and even open you up to litigation.

As a community builder for Refresh Events, I use Twitter almost exclusively (Facebook, LinkedIn, and Google are also part of our toolbox) to reach out to the community and generate awareness of our organization and its events. However for today, I would like to focus on how to use Twitter to build a community.

Is it secret?

Protecting your Twitter updates is akin to telling everyone about your amazing product/service/company, but then introducing a barrier to entry. Seems counter-productive, doesn't it? Imagine if you will someone (let's call him Joe) tweets about how much they love your product. One of Joe's friends, Michael sees his tweet, and is immediately intrigued. When Michael clicks on your name, he is presented with:

Protected Updates Error Message on Twitter

Twitter is an excellent tool for building relationships; protecting your updates prevents you from building those relationships and gaining visibility. It also discourages people from following you.

Rule of thumb? Don't protect your updates if you want to build a community on Twitter to complement your offline community.

Sign on the dotted line

Now that you've opened your Twitter account to the world, you'll want to make sure people know you're on Twitter. This doesn't mean you should put your Twitter account on a billboard (unless you have the budget for it!). But you should put your Twitter account on:

  • Your website
  • Your business card
  • Your email signature

Rule of thumb? Twitter is a tool - use it like you would use any other tool to drive awareness, create relationships, and if done correctly, build reputation.

Help me, Obi Wan Kenobi

Many companies use Twitter as a customer contact vehicle. Among these are JetBlue, Comcast and many others (Brands, take note of how they service their customers). I would like to focus on two particular companies and how their use of Twitter has gained them popularity, increased awareness and improved their brand reputation.

I was recently made aware of Hyatt Concierge (hat tip to @jaygoldman), a Twitter-based customer contact account dedicated to helping their customers with hotel reservations, locating tourist attractions, restaurants (outside the hotel, no less), and is monitored 24/7 by Hyatt staff. While this is nothing new, what's unique about their use of Twitter is they don't promote their brand. Instead, they actively support their customers through listening to their questions and providing assistance. Post-sales support is also provided via their Twitter account.

Freshbooks is another example of an amazing company who provides stellar service to their customers through Twitter. They actively listen to their customers, provide support, gather feedback and frequently give back to the community. I recently had a question about their service and within minutes, I received 2 responses from Andrew Peek (@drupeek) and Rayanne Langdon (@rlangdon) with working solutions. Rayanne also made herself available to answer any questions I had by way of a phone call.

Rule of thumb? Make yourself available to people, answer their questions, don't shout about your brand 24/7, and you'll build an army of advocates.

Sharing = caring

Like most people in tech community, I read a number of blogs and RSS feeds. If I read something I feel is interesting, valuable, and important, I have a personal and professional responsibility to share that content with others. Why? Because it shows you're keeping up to date with technology and you're building a reputation as someone who gives back to the community.

That's not to say you should tweet about EVERYTHING you read; doing so will get you unfollowed rather quickly by a large number of people. Instead, pick and choose carefully what you want to share. If you think people in your network would find it relevant to what THEY do (not what you do), it's well written, or it tackles an important business/social/etc issue, I would encourage you to send it out. More often than not, it will fuel discussion between yourself and others.

The wonderful people at RedWire (of whom I am a big fan) do this quite frequently. Their target market is entrepreneurs, and so they often tweet entrepreneur-related content (how to start a business, budget planning, and so on).

Rule of thumb? Share. It's good for your karma, it shows people you care and you never know who you're helping!

Mind your P's and Q's (aka learning how to say "Thanks!")

Thank your new followers. I don't really need to explain why this is important, do I? It's just plain ol' good common sense, and people love to be recognized! Do it as often as possible.

Similarly, thank people for helping you. Again, it's common sense. If someone does something to help you in real life, you should always say thank you. The same law applies in the online world.

Rule of thumb? A simple "Thank you!" goes a long way.

These are but a few of the ways you can start building a community on Twitter. Next Monday, I will have more tips for you in the ongoing "Community Building 101" series.

Agree? Disagree? Hit me up on Twitter, and let's talk.

Red Pill Blue Pill | Big Bang Technology

Wed 20 May
2009

Red Pill Blue Pill

Posted at 5:44 PM by Max Cameron Tech Start-Up 101

Will we eat the red one and go for a ride, or the blue one and forget we had the chance?

Catch-404

There is an element which binds many independent web development and software companies together. For those of us who never took venture capital or angel investment, that binding element is the reality of working for clients in favour of developing internal ideas.

Two fears consume us: The fear of a lifetime of client work, and the fear of meeting basic human needs (food, shelter, clothing). But two forces move us forward: the passion to create, and the hunger to survive. The goal of the independent software shop is to design excellent solutions to specific problems of interest. Unfortunately, when you focus on client work, the domain is pre-determined, and clients hold the purse-strings.

Red Pill Blue Pill

Yesterday we gave notice to our masthead client that it's time for us to move on. This client represented about 80-90 percent of our income. It wasn't personal, it was about the software. Everyone in our industry knows what that means. After some careful thought and a few lengthy conversations, we decided we cannot afford to wait any longer.

As Barack Obama said on the day he declared his bid for the Presidency,

"I recognize there is a certain presumptuousness - a certain audacity - to this announcement. I know I haven't spent a lot of time learning the ways of Washington. But I've been there long enough to know that the ways of Washington must change."

We cannot afford to wait any longer: It's time to create the software we became developers to make.

Easy Now Coach

Let's relax with a few good questions:

Are You Crazy? Yes. Crazy like a FOX.

Are you scared? Yes, but not for the reason you might think. I'm scared of what Cameron's going to say when Justin and I move in live off of tuna fish, top-raman and tap-water.

Are you taking any more client work Mr. Desperado? Maybe, if we have to. But only if it smells right. And only if it meets but does not exceed our minimum monthly operating expenses. We're very good at keeping our operating expenses low.

Do you need our help? Yes. We will definitely need everyone's help making sure we can devote time to producing amazing software. I've already asked the community to help me out with a survey we're doing, and we will ask again. In return, we will do our part to support everyone around us. Read about it here and here.

Here's another promise I can keep: If we ask for your help, we won't waste your time.

Community Building 101: Let’s Start The Conversation | Big Bang Technology

Mon 18 May
2009

Community Building 101: Let’s Start The Conversation

Posted at 4:40 PM by Justin Kozuch Community

There are many traits to a good community builder: authentic, non-restrictive, interactive (no pun intended here), good listener.

But there is one trait that is very important to a community builder, and it's one that ALL community builders should have: the ability to LISTEN, and LISTEN WELL.

Cameron posed of me a thought-inspiring question last week: If you could spend 10,000 hours doing one thing, what would it be? I walked home that day from the office (a full 7 kms) with his question running through my head. I thought about this question for a few days and after much contemplation, it occurred to me I had the answer to his question. The answer had been there all along, all I needed to do was separate the wheat from the chaff.

For the past 10 months, I've been building a community. A group of technology savvy folks who desperately needed a community to call their own. A community of inspiring, motivated, entrepreneurial and innovative people. I am incredibly proud of the community I've built so far, and most of you know it as Refresh Events. That being said, we have much more work to do in order to accomplish the other goals that we have laid out in our roadmap.

So to answer Cameron's question: Community building. It's a lofty goal, yes, but let's break it down for a moment.

What's it all about, Alfie?

Upon giving Cameron my answer, I explained to him one of the ways I can begin to be a better community organizer is to overcome my fear of public speaking. It's true; I'm terrified of public speaking. I'll be the first to admit it. But then again, who isn't afraid of talking to a crowd? We hammered back and forth some ideas on how to work on my fear of public speaking, but then he said something I'd never thought of before. He said, "Maybe it's not your public speaking skills that you need to work on first, maybe it's your LISTENING skills."

This was my "A Ha!" moment of the week. All along I was talking to people thinking I could solve their problems by talking them through (programmers call this "rubberducking"), but in order to effectively solve a problem you need to be able to LISTEN and LISTEN WELL.

Want to talk? I'll listen.

You've heard it here first and you can take it to the bank. I pledge to spend 10,000 hours learning how to be an effective community builder. The first step is to learn how to be a better listener. So here's my promise to you:

If you want to talk, send me an email. My email address is justin@refresh-events.ca. Prefer to call me on the phone? My telephone number is 647-236-1925. Want to meet me for a coffee? I plan to work every Friday from Dark Horse Espresso Bar (215 Spadina Ave) from 12p-5p. Come by, sit down, and let's talk. It can be about anything you want. People you admire, a blog post you've read, a book you love, or anything else under the sun. The floor is yours.

Technology Start-Up 101: The Tools of the Trade | Big Bang Technology

Mon 18 May
2009

Technology Start-Up 101: The Tools of the Trade

Posted at 2:12 PM by Max Cameron Project Management, Tech Start-Up 101

A craftsperson is only as good as the tools she uses. And since we, as independent web developers, consider ourselves to be craftspeople, the same statement applies to us. In fact, as web developers, we build tools ourselves. Take a peek at what's in my toolbox.

We started our company in June of 2008, and since then we've used a number of different applications for both technical and process-related work. Some of them have been desktop apps, most of them web-based, and not all of them created equal.

I can't speak to the technical side of things, because I'm not a coder. It'd be great if Cameron could do a run-down of his digital tool box, but alas he's a busy man these days.

What I can speak to, though, are the process-related tools that help us run our business. Our tools are made by companies of varying sizes, from mega-corporations to mid-size software venders to open-source independent ninja coders. Some of the apps are free, but most are paid.

A note on how I use my comptuer

These are some basic tips that Cameron passed has passed on to me throughout the last year. I love watching nerds use computers, it's an elegant thing.

System Preferences: I suggest that everyone explore the system preferences app and learn how to control your computer.

Spotlight vs Dock: I don't use the dock at all. It also has been stripped of all inactive applications. I use command-spacebar to launch spotlight and spell out the name of the application I want to use. After you get used to thinking what you want to do instead of seeing what you want to do, you open apps at the speed of thought - it's faster.

My application tool-belt is large and in charge

Hit-List: For personal task-management software, this is my personal favourite. We're sort of a mixed-bag when it comes to this decision. Cameron uses Omnifocus, Justin uses Things; they're all great apps and it doesn't matter what you choose. What matters is that you use them every day.

Fluid is a "site specific browser," but really it's an app that lets you run a web-based app just like a native desktop application. So the whole process is I think of the app I need to use, I launch it from the spotlight, and even if it's a web-based app I can make the tool-choosing experience fast and consistent.

Basecamp (which we chose in favour of Backpack) is great if you have a group of civilians who are geographically dispersed and need to share documents and knowledge. It's also a nifty tool to track web content moving through the production pipeline.

Campfire (made by the same folks that make Basecamp) replaced Adium because sand-boxed IM conversations among a web development team is equal to throwing piles of money out of an open window. Campfire let's you share and search one secure chatroom, and it helps you understand more of what your colleagues do for a living.

Pivotal Tracker replaced Unfuddle because it's devastatingly effective. Pivotal is elegant, with the minimum required amount of features. It is truly a wonderful piece of software and I'd love to see that model applied to other disciplines. I showed it to my Bay street lawyer buddy and he was like, "whoa, we could totally use this too."

If Cameron were writing this, I'd have him explain why we use Github instead of Unfuddle to host our code. From what I gather, Github is all the rage these days.

Skype lets me have infinite amounts of long distance in the US and Canada for about 3 bucks a month. Last month Fido hit me with a long distance bill and I realized something had to give. It works great.

1Password is a browser plug in that remembers your login credentials for all of your sites, and allows you to create super-duper complex passwords that you could never hope to remember. And while it doesn't fully address the fundamental problems with the username/password model of online identification, it can prevent Phishing and other forms of identity theft.

Go To Meeting is a screen-sharing tool for geographically dispersed teams.

iCal and gmail calendars, when synced to your iPhone, provide a constant state of organizational bliss.

Text Edit is my text editor of choice because it's so lightweight.

Expression Engine is our turn-key CMS of choice for basic websites. Anything less would be uncivilized.

Skitch is a free screen-capturing application that lets you mark-up and share screencaps quickly and easily. An indispensable tool for reporting bugs and other issues.

Address Book replaced Highrise because we figured out how to archive email properly using gmail and Mail for Mac.

Firefox is my personal browser of choice.

iTunes, XM Radio, and Airfoil define the mood of our office on a daily basis.

Garage Band is the application I've been using lately to make music. You don't need crazy software to make great tunes.

Tweetie is how I prefer to use Twitter, which is the app I use to stay in touch with my network, although I still check my facebook once in a while.

And I can't forget to mention that everyday we watch Countdown with Keith Olbermann while we eat our home-made office lunches.

Wow, that's a lot of apps. I probably use about 12-15 on a daily basis. I'd love to hear about the tools that other web-developers use. If you decide to share, ping me and let me know.

Hug a Nerd, Fire Your Social Media Analyst | Big Bang Technology

Mon 04 May
2009

Hug a Nerd, Fire Your Social Media Analyst

Posted at 3:48 PM by Max Cameron Community

An open to letter to anyone who's interested in the internet, but isn't sure how to start the ball rollin'

Dear anybody,

The internet is huge these days. It's ginormous. It gets sorta tricky when I think about how much it allows us to do. Before, the internet was interesting, but not a necessary part of a person's day-to-day life. Life before google, wikipedia, expedia, craigslist, and facebook was different. Writing an email was enough to make us say "wow." But now, the internet is part of everyone's vocabulary and everyone's daily interactions. The bank, the newspaper, the bookstore, the grocer - all have ways to interact with me over this computer I bought and hooked up to the web.

Here's the dilemma: The internet-age has supposedly arrived, and yet we're still in its infancy. Everyone - people, companies and organizations are struggling to fit in when it comes doing things online.

How do I participate? How am I supposed to start?

Let's say you're a little restaurant on queen west. Or you might be an NGO or a community center, you might be a busker with an iPhone or an intern at an art gallery. You might just be yourself. You could be in a cubicle, behind a desk, under a roof, or in a park. You could be anyone, as long as you're willing to take a risk. All you need is an internet connection, a purpose, and a little bit of time.

Maybe you heard about twitter from a friend and signed up two months ago - but you don't understand why there's only 12 people following you, and why most of them are insurance companies. You've been on facebook for a year now, but you really didn't get the newest redesign. Maybe you started a blogger account awhile back that has one post entitled "This is a test."

You signed up, but you didn't really jump in. Now, on top of the new york times and paying my bills online and looking up that recipe for that chicken casserole, you realize you don't have time for all these accounts, for all these services and all these different passwords and logins. And wait a second, you're not quite sure what this whole internet thing is about in the first place.

Maybe it's just creepy.

What was supposed to be simple turned out to be really confusing. Twitter is full of @'s and the RT's and the fancy desktop gizmos are cool but how does anyone get any work done? Who cares what quizzes your ex-coworker took on facebook, and what about my privacy? Egad, the internet is a pain in the ass. Chances are you just decided to forget about all those accounts you set up. And now you're bitter and you have a sour internet taste in your mouth. Twitter is for egomaniacs, facebook is for shut-ins, blogs are for basement wackos and disillusioned hipsters.

That's tough for us technologists to hear, because we work very hard to make useful, fun software. But honestly, it happens all the time, and we're all in this together. It's ok though Mr. Busker, I don't blame you for being suspicious. No prob Mr. Chef - I'd rather you spent more time cooking too. In fact, Mrs. NGO manager, I empathize with you, and I want to let you know that the internet doesn't have to be a brick in the face. Regardless of your scarred relationship with the internet, as much as you hate twitter and the rest, you still know that social media is happening with or without you.

So how do you get into the net without hating it and its applications?

If you're a bigger company, maybe you hired a social media analyst who filled your boardroom with words like "synergy," "collaboration," and "market conversations." Maybe you wanted to punch them in the kidneys. We don't suggest hiring analysts unless you have a real need for real research. In other words, if you're a fortune 500 company, skip this blog post (it probably looks weird in your browser anyway)...

But if you're a small company like a hotel or a restaurant, or if you're a musician, baker, restauranteur or clothing maker, or even if you're just yourself - then I have an idea that you can use. Toronto is home to an awesome community of web programmers, designers, interactions designers, database analysts, and other people with funny-sounding professional titles that make up the world of the web. We're your neighbors, your fellow dog-walkers, your sister's brother-in-law, we're all over the place these days, all you have to do is keep an eye out.

But we, the technology community, use the internet in a disproportionate amount compared to the average person. Of course, I have no concrete data to back up my claim, but I'm almost postive that it's true. And so therefore, technologists control a disproportionate amount of online promotional capital. We do most of the talking online, we check our twitter feeds before most people are out of bed, and if we find something interesting, the first place we turn to share it is across our online networks.

We care about what we say online. We manage our relationships using twitter and we talk with people we've never met in person on a daily basis. We hear about news before it breaks on television, and we always find the funniest websites that I know you love. We, the tech community, have gone so far off the deep end applying the web to our lives that most of us must come across as… weird.

The best part is we're nice people. In general terms, we love talking to people who don't belong to Internet Anonymous, because it helps put our work into perspective. And we love the challenge of explaining something as complex and confounding as twitter to someone who's never seen it before. Our day job, after all, is taking very complicated sets of information and making them simple and understandable for everyone. But most of all, we believe in the web so much that it would be our pleasure to help you get acquainted.

Hug a Nerd

Here's my advice: Make friends with the local nerds that hang out in your restaurant, in your bakery or in the park by your busking spot. Say hello, engage them, and ask them to show you a bit about what they do for a living. If you're a company, find a way to support your local development shops by outsourcing locally, sponsoring community events, and heading out to a pub night. You'll be amazed at how much the community can give back. And remember, if you can get us talking about your ideas, you can be sure they'll reach around the world, fast. The big point here is that you don't need an analyst, you need a friend to nerd-out with.

Remember you can share your thoughts with me anytime you feel at ease.

Technology Start-Up 101: Micro-Experiments and Evolution | Big Bang Technology

Sun 26 Apr
2009

Technology Start-Up 101: Micro-Experiments and Evolution

Posted at 4:58 PM by Max Cameron Tech Start-Up 101

As an experiment, we decided to start doing lots of really small experiments, so Big Bang could slowly grow into the kick-ass company we see ourselves being in the future. Many failures, and a few successes later, we're still committed to our radical pursuit of improvement.

I started writing the Technology Start-Up 101 blog posts as one of our many micro-experiments. It all began after I heard the Mann Gruber talk on obsession, which I've linked to in a few separate posts. That talk helped me realize what I should be writing and thinking about. I'm posting these articles because they talk about the real problems we face, and it turns out I'm not the only one struggling to find good answers. When you can go out for beers with a guy like Matt Milan and have him say, "Hey guys, we struggled with the same problem that you did,' then you know you're having the right problems.

Digging deeper into my obsession also lead me towards publishing stuff like the anti-pitch. Again, when a guy like Mike Gunderloy links to your article, you know you're talking about the right problems. But I'm not an expert, I'm just making decisions based on predictions and results. Each small experiment we start is like introducing a new gene into the Big Bang DNA. Each effort will survive or cease to exist based on its merits, and we're ok with that.

Because we embrace radicalism, we're free to post facts and thoughts that many consider taboo. We're built for being radical. Our grand experiment (Big Bang) sits atop many micro-experiments, each containing the potential for mutation, growth, and change. Decision-making is based on the outcomes as measured against our conditions of success. We also structure our grand experiment so we have very little to lose. Our commitment to minimalism and frugality engrains a particular attitude inside of us. I'd best describe it as the reckless pursuit of improvement.

Want a few examples?

Tech Start-up 101:

  • Problem: We don't know if we're "doing things" in the best possible way.
  • Conjecture: This is because many people in our community are either unable or unwilling to discuss their core problems.
  • Prediction: If we publish and discuss our most vulnerable core problems, we will receive feedback and learn ways to do things better.
  • Test: Our condition of success for this experiment was receiving a few pieces of feedback from respected peers.
  • Results: Overwhelming feedback from respected peers, and new relationships with developers that I never met before.
  • Therefore: Continue our pursuit of disclosure.

Read the entire series here.

Test-Driven Development:

  • Problem: Fixing bugs is the biggest impediment to the evolution of good software.
  • Conjecture: This is because many people are reluctant to learn new ways of doing things because learning is hard.
  • Prediction: If Cameron takes the time to learn test-driven development, he will have to fix less bugs.
  • Test: Use test-driven development exclusively on a pilot project and compare overall code quality and development time to past experience.
  • Results: Happier clients, and frosty, minty, fresh-smelling code.
  • Therefore: Instill a code culture of test-driven development.

See Cameron's screencast, Writing Tests First in FireUnit.

Some other successful micro-experiments include:

  1. Rubber Ducky programming
  2. Having a good Accountant
  3. Drafting a shareholder's agreement
  4. Making home-made lunches
  5. Website Minimalism

Some unsuccessful micro-experiments:

  1. Needs-based pay scale
  2. Publicizing our portfolio
  3. 4 hour work week
  4. Morning Meetings with Max
  5. Astroscope(LOL)

You don't become a successful technology start-up overnight. You have to learn, experiment, fail, reassess, demolish, rebuild, embarrass yourself, laugh at yourself, try new things, work long hours, learn, mind-stretch, motivate, and most importantly partake in the radical and reckless pursuit of improvement.

And remember, you can get at me anytime you want to.

A Lesson in Email Marketing | Big Bang Technology

Fri 24 Apr
2009

A Lesson in Email Marketing

Posted at 12:39 PM by Max Cameron Ranting

I received an unsolicited email newsletter from a theatre production company in Toronto. I was really disappointed by this, so I wrote them an email expressing my opinion. Here it is.

To whom it may concern,

I never opted-in to receive this unsolicited newsletter. I don't give this email address out, and I am disappointed that you've decided to approach people in this manner. Your newsletter also doesn't include an option to unsubscribe. This means that you are in violation of the CANSPAM Act. This could result in a significant fine or even jail time. Please read more about the CANSPAM Act so you can conform to International legal standards. Here is the link

I suggest that you review your practice of how you add email addresses to your database, and my hope is that you smarten up and treat people with respect.

Just so you know, I am planning on publishing this email on my blog as an example of exactly how to not run an organization. My hope is to educate our audience so they don't repeat your mistake.

I am awaiting your apology, as well as confirmation that my email address and any identifiable information are completely and permanently removed from your database, and/or the databases of whoever you contract to solicit people.

Sincerely,

Max Cameron

What do you think of the email I wrote to this misguided company? Share your thoughts with me whenever you get a chance.

Social Media Guru On Site | Big Bang Technology

Thu 23 Apr
2009

Social Media Guru On Site

Posted at 12:56 PM by Max Cameron Community

Some of our friends know that I worked at a French restaurant for 9 years. I appreciate service. Yesterday we met with Jenn from The Drake Hotel to give her our take on twitter and our thoughts on how they could use it. Here's the follow-up email I sent Jenn today, which is based on the notes I made in preparation.

Jenn,

It was really nice meeting you yesterday. Thanks for having us over and being so generous, we appreciate it a lot. I noticed you didn't get a chance to jot down much of what we were talking about, so here's a recap. The main point is to separate Listen from Talk - Service from Content - In from Out.

talk/content/out:

Find your obsession, pursue your obsession, only talk about your obsession, become the expert on your obsession. Be selfless, be generous and be supportive to the communities that you belong to. Focus this support on those who excel at what you value. Your obsession will lead you out of the walls of your brand. But people will always remember who pointed them in the right direction. A wall therefore becomes a door (if you get what I mean).

You can find great ways to promote yourself by referencing things outside of your brand. If you have an artist showing work, publish a link to someone who is obsessed with that artist's medium or subject matter. It could look something like "I'm glad @artist is showing tonight at 8pm. @obsessedexpert's piece on "X" is a critical read."

You don't have to be the center of attention all the time. Why would you want to be?

listen/service/in

Empower your Twitter account. Don't assign this tool to interns or bureaucrats; only people who can make things happen. Your twitter account just became a technological concierge. Minimize your response time, respond to every question. DM if possible, only publish public replies if the question is asked consistently (sorta like an FAQ).

Let's admit that shit happens. A failed customer should be able to say: "I had a legitimate problem, and I contacted them (via twitter, or however), and my problem was resolved immediately, without red tape or hassles." Use experiences like that as evidence for your stakeholders.

Give things away. All the time. It's a busy saturday night. The message goes out:

"first person in line right now that tweets back to me gets line bypas."

"first person to respond gets a free drink."

"first person that tweets back gets a free pedicure from our resident drag queen - right here right now."

And finally, try not to solicit people on behalf of your employer unless you are contacted first. That type of stuff doesn't work anymore.

BUT - never be afraid to make a mistake :)

I think that was about it. If there's anything we can do for you, don't hesitate to ask. Helping good people is what we're all about.

What did you think of the advice that I gave Jenn? You can share your thoughts with me whenever you get a chance.

Welcome to the Anti-Pitch | Big Bang Technology

Wed 22 Apr
2009

Welcome to the Anti-Pitch

Posted at 8:19 AM by Max Cameron Tech Start-Up 101

We're sick and tired of hack developers ripping off naive clients. And while I'm completely disgusted by some of the horror-stories I've heard lately, clients keep asking the wrong questions. As real developers, it's our responsibility to make the tough decision to speak the truth. This is an example of what we call the anti-pitch, and while it might cost us a few contracts, who cares: we do things the right way.

We believe the traditional way a technology company pitches a web project to a client is fundamentally flawed. Clients want two things from a developer; value and quality - but they don't know how to get it. Clients usually measure these two factors by looking at price and portfolio. Herein lies the problem: price-point and portfolios are a terrible way to measure value and quality.

We've been working on a concept that we call the anti-pitch. This is our effort to break down the typical client benchmarks for value and quality, in hope of changing the culture and practice of pitching web projects. We were recently contacted by a potential client who had just ended a nightmare relationship with a "developer" who won them over with a low price and a portfolio flush with pretty websites. I should add that this isn't a unique occurrence - we get calls like this quite frequently.

After our initial conversation, we received a request for, you guessed it, a portfolio.

I want to share my response with the community. I hope you enjoy this small part of what we like to call the anti-pitch.

Hi Stephanie, (Name is not real)

Thanks for asking that question, it's one that we get a lot. As much as I want to send you back a few URL's, we feel that presenting websites as a portfolio dangerously misleads prospective clients. This is, after all, part of what got you into the situation you are in now. The work we specialize in doing is "hidden," and not visible (or understandable) to people without web development experience. We could show you many sites that we have developed, but you would be making a decision based on the visual designs, which are usually created by a third-party.

In order to properly evaluate our skills and capabilities, we urge you to explore two options:

  1. Ask us for references who can attest to our level of professionalism, attention to detail, customer service, client satisfaction, and website durability.
  2. If you have access to a coder, we will be happy to point you towards our public code repository, which contains all of the code we have contributed to the technology community for public use.

We hope you understand why this measure is intended to protect you, and the stakeholders associated with your project.

All the best,

Max

Thoughts? Let me know what you think anytime.

Technology Start-Up 101: Honesty is the Only Policy | Big Bang Technology

Fri 17 Apr
2009

Technology Start-Up 101: Honesty is the Only Policy

Posted at 3:29 PM by Max Cameron Tech Start-Up 101

Honesty and communication go hand in hand when you're trying to establish a technology start-up. They're hard habits to get into, but if you can get the hang of it you're going to impress the pants off of folks. If you don't, then you're buying a one-way ticket to FML

Honesty in our context exists on two levels; being honest to yourself (selves), and being honest to your customers/clients (but that's a different blog post). Being honest isn't easy. It's easier to lie, or to keep your thoughts to yourself. Sometimes honesty is painful, because being on the receiving-end of an honest opinion can mean your idea wasn't all that it was cracked up to be, or it can reveal that you don't know what the hell you're talking about.

One of the things that separates Cameron and me from the other wackos in our industry is our compulsive habit of talking a lot about everything. We're blunt, unapologetic, and shameless when it comes to putting our ideas on the table. I think most people repress their thoughts and questions a lot. We evaluate ourselves and each other regularly, we pay attention to the way we talk, the words we choose, the posts we publish, and the code we commit.

It's hard to take criticism. When I was growing up, I used to purposefully hand in my assignments at the last possible minute so I could avoid letting my mom edit my essays. I would break down as soon as she told me that a certain sentence (or paragraph) was ugly or useless. I just couldn't handle not being right. Now it's a lot easier for me to take criticism, especially from a guy like Cameron. He's harsh, but I never take it personally. And I thank him for it, because even though it kinda sucks to break some balls (especially more than once for the same thing), if you want to be a ninja then you better get good at criticizing and being criticized.

Don't Lie to Yourself

When we drafted our first shareholder's agreement I realized that we were playing for keeps. I highly recommend that anyone starting a technology company invest the necessary resources to take this process seriously and understand it all word for word. When you draft a shareholder's agreement, one of the questions you have to answer is what happens if your company falls apart (gasp).

This is a really sensitive question, and nobody likes to talk about it. But, this is the level of honesty that I am talking about. Don't be sensitive, be realistic, and talk about every contingency.

Cameron and I sat down and had that talk. And you know what, it turned out that if you can decide on how you're going to measure failure, then you can also measure success. Once you can measure success, then you're already halfway to reaching your goal. All that aside, the best part about putting that uncomfortable question out in the open is not having to worry about it. Knowing that we have a plan in place that protects Cameron and me equally under any circumstance allows me to move forward with 100% confidence. But the best part about having that on the table is that it motivates you to do what it takes to be successful and avoid having to shut down the operation.

The way we see it, we can't afford to be anything less than completely honest with each other. We don't have time for miscommunication, and we don't have time for unrealistic expectations. If you take a look at the reasons why most websites are delivered late, why most projects tend to fall apart, and why many entrepreneurs end their partnerships in bitterness, it all comes down to one thing: somewhere along the line, people stopped talking.

Speaking of which, let us know what you think. Reach Cameron or me anytime, any place.

Especially now that I have a new iPhone.

Technology Start-Up 101: How to Pay Yourself | Big Bang Technology

Tue 14 Apr
2009

Technology Start-Up 101: How to Pay Yourself

Posted at 7:55 PM by Max Cameron Tech Start-Up 101

Salaries and Dividends, Pay scales and Evaluations; we struggled with finding a way to pay ourselves fairly as a two-partner technology start-up.

When we first started Big Bang, one of the things we struggled with was how to compensate ourselves for the work that we were doing. Our situation was further complicated by our differing skill sets. As our friends and peers know, Cam is a developer and I'm, well, you know, I do what I do.

In the true spirit of Big Bang, we just started trying different ideas until we found one that fit. First we tried looking at the work we actually did (web dev vs project management etc), and tried to pay ourselves based on what we could hire ourselves out for. A Dev gets hired out at about $100/hr, and a PM about half that. This was a difficult solution and it made both of us feel shitty; nobody wants to be in a 50-50 partnership where one guy's eating at Swan everyday and other guy's living off microwaved beef-patties from Hasty Market.

The next thing we tried a needs-based system, where we looked at our respective rent cost, then added a fixed and equal amount of "spending money." Needless to say, that didn't work out for us. First of all, we have significant philosophical differences regarding personal spending habits. Secondly, it didn't account for the fact that we had way more development work then management work. I hate to think that Cam is busting his balls to deploy our client's new website while I'm drinking tall-boys and writing rap songs (although I fervently believe my rapping abilities differentiate Big Bang from the competition).

The last idea we tried, the one that we've stuck with for a while now, is semi-socialist and slightly masochistic. I prefer calling ourselves cantankerous communist technologists. We decided that regardless of what kind of work each one of us does, we will be compensated equally. And in return, regardless of how much development vs PM hours we have per project, we will work equal hours. Furthermore, our salaries will be as small as possible in order to build up our vast war chest which will enable us to initiate numerous large-scale internet projects.

You could think about it as, "From each according to her ability, to each according to his needs." But that doesn't get the full idea across. Here's a better analogy; In most professional orchestras, the triangle player makes as much money as the first violinist. You might pay more for a special visiting musician, but for the most part pay is even across the board. Because even if the triangle player plays a fraction of the amount of notes that the violinist, the triangle player must be as good as the first violinist, and work just as hard. In fact, the triangle player can afford to make fewer errors than the violinist, because she will be judged on playing less than ten notes, instead of hundreds.

We decided that I should be matching Cameron's effort: hour for hour. When Cameron is working overtime on extra client work, I'm at my desk writing out functional specs, writing blog posts, scanning receipts, making a rap song, or a music video, or hitting the streets - putting up flyers across the downtown core. It's more about being productive than just doing work. As long as I create, output, produce or eject something from inside my head and place it into reality, someone will take notice, and that will help us in the long run.

Here are the core lessons from today's ejection:

  1. We work equal hours for equal pay.
  2. We accomplish heroic tasks for minimal compensation.
  3. Profits will be used to initiate projects.

Are we silly for thinking this way? We'd like to know what you think.

But we're not into blog comments, so start a real conversation with Cameron and Max whenever you'd like.

How to Use Astroscope for the iPhone | Big Bang Technology

Mon 13 Apr
2009

How to Use Astroscope for the iPhone

Posted at 10:19 AM by Max Cameron

Because everyone likes a video.

That’s One Small Step for Justin, One Giant Leap for Big Bang | Big Bang Technology

Mon 13 Apr
2009

That’s One Small Step for Justin, One Giant Leap for Big Bang

Posted at 9:13 AM by Max Cameron Community

Sometimes you just know you're on to something.

Big Bang has been, and probably will always be, a small company. We're not in this to jump in bed with a VC, hire fifty strangers, and lease a downtown office. But at the same time we realize that when an opportunity knocks, you shouldn't be afraid to answer the door. A couple of months ago Cameron and I started spending time with a guy named Justin Kozuch. At the time, Justin was just starting to get Refresh Events off the ground. Refresh has since grown into a vibrant community that exposes Toronto's technologists to the outside world and to each other. We appreciate the work Justin is doing a great deal, and we don't expect that to stop in the near future.

In fact, we find his work to be so important, and his results so impressive, we decided it was time to extend our offer for him to join the Big Bang and go for a ride he won't soon forget. We're not ready to spill the beans about what Justin will be focused on at Big Bang, but I will say this; Justin will have the opportunity to demonstrate his strongest skills to the best of his ability every day. Rest assured, he'll keep you up to date on our blog and on his twitter.

Welcome to Big Bang Justin, we're lucky to have you on board.

Starting a Technology Company? Let’s Talk | Big Bang Technology

Sat 04 Apr
2009

Starting a Technology Company? Let’s Talk

Posted at 4:08 PM by Max Cameron Tech Start-Up 101

Inspired by recent conversations with remarkably smart people, we've decided to step up our efforts to meet and exchange ideas with people and companies that share our values. Here is the first part of that effort.

Welcome to the Magical World of Computers

Starting a technology company is harder than it looks. Maybe that's an understatement. Starting a technology company is a crazy endeavor that requires everything that you've got to give and a bag of chips. Starting a tech company is like giving birth to a child; you get drunk one night and before you know it you're a parent all of a sudden. Turns out we didn't really know what we were getting into. In fact, we didn't even have a cluetrain.

We're almost a year into it now, and one of the big lessons so far has been finding out how much we have yet to learn. And we learn every time we take on a new project. We've started to accumulate some of the ideas that have helped us grow over the past year. For every mistake we make, or goal we accomplish, we collect another piece of a bigger philosophy that is only starting to unfold.

Starting Small

I'm proud to say that we've started to develop an authentic approach to technology, and a better understanding of the challenges we face as a company. Now the question I ask is who else is facing the same challenges? And how can we learn from each other? Is our approach awesome? Are there other smart people out there doing things the way we are? Or perhaps doing them better?

Finding other companies like us has been really hard. We've been doing our best to get out into the community and start meeting and talking with other people, and it's already paying off. We're currently developing relationships with a few other small web companies, mostly in Toronto, who share our priorities, challenges, and hopes, and having them around is really exciting. Every time we get to talking and sharing stories about our experiences, we feel emboldened and awake and hungrier to do better work. Sometimes we talk about what worked well, other times we talk about our failures. Sometime we talk about our fears, our hopes, and our pet-peeves.

We still need to find more people to talk to. We can't be insulated. We realize how much we have to learn. I've tried many times to write a blog post encompassing our identity and purpose. Those are the hardest questions in the world to answer. Most of the time those posts end up in the recycling bin.

Get at Me

What I'm hoping to do is break that huge task into multiple, smaller tasks. My hope is by sharing the small lessons that we've started to accumulate, and writing about how we do business, these posts will reach other companies like us via the magic of the internets. If the people who find us like what they're reading, and agree, then I hope they'll take a moment to get in touch. It could be on twitter, skype, a meet-up, conference call, email, IM, other blog posts, fax, snail mail, whatever. The point is that we keep trading ideas and experiences back and forth we will all benefit as a result.

It won't be an easy task, and it's not going to happen overnight. But we'll get there.

Here's the first nugget: Website Minimalism in the Age of Too-Muchie

Writing Tests First in FireUnit | Big Bang Technology

Fri 27 Mar
2009

Writing Tests First in FireUnit

Posted at 4:13 PM by Cameron Westland Tutorials

A couple of weeks ago I made the decision to only write code that turns a unit test from failing to passing. This is also known as BDD (Behaviour Driven Development). This is a big step towards becoming the ninja programmer I want to be. I'll leave the philosophical discussion out of this post, and rather use the time we have together to share what I found to be a pretty good BDD solution for writing JavaScript.

Most of what I have been practicing has been focused on Ruby on Rails development and specifically RSpec and Cucumber. The way The RSpec Book teaches it, you're supposed to write out a set of high level features and work through them using Cucumber to test out application level functionality, and then – as you come across a feature that hasn't been implemented, use RSpec to cut through your stack from the outside in, Views, to Controllers, to Models, implementing units of code. This works great for the most part and you can even use something like Selenium to drive features requiring JavaScript at the high level. There is one problem though: RSpec doesn't unit-test JavaScript.

FireUnit: JavaScript Unit Testing Extension

I have a lot of respect for John Resig. I admire pretty much everything he has contributed to the JavaScript community. Honestly, I didn't really try a lot of unit testing solutions, I just knew that FireUnit would be a good fit. Download FireUnit and install it in Firefox so you can follow along.

The Plan

  1. Find some justification for building this feature – write the story.
  2. Set up our testing template and review the existing source-code.
  3. Write small tests that fail in a logical way.
  4. Make the tests pass.
  5. Rinse, repeat, until feature is completed.

Legitimize the Feature

Advanced Ticketing Solutions is a Web 2.0 application with gradients, drop-shadows, reflections, AJAX, and more. As a developer on the team, I have been tasked with the job of creating a dynamic filter so that managers can sort through their tickets' priorities without refreshing the page constantly. The server currently polls for the latest tickets every 30 seconds using AJAX and delivers the results via a JSON feed.

Make sure you pop the why stack to make sure that this feature is actually worth implementing. What we come up with is:

This is our user-story

As a Manager
I want to be able to filter priorities in realtime
So that I can easily see how many Meltown! level tickets there are without the visual clutter of not-so-urgent tickets

We are going to create a select menu that will sort through a table of these items based on their priorities. The priorities are defined as "Urgent", "More Urgent", and "Meltdown!"

Screencast

Make sure to go full screen for HD quality

Download the Quicktime Version

Big Bang Technology Presents Freestyle Fridays | Big Bang Technology

Big Bang Technology

Fri 27 Mar
2009

Big Bang Technology Presents Freestyle Fridays

Posted at 2:44 PM by Max Cameron Music

I bet you didn't know I could do this!

Our social network is your social network. | Big Bang Technology

Big Bang Technology

Wed 25 Mar
2009

Our social network is your social network.

Posted at 4:12 PM by Max Cameron Community

After hearing from Saul Colt at Refresh Events, we decided we couldn't let another minute pass without doing something nice for someone who might need some help.

With My Peoples

On Monday night we had the opportunity to head out to the Center for Social Innovation to attend the latest round of Refresh Events. Justin and Elaine are starting to gain some serious momentum, which was reflected in the attendance and the caliber of participants.

I love Justin, but I’m not going to sugar coat this idea: I could stand to hear a bit less from PR types. It’s ok if you invite them, because we have a responsibility to educate them. But if I have to hear about “The rise of social media” one more time I’m going to laugh out loud.

Social Warhol

I like to dwell on the positive though, so let’s talk about Saul Colt and his idea on what social networking REALLY is. So Saul gets up and lays the smack down and says that pushing a social media strategy on people won’t get you very far. Instead, he says, you have to drop the bullshit and be a nice guy.

Saul says that he spends 80% of his time introducing people to each other. You want to do that? Talk to her. You need this? Talk to him. Let's get you connected. Over and over and over. I like that about Saul, because I like doing the same thing. Introducing two people who need to meet gives me a special feeling.

If you decide to help people, just for the sake of helping them, then they will become your advocates. Basically, you can’t buy love.

Saul correctly pointed out that our most valuable resource will always be our social network. We think he’s absolutely right. He also pointed out that a lot of people are struggling to make ends meet.

It’s funny in a way, because that’s why we made Astroscope in the first place. You can bring a lot of happiness into someone’s life, just by introducing them to stranger. But let’s get back on track, because I do have a message for everyone that we know, and everyone we’ve yet to meet.

I liked what I heard so much that I’m going throw down as well. We’ve been really lucky lately, and when you got it, smoke it (that’s what I always say). So here’s what we have to offer:

If you’re in need, let us know.

Looking for a new job? Let us know. Are you lonely and just broke up with your boyfriend? Let us know. We might not have a perfect solution for you, but if there’s someone we can introduce you to that can help, we won’t hesitate to set something up.

You can reach Cameron or me anytime, any place.

A Sewer-Clown Stole my iPhone | Big Bang Technology

Big Bang Technology

Mon 16 Mar
2009

A Sewer-Clown Stole my iPhone

Posted at 4:40 PM by Max Cameron Ranting

Late Friday night, I was hailing a cab on the edge of a sidewalk, when my iPhone slid out of my hands.

The last thing my iPhone ever saw.
Photo By: mathewingram

What can I say, shit happens.

I’ve dropped my iPhone a number of times over the years, and it’s a surprisingly durable machine. I’ve never managed to break or lose one, which would probably surprise you if you know me personally. I might misplace it, or forget who I lent it to a few minutes ago, but it always ends up back in my pocket.

If I accidentally drop the phone, I always try and place my foot under it to mitigate the impact, and give it a soft landing. This time would be different. This time, because I was standing on the edge of the sidewalk, I couldn’t soften the blow. And it fell, and it fell some more, time standing still while it silently slid through the nighttime air, and I could see very clearly as the bright icons winked at me for the last time.

The last I ever saw of my iPhone.
Photo By: fiomaha

There was neither a clunk, nor a thud. No crash, crack, split or smack.

Just silence.

It took a moment to hit me, but my iPhone had fallen seamlessly between the grates of a sewer, and fell deep enough to muffle any sound it made when it hit the snow or ice below.

I hit a zen moment. I felt numb and free of all consciousness.

Hello Max. I’ve been waiting for you.
Photo By: h.koppdelaney

And then, with all my might, I got down on a knee and I tried to open the sewer grate.

Looking back on it, I realize that it’s probably a good thing that I didn’t get into that sewer on Friday night. I might have injured myself quite seriously, not fully understanding the consequences of that decision at the time. But the point of this story lies outside the boundaries of the existential/metaphysical crisis that is immediately precipitated by the loss of an iPhone.

I’m still discovering and experimenting with the psychological symptoms of iPhone withdrawal. I might write about it someday, after an appropriate amount of reflection. Maybe there’s a lucky sewer clown out there. Maybe he’s got a sweet phone.

From my dream last night.
Photo By: timboucher.com
Using Prototype to Inject Custom Class Instances into the DOM | Big Bang Technology

Big Bang Technology

Sun 15 Mar
2009

Using Prototype to Inject Custom Class Instances into the DOM

Posted at 1:31 PM by Cameron Westland Tutorials

I've been using the Prototype Javascript Framework more than usual recently to develop some fancy reports for a client. I'm going to share a simple technique that involves using toElement on a class as an easy way to insert it into the DOM.

Requirements

The Story

A few weeks ago, Max asked me to put his twitter feed on our website. I said no – Twitter does a good job at displaying Twitter content. This got me thinking, however, that other people would want to do the same thing. Also, since Twitter is the new Hello World, this serves as a good example. I've built Max his javascript driven twitter feed. Take a look first, and then we'll talk about what we're doing here.

Getting the Data

After quickly scanning the Twitter API Wiki, I found out that we can use JSONP to load our data. Since we can't directly load the data from Twitter via XMLHttpRequest we have to embed a script tag with the query. Fortunately we can specify a callback function so that when the data is returned, it will fire the function, passing the data loaded from the server to it as an argument.

Once we get the data back we iterate through each of the result items and create a new instance of the Tweet class for each one. We then insert the instance directly into the DOM. As you can see on the sample page the class is magically rendered on the screen. This is because Prototype automatically calls toElement on our class.

What's in the Tweet Class?

This class is very simple. In the constructor it saves the data from the server in instance variables that it will later use in the rendering process (see documentation for details on what gets returned). Next, there is an instance method named toElement. In Prototype, whenever a class instance is passed to any of the insertion methods – Element#insert, Element#update etc. – it looks for this method on the class. Keep in mind that Prototype expects an HTML element or a String to be returned from this instance method.

Recap

  • Construct a class passing key information into the constructor
  • Maintain a reference to the class manipulating it in memory without worrying about DOM
  • Feed it to one of Prototype's element insertion methods just like you would any other HTML element.
  • ???
  • Profit!

References

Using the Typographic Principle of Baseline Rhythm to Enhance Website Readibility | Big Bang Technology

Big Bang Technology

Sat 14 Mar
2009

Using the Typographic Principle of Baseline Rhythm to Enhance Website Readibility

Posted at 11:51 AM by Cameron Westland Tutorials

Recent updates to the Big Bang Technology website take advantage of Baseline Rhythm to evenly space text elements and help readability. We hope you like it.

Home Page

Homepage Before & After (hover to see after)

Article Page

Article Before & After (hover to see after)

References & Additional Reading

Pimp your Twitter | Big Bang Technology

Big Bang Technology

Thu 12 Mar
2009

Pimp your Twitter

Posted at 9:33 PM by Max Cameron Tutorials

We're poppin a digital collar. If normal twitter is a beat-up oldsmobile with food-stains on the driver's seat and a broken door-handle, our article will take you to a pristine cadillac with suede seats and a nice furry set of dice in the mirror.

When I saw the newest iteration of the fb homepage today, I set my status to something like, “new fb homepage = twitter and the old fb got real sloppy last night and got nasty-busy and then BOOM fb dropped a baby and it looks like twitter’s the babydaddy.”

And then a few of my friends started asking me about twitter. What is it? Isn’t twitter WACK? I said, “What? No YOU wack!”

Twitter Ain’t No Bitch!
Photo By: Soul Portrait

Then I came up with a better explanation of what twitter is, which I’m sure they’ve thought of but just aren’t allowed to post:

“Twitter is a giant messy instant message orgy and everyone’s invited.”

Twitter = This

So, in honour of that, Cameron and I got together to discuss how we best could advise all our homies on how they can squeeze the most bounce per twitter-ounce.

Lesson One: Learn the streets

Twitter is like fb status updates, except you must remember they are public, and anybody can choose to follow your updates. Of course you can block people if they’re lunatics (or 5/0 ).

If you put an @ right before a username (@maxcameron) for example, and include that in a tweet, that user will see your @tweet, and so will everyone else. This is what I’d call “A shout-out.”

DM stands for direct message. If you put a D before a username in your tweet (d maxcameron), it’s just like a private email to someone.

So now that you know the streets you’re ready for some more advanced pimping.

Advanced pimping 101

Referrals from Mr. Tweet: Git at your Homies

This description is straight from the Mr. Tweet website:

Mr. Tweet is your personal networking agent who helps you expand your network easily. To do that, he helps you regularly:

  • Get relevant followers by recommending you to them
  • Discover great people relevant to your current needs
  • Improve your Twitter usage via useful statistics

So all you have to do is follow Mr. Tweet and he starts looking around at your homies and who they dig, and then he looks at which peeps dig your homies in return. Then he says, “why don’t your people and my people get together for a little jammer on the twittosphere?”

There’s other cool features too so check it out.

Desktop client: Because true players don’t sleep

Instead of constantly visiting the twitter website, you can download a “little program” (widget) on your desktop. They’re tight because they nice to look at and don’t get in the way (IE you can hide it from your boss).

We use Twitterific at our office, it has a really nice interface. If you're using windows, you've got a bigger problem than finding a good twitter client. But you can still give twhirl a spin.

Mobile client: RING BLING

Tweetie is a perfect compliment to your iced-out wrist
Photo By: Urimal

The next crucial step in pimping your twitter is hitting it up on the mobile. That’s no joke. Streetcars, taxi cabs, boring-ass parties, whatever. If you’re at a wedding and you see a drunk bridesmaid fall into a fountain of punch, you need to get that photo out there lickity split you know what I’m sayin?

Check out Tweetie for the iPhone, it’s hands-down the best out there.

Twimailer: Holla at Your Boy Notifications

Usually, when someone starts following you on twitter, you get an email showing you a link to their twitter page. Twimailer seriously ups the pimp-factor by a factor of 3 (easily). When you sign up, Twimailer intercepts the notification emails from twitter, and runs a little background check on the person following you before it sends you the notification.

The twimailer email is hella-pimped-out. It shows you how many people the person is following, how many followers they have, it shows their last ten tweets, it shows their bio and website. So easy, so crisp, so twitterpimpalishous.

Twistori: Pimp While you Sleep

For those of you out there who are daydreamers, and who love to sit around in your room looking at random shit, then you might as well get the freshest, most crispity-crunchity screen-saver out there. This high-quality screensaver pulls every tweet that contains the words: Love, hate, think, believe, feel, wish, and displays it in a masterful way. Twistori is dope.

@spam: Squash the Haters

If you see this picture, click “unfollow”

Nobody likes a player hater. It’s not uncommon to be followed by a twitter account that is following a thousand people, but only has one follower. That means that some foo is trying to mess with your game. If you notice that you’re getting followed by these wankers, just tweet their username along with @spam, and the twitter unit goes in to lay a beat-down.

I also do the same thing whenever a lame-ass car company tries to follow me. It’s not like they’re bad people or anything it’s just not cool.

Ego for iPhone: Cuz every player’s got one

Right now, Ego for the iPhone is the nicest analytics app out there. Keep tabs on how many people are subscribing to your blog, see your twitter stats, and your mint analytics, all real time, whenever, wherever. Trust me, it’s addictive.

There you have it folks, don’t forget to get at your boys @camwest and @maxcameron.

An Experiment in Simplicity:  Website Minimalism in the Age of “Too-Muchie” | Big Bang Technology

Big Bang Technology

Thu 12 Mar
2009

An Experiment in Simplicity:  Website Minimalism in the Age of “Too-Muchie”

Posted at 9:07 AM by Max Cameron Project Management, Tech Start-Up 101

What does a technology company really need in a website? Not as much as you'd think.

A funny thing happened last week: I opened up my twitter client and saw this:

Cameron is dope.

I love my business partner Cameron. Many people think he’s just a programmer. But he’s not. He’s a super-ninja, he whoops ass without breaking a sweat, his fingertips are insured, he’s not allowed to touch sharp objects; he walks silently through forests. So how could I be surprised that he snuck under the radar and gave me a wonderful present when I least expected it?

That’s just what super-ninjas do.

Cameron prepares for website redesign.
Photo By: scion_cho

So I decided to check out our new digs, and what I found was a bastion of modern simplicity. It reminded me of how I felt growing up in my family’s house. Anyone raised around modern and post-modern furniture knows what I mean when I say that. When you encounter simplicity on that level it affects you. It changes you.

So what did Cameron do exactly to our site?

  • Ninja-starred our homepage
  • Flying kicked our portfolio
  • Head-butted our Contact Form
  • Kung-Fu chopped our About Us page

And when the dust settled, all that was left was:

I see web-development shop websites this way: You have a certain amount of space. Your total amount of space is equal to X (an abstract value). Your visitors will divide their attention across all of X. If X does not equal completely awesome content, then you are wasting space and time. Heidegger wouldn’t be too happy with that now, would he (I’m waiting for my sister’s opinion on this one).

Care to comment Clara?
Photo By: JMads Boedker

We looked at our old site and said, “Our best content is on our blog.” Our portfolio wasn’t convincing (our most significant client, representing over 90% of our income has us on an NDA). Our “about us” page was filled with pretty typical copy, and we never received one legitimate contact or cold call from anyone.

But don’t get me wrong; we turn down far more work than we take on. It just comes from our social network. It comes from our client-referrals; it comes from hanging out at bars, and sometimes even at house parties. It comes from our reputation, which is small but growing slowly. But really, we get to turn down work because people who know us know how hungry we are, and they know it’s dope to spend time with a few fresh ninja dudes like ourselves.

This used to be us.
Photo By: fredlet

Now consider this: If someone in the industry comes across one of blog posts, and starts reading it every once in a while, she will develop a closer relationship with us than if we had a very pretty portfolio hanging on our front door. How much can you tell about a company by some screenshots and a case study anyway?

Can you tell if the developer is contributing to open source projects? Can you tell if the developers are constantly learning and educating themselves? Can you tell that the company you might engage is neck-deep in the internet and can’t imagine a life without it?

Most importantly: Can a portfolio tell the story of who you are and why you love to do what you do? Maybe, but ours didn’t, it didn’t even come close.

By getting rid of everything we considered to be low-value content, and presenting a much more intimate view of our personalities, motivations, and passions, we’re telling our visitors: let’s drop the pretentions, this is who we are – and this is how we think. Come back tomorrow, we’ll probably have something else that’s interesting or useful (or immature and hilarious) to read.

To paraphrase the great Doc Searls, “If you’re going to run around naked, you better not have saggy man-tits.” So last week we took our skivvies off, busted out some tanning oil, and now we’re literally running naked across the soccer field we call web development.

If web development was a football game, we would be this guy.
Photo By: Rebel Roundup

If you’re going to be bold, and get naked online, here’s one piece of advice: don’t stop blogging. Trust in your buffness, trust that you will become more buff, and trust that people will see that attitude in you and respect you for it.

No bells and whistles. Just the goodie-goods.

Ten Reasons to Meet Complete Strangers with your iPhone | Big Bang Technology

Big Bang Technology

Tue 10 Mar
2009

Ten Reasons to Meet Complete Strangers with your iPhone

Posted at 9:20 AM by Max Cameron

We're breaking down the top-ten reasons that you should download our ice-breaker app, Astroscope. And we haven't even announced our contest yet tee-hee.

10. It’s just plain fun. Maybe it’s just me, but I’m sure there are a few of you out there that just like to stir things up at a party. Typically I’ll think something like this, “Man. I’m already at this art gallery and the beer is free and the art is good but it’s sort of boring in here. It doesn’t have to be this way.”

If this is you at a party, get Astroscope.
Photo By: Michael Flick

9.It’s original: Until our application becomes a household name, you have a better chance of being eaten by a wild man-beast than of meeting someone that knows about Astroscope. When you’re meeting strangers, being original can take you a long way.

8.You can help your friends: If you’re already in a happy relationship, jaded by heartbreak, or already know too many people, Astroscope can be used and used again, for all your friends. Note, we do not recommend using Astroscope more than once per venue (twice maximum). That tends to kill the whole “original” vibe we’re going for.

People with imaginary friends need help.
Photo By: Perecca

7.It’s good for the world: Make a stranger’s day by introducing yourself to them. People want to meet each other; it’s just a difficult thing to do sometimes. Contribute to the overall well-being of our society by introducing yourself or a friend to a complete stranger.

6.You become the prize: A lot of times, when you approach a complete stranger, you come across as a chaser, or someone that has a hidden (usually devious) intention. Astroscope changes that because you become the object of a predetermined fate. As I wrote before, the recipient now has to wonder and ask why your fates have been thrown together. Maintain the mystery and avoid bad intentions.

5.Chicks dig horoscopes: Studies prove that chicks dig horoscopes. I actually have no idea if that’s true, but that’s not even the point. The point, rather, is that we discovered the Nobody-Suspects-the-Butterfly Effect. It’s sort of like a Trojan horse.

A metaphorical image of me using Astroscope
Photo By: myhsu

4.Forget the pick-up lines: They never helped anyone anyway.

3.Avoid Sausage Parties: Everyone knows what happens when you stop meeting new people. You hang out with your bros and you suddenly become ok with being at a party that has a 9:1 male to female ratio. I think I just puked in my mouth a little bit.

2.What’s the worst that can happen? Well, it depends. We do not suggest using Astroscope on someone that is blatantly with their muscly boy/girl friend. Although, I have done this and gotten away with it. That's because, I'm pretty awesome, and people don't like beating guys up that wear cardigans.

Avoid using Astroscope on anyone who belongs to the Gun Club.

1.You find out a lot about someone by how they react: Astroscope lets you avoid party-poopers because you'll know right off the bat whether the person you talk to has any semblance of a sense of humour, spontaneity, or playfulness. Astroscope in this case acts like a buffer to people that just aren't cool.

I’m sure there’s a million other reasons why you should download our application, but these are just the beginning. Look out for more top-ten lists to come, including:

  • Top ten tips for not being a complete duche-bag.
  • Ten ways to keep your buddies and your girlfriend.
  • Ten tips on how to use Astroscope.
No Free Lunch: Building an iPhone Application Harder than it Seems. | Big Bang Technology

Big Bang Technology

Fri 06 Mar
2009

No Free Lunch: Building an iPhone Application Harder than it Seems.

Posted at 5:28 PM by Max Cameron

Building and marketing your iPhone application isn't as easy as one might have you think. Here are some tips to help you get through the first month.

Since the beginning, our plan has been to grow slow and grow strong. Astroscope is just starting to catch on. We’ve reached people in Australia, Switzerland, the United States, and Canada. But I should be honest: we only have forty customers. Not four-thousand, not four-hundred, forty. A lot of people would say that forty people is nothing. Zero, zilch, nada.

A lot of people would be discouraged if they were in our place. They might think that since they didn’t hit the top-100 list on the Appstore in the first week that they failed. Some of them would probably give up, try a different idea, and move on to the next big thing.

"Joey, nobody's buying my iPhone application."

But that’s not us, and that’s not how we think. Our first forty customers are the ones that we appreciate the most. These people took the time to engage us, read what we had to say, think about our ideas and how we see society. They took a chance on the work and ideas of two guys that think they have something to contribute. So I want to give a special thanks to everyone who’s helping us reach our goal. Boo yah ka sha!

This is us now.
Photo By: Lord Henry

We love our customers, because our customers are willing to take chances. They took a chance on us, and they take a chance every time they decide to meet someone spontaneously: Our customers like a challenge.

So here’s a challenge for all of you.

Not everyone has an iPhone. I bet a bunch of your friends don’t have one. I bet a bunch of your single guy and girl friends don’t have one. Cameron and I aren’t like a normal company. Normal companies don’t want you to share what you bought with your friends. We’re different, we do. So we challenge you to help one of your single buddies start a conversation with a complete stranger. Unfortunately, we can’t afford to reward you if you pull it off. But please allow me to make a suggestion:

  1. Make a bet with your friend. Show them the application, and say, “if this works you gotta buy me a beer.”
  2. Ta-da.
Be the champion.
Photo By: rthrelkeld

It works because your buddy will gladly buy a beer if it means he can chat up a stranger. Well worth it, he’d say. Then you can feel good because you only spent a dollar on this app, your buddy’s chatting up a stranger, and now you have a full pint!

Forty. Four Zero. The big Four- O. Not a lot you say? Consider this: Let’s say one night, forty individuals choose to start forty conversations using Astroscope. When you take into account the other half of that conversation, you suddenly have eighty people who just met someone new. Not bad.

Let’s say the next weekend, the same guy goes out with his buddies and two of them use it (at different bars, remember that!). All of a sudden that’s eighty conversations, and 160 people met in one night using our application. Now that’s awesome. And if our forty customers do that every weekend for a year, that means 8,320 met using our application. Now that’s powerful.

Reading Between the (pick-up) Lines | Big Bang Technology

Big Bang Technology

Wed 04 Mar
2009

Reading Between the (pick-up) Lines

Posted at 5:18 PM by Max Cameron

Everyone knows pick-up lines don't work. You might as well just go home. Our ice-breaker iPhone application breaks that vicious cycle. Astroscope: Forget the lines

When I imagine guys using pick-up lines on attractive women, I picture the following sequences:

Him: “If beauty was a drop of water, then you'd be the ocean.”

Her: “Thanks! But fuck off.”

Him: “Hi my name is Chance, Do I have one?”

Her: “Hmmm, not sure, but my boyfriend has a 100% chance of whoopin yo ass.”

Him: “Can you give me directions to your heart? I've seemed to have lost myself in your eyes.”

Her: “Yeah sure, take a left two blocks past YOU SUCK.”

The girl you want to talk to will make this face if you use a cheesy pick-up line.
Photo By:hfabulous

Funny eh?

No, not really. If you can believe it, these things actually happen every day. Women have been forced to deal with this type of behaviour for far too long. Why do men put themselves (and others) through this embarrassing and awkward ritual? I don’t think men are inherently stupid, or want to embarrass themselves: They’ve just been tricked into thinking that pick-up lines work.

As I wrote before in a previous blog post, I trace the wide variety of the world’s woes to the fact that people are lonely and unhappy. Economic recession, war, global warming, and pandemic diseases persist because humans haven’t figured out how to meet people. If we were all happy and satisfied with our personal lives, we would learn to care enough about the world and its inhabitants that we would all seek a just and peaceful coexistence.

Before Astroscope came along, the fate of the world rested on the notion that a pick-up line was the best way to meet a stranger. Of course, there’s always been other ways to meet new people: friends introduce each other, you meet people at the office, sometimes random things happen at the perfect moment and a conversation starts up. But what are you supposed to do when nobody's around to help you out?

Did you fart? Because you just blew me away.
Photo By:animalvegetable

Why pick-up lines don’t work:

Pick-up lines are:

Disrespectful: They insinuate that the girl you want to talk to is actually stupid enough to take your line seriously.

Boring: *Yawn* Do you really think you’re the first guy to say that?

Typical: Now the girl you wanted to talk to has lumped you into a pile with every other wanker that’s tried to chat them up with a busted-ass pick-up line.

A sign of weakness: You’ve recklessly thrown your cards on the table, and given up any hope of seeming innocent or interesting. Pick-up lines scream: I desperately want to hook up with you and I’m even willing to degrade myself (and you) to get there.

Lame: Guys know how stupid pick-up lines are, but they use them anyway. If you know your hockey stick is weak and held-together by duct-tape, are you really going to take a hard slap shot? In other words; they zap your confidence at the moment you need it most.

Impersonal: By their very virtue, they can be used on anyone, and they’re interchangeable.

Dead-Ends: A pick-up line doesn’t lead to an interesting conversation, because it doesn’t engage the other person at all. It’s a one-way message.

The great part about Astroscope isn’t what it does, but rather what it doesn’t do: Make you look like a typical guy spitting out a typical line. Meeting new people isn’t as simple as pressing a magic red button. Pick-up lines are easy to see through, disrespectful, and boring: so forget the lines and take your phone to the streets.

Here’s how Astroscope avoids every pitfall known to pick-up lines:

Astroscope is NOT:

Disrespectful: Because Astrsocope isn’t a pick-up line, but rather a bizarre and exciting prediction, you don’t come across as an aggressor, you’re just as confused as any other person would be if faced with the same reality.

Boring: You most likely are going to be the first person that’s ever approached a person this way.

Typical: Because nobody else has ever approached a person like you have with Astroscope, you cannot be compared to anybody else in the world. That’s a good thing.

A sign of weakness: Your cards are still comfortably in your pocket. The fact you didn’t use a pick-up line means that you’re not necessarily concerned with getting into someone’s pants. You’re just an innocent bystander that has been confronted with an unusual prediction that concerns you as much as it concerns the person you show it to. You’re shocked and surprised, and you’d probably rather be doing your own thing and minding your business. And best of all, you don’t look needy. Now it’s the other person’s turn to wonder exactly why they were mentioned in your horoscope. Nobody’s to blame but fate itself.

Lame: Be bold, especially the first time you use Astrsocope. I remember that I was sure this girl would shake my iPhone, laugh at me, and walk away. But she didn’t. In fact, only 1 in 10 questioned the prediction at all. Once you discover this for yourself, and you learn how to keep a straight face, your confidence will render the tool even more powerful.

Dead-end: Because each horoscope was crafted with care, each horoscope predicts that you have a lot in common, and provide a basis for immediate engagement at a conversational level.

A conversation with Astroscope

Me: (walk up to a girl and do a blatant double-take. Shake my head, make an ugly face, then approach her, almost irritable.) “Excuse me, but I think I’m going crazy. My horoscope predicted that you we were going to meet today. This is weird.”

Her: (She looks confused, and thinks I’m trying to pick her up) “Um, what are you talking about?”

Me: “Yeah I know, my buddy over there (motion to attractive female wingman) wants to leave but I had to show this to you first. Take a look for yourself.” (I hand the phone over to her).

Her: (reads the phone, notices her clothes match the description, looks up) “This is crazy. This can’t be real, can it?”

Me: “Yeah I know, I’m just as scared as you are. “ (I pass the phone to her friend and ask for a second opinion. While that’s happening, I start talking to the first person some more, and start asking them questions.

That’s how 90% of Astroscope conversations happen for me, without any exaggeration or fanfare. Like I said before, there is no magic button, and Astroscope can’t take you any further than getting an opportunity to ask a smart question. But, it gets you that far, and that is remarkable. That, my friends, holds all the potential of saving the world as we know it.

Ringtone Applications Dominate iPhone Appscape: Traditional Developers Forced to Adapt | Big Bang Technology

Big Bang Technology

Mon 02 Mar
2009

Ringtone Applications Dominate iPhone Appscape: Traditional Developers Forced to Adapt

Posted at 9:36 AM by Max Cameron

There’s an identity struggle tearing the iPhone Appscape apart, pitting sophisticated software against cheap, novelty iPhone applications. Here's where we weigh in.

Some very prominent iPhone developers have argued that the proliferation of Ringtone applications is degrading the overall quality of the Appscape, and threaten the success of the platform as a whole. We can't help but disagree.

Introducing the Appscape

The Appscape is a holistic term describing the overall iPhone application ecosystem and marketplace. This term encompasses all iPhone applications, developers, customers, as well as the market mechanisms that are in place to create, promote and distribute those applications.

This opposition is generally rooted in deep concern over the way the iTunes Appstore operates, which is complicated by the dual interpretation of the Appstore as a marketing channel as well as a point-of-sale.

I contend that the controversy over the success of Ringtone applications reveals a failure of some developers to understand the emerging Appscape and the place of the Appstore within it. This, in turn, illuminates the critical dependence between Big Developers and Apple. At this juncture we now must face an uncomfortable fact: stop depending on the Appstore as a marketing channel, or face extinction in the face of a changing Appscape.

I Don't Feel Bad for You.

Let’s recap the discussion relating to Ringtone applications, and the complaints levied against them by some reputable but traditional iPhone application developers. Craig Hockenberry, an industry veteran and master app developer (Hockenberry developed Twitterific), came out swinging when he argued that, “This proliferation of 99¢ ‘ringtone apps’ is affecting our product development.”

Ringtone apps, or crapware, describes iPhone applications of limited use, who attract buyers for their low prices. The proliferation of “fart applications” is a fitting example.
Photo By: John Smith

Ringtone apps, he argues, are flooding the Appstore, and are stealing prominent positions on the top-100 lists, which Hockenberry argues is crucial for the success of an application. Therefore, his company cannot risk developing more resource-intensive apps, and have to develop apps for tier-one pricing.

How can one developer make decisions affecting the entire Appscape? Especially when the product he wants to bring to the market are so clearly associated with one side of this very important debate? Ringtone applications present us with this dilemma: Some applications can be contextually useful, without bringing a lot of functionality to the table. Our ice-breaker app is a perfect example. In a specific context, Astroscope will outperform twitterific twenty times out of ten. You can't just walk up to a girl at a bar and say, "Whoa, check out this twitter client application, isn't it just SOOOOO sexy?" No, you can't. Software is contextual. People need to understand that. And anyone that decides they have the right to demean and ridicule software like this ends up sounding like an elitist snob. Don't be bitter. Get smarter.

What happens when you try to impress a girl with Omnifocus

A number of other important developers have criticized (sometimes poignantly) the way Apple ranks iPhone applications in the store, and many argue that the proliferation of ringtone apps is leading to an overall decrease in iPhone application quality.

Here’s a list of the most common gripes:

  • Ringtone apps are dirt cheap and therefore skyrocket to the top of the charts.
  • Higher-priced apps can’t stand a chance of competing as the appstore currently operates.
  • High-quality apps are left undeveloped in favour of better placement in the appstore.
  • As the Appscape continues to grow this problem will only become bigger.
  • There are fundamental flaws in the Appstore which reinforce this trend.

Solutions... Sort of.

Photo by William Sauro/The New York Times Photo Archives.

A few other developers have proposed solutions, which address the misgivings of the iTunes Appstore, without grasping the real problem: they’re treating the Appstore as marketing channel, and expecting way too much. Their ideas are still worth taking into account:

John Casasanta & Phill Ryu propose that “Instead of basing app rank on the number of units sold, base it on gross gross revenues.”

Andy Finnell proposes, “The fix for pricing too low is really simple: raise your prices. Most $0.99 apps should become $9.99, $4.99 apps should become $14.99 and so on.”

And while I believe that the Appstore definitely has room to grow and improve, especially when it comes to browsing and finding cool new applications, I fundamentally disagree with Finnel, who proposes price-fixing (isn’t that illegal in the real world?) as well as measuring popularity based on gross revenues. Reaching a lot of devices is really important for me, and I don’t believe developers should be punished for providing smart, simple, contextual software that really is only worth a dollar.

Shipley has Major Skittles

Gangster

Wil Shipley, the very talented developer behind Omnigroup and Delicious Monster, has shifted the discussion in a great way, and one that instigated an aha-moment at our office. He writes,

Note: You can't get a refund at the Appstore yet, I think Shipley was speaking about an idealized warehouse.

Wil Shipley on the Appstore

“The App Store needs to think of itself as two different parts - it already implements these parts, but the people who run the store need to understand that these two parts are fundamentally separate: Part one is a giant warehouse, where every piece of software that is not actively harmful is kept in case someone wants to buy it (remember, users can always get a refund). This warehouse can be searched with titles and keywords or an item can be directly linked. Part two is like a traditional storefront, with limited real estate, so only the best or coolest applications are highlighted. It's a recommendation engine, that highlights popular, highly-rated, or innovative applications."

What Appstore?

I’ll take it one step further and propose that we ignore the second part of Shipley’s analysis altogether. Any additional sales resulting from free promotion in the Appstore should be seen as a reward for making Apple money by selling our applications in the first place. The only way to survive in the new Appscape is to take responsibility for your own sales. Anyone who isn’t willing to do so will fall behind the new companies that do.

I think iPhone developers and recording artists have a lot in common, especially when it comes down to separating the concepts of marketing and distribution. The recording industry had a lot of time to develop sophisticated means of producing, promoting, and distributing popular music. They came up with all sorts of pop charts, opened up stores, printed posters, packed arenas and sold concert tickets. This apparatus had a disproportionate amount of control over the music that the public could consume through mainstream channels.

The inherent problems in the pop-chart system, which has always been characterized by corruption, never really did a great job at promoting “good” music, it promoted what the record companies wanted to promote. That's why Britney Spears and 50-Cent dominate the charts. That's why I ignore pop-charts.

I can see your Britney

The Appstore is on the verge of heading down the same path, except there is one big difference: the content producers (IE the developers) are in a much more powerful position than their musical counterparts. We have the ability to benefit from the Appstore as a distribution channel, while maintaining strict independence in terms of marketing and promotion. We are not dependent on Apple like Britney Spears is depenedent on Wal-Mart. That’s a good thing.

Shipley’s comments illuminate Hockenberry’s old-style attitude and dependence on Apple as a marketing channel. The Appstore, and Apple, have provided developers with an amazing tool. Point of sale has always been a tough thing for software companies, and I see it as the biggest obstacle behind the large-scale proliferation of social software. They’ve provided a really nice solution to that problem, and they should be commended for having that vision.

Don't be a baby

Developers need to take responsibility for marketing their applications. This is the only way that the Appscape has any chance of surviving and thriving in the future. I also believe there will always be problems with the way that the Appstore measures success, because any chart system is inherently flawed. There is no one metric for measuring who deserves to be rewarded. Regardless of Apple’s actions, the Appscape is growing and will continue to grow. This entity will be heterogeneous, diverse, contextual, and marketing channels need to reflect that diversity.

Here it is, plain and simple. If you’re so preoccupied with landing your app on a top-ten list that you decide to wage war on the little guys, you should have put your energy into writing a better story, making a stronger argument, or being a better developer. The guys at the bottom of the ladder, who have learned to survive and even prosper independently of Big Business, can engage Apple selectively in order to sustain long term success.

Our commitment to ourselves is to be self-reliant and responsible for our own success. We will inevitably be rewarded with the freedom to create the software we want to make, without worrying what other developers are doing. It's a big Appscape: some of us are skyscrapers, but most of us aren't. And you know what? There's room for all of us.

Astroscope Will Change the World | Big Bang Technology

Big Bang Technology

Wed 25 Feb
2009

Astroscope Will Change the World

Posted at 6:35 PM by Max Cameron

It appears that our last blog post didn't quite grasp the full reality of our challenge, or of our opportunity. The stakes have been raised, and we are ready to respond.

No Looking Back

Ever since we naively unveiled the most powerful and compelling ice-breaker application ever written for the iPhone, and kicked-off our Drive to Start 1,000 Conversations, we’ve realized that accomplishment comes with devastating responsibility. We have unwittingly decided to directly confront the most important, historic, and complex challenge ever faced by mankind: Starting the first conversation between a man and a woman. We have, as it appears, rested the fate of the world upon our shoulders.

This is us now

At first glance, this global and immemorial challenge appears all too simple. Aren’t there more important things in the world than finding ways for men to meet women? What about war? What about poverty? What about famine, disease, global warming, and systematic political oppression? How can you compare loneliness and heartbreak to the all-too numerous horrors of our time?

To these challenges we must respond; how could one wage a war if not fueled by greed and the desire for power and control over others? Imagine the psychological state of any devious criminal, crooked politician, horrific dictator, or greedy Wall Street investor. What drives these men to hurt and control others? Furthermore, what prevents men from stepping in to put an end to atrocities they know are happening around them?

The Banality of Evil

In times like these I think of the philosopher-journalist Hannah Arendt, whose analysis of the origins and nature of genocide are as true today as they were in the late-forties. She asks how this type of disaster could actually take place. Were the people who committed the crimes exceptional in some way? The devastating scope of their actions begs the question: were they super-villains? Arendt famously concludes by declaring the banality of evil, illuminating why the worst horrors of the world are not as unimaginable as we would like to think. Regardless of the implications for the human condition, the most offensive practices are committed by the most normal of people. And the most normal of people struggle with the most universal of problems.

I argue that loneliness and heartbreak, rejection and humiliation, if repeatedly endured, can slowly erode any sense of morality, respect, and justice towards others. Because behaviour is cyclical, and communicated across generations and cultures, I argue that loneliness leads to war, oppression, greed, and the need for control. Loneliness and heartbreak can leave a heart jaded, and leave a man unwilling to step in to prevent genocide, or fail to do everything possible to contain and eradicate pandemic diseases. By building as many good relationships in our society as we can, we're laying the framework for a just and peaceful future for everyone. Good things happen when people get together.

This is what I'm saying people

Hope Emerges

I know this because the inverse is true: Love is the great muse of humanity. The power of good can always and indisputably triumph over evil. Cycles can be broken. Respect breeds respect, and love reproduces more love. True love between two people, in other words, can go viral in a way a YouTube video cannot. If we can help one man meet the right woman, we can change the tide of mankind. We can save the world, one relationship at a time.

The greatest warriors of our modern era would agree: Ghandi, Bob Marley, Mother Theresa, the Dali Lama, would probably agree that love is in fact our only hope of salvation as a species. And if the argument that love can change the world is accepted, the next natural question that emerges is how our goal could be accomplished. Such an eternal, powerful, and complex challenge must require a solution that is equal in complexity, size, and power.

Simple is Better

Think about David, as he turned down Saul’s armour, taking only a sling and a staff to combat Goliath, the most fearsome Philistine warrior ever seen. Goliath was capable of striking fear into the heart of the bravest Israelite, and none of Israel's warriors, even with their most powerful weapons, would take one step in Goliath's direction. Think about the simplicity of David’s weapons, the simplicity of his belief in the power of good over evil, and his conviction and courage in confronting the very embodiment of evil.

Think about the Mothers of the Plaza de Mayo in Argentina, who stood up to the most fearsome political Junta that nation had ever seen: armed only with photos of their disappeared sons, young boys who those mothers loved dearly. They did not bring guns to their protests every Thursday afternoon, no, they only brought photos. And many credit these grandmothers, these feeble old women, with breaking the deadly silence that had defined the political reality of their time.

And now think of us, two young Canadian boys, who work from a bachelor apartment, who have forgone high salaries in the corporate world because our belief in the power of our ideas. We have created the modern sling and staff; we have brought to you only a picture of hope. We have come to you with a request that you use our simple tool to accomplish the impossible. We ask you to join us to help save the world, one relationship at a time.

Saving the World: Drive to a Thousand Conversations | Big Bang Technology

Big Bang Technology

Tue 24 Feb
2009

Saving the World: Drive to a Thousand Conversations

Posted at 10:53 AM by Max Cameron

Today we're proud to announce our Drive to Start 1,000 Relationships facilitated by Astroscope, our ice-breaker app. We're saving the world, one conversation at a time.

Our Progress

The Crisis

Every day, tens of millions of decent, honest, single men - young and old alike – wake up thinking that today could be the day they meet the person they’ve been longing for. In art galleries, bars, restaurants, shops, and offices, the possibility of meeting someone new holds all the promise of potential happiness. But all too often, men lack the confidence to initiate that first conversation. They stand and talk, sip from bottles of beer, peer at their cell phones, and pretend to act macho so their weaknesses may not be revealed.

Compulsively using cellphones in social situations masks loneliness

And, more often than not, they return home alone at the end of another long night, with neither a phone number nor an email address as a symbol of their progress towards their goal. And I ask why: these aren’t unattractive men, they’re not grotesque or disfigured or misshaped. These aren’t unintelligent guys, they’re not feeble or awkward or depressed. No, these are normal, every-day guys, who may be imperfect, but no less deserving of the care and affection that most take for granted. I should know, because I once counted myself among them.

Man playing lonely violin song

Consequences

When a man loses his confidence, terrible things happen: Ex-girlfriends get booty-called, sausage-parties emerge, prostitution flourishes, pornography wins, real relationships lose - this is not the dignified life that we all deserve.

Often, men resort to attending "Sausage Parties"

There are men who have acquiesced to living a life of solitude. These are men who lack the confidence to make a striking and bold first impression. Men who have been repeatedly torn down and ripped apart by those women who fail to see the decent human being inside. To these men I say: we do not blame you, we do not hold you in contempt; we are understanding and you must know that we’ll be ready to help, when you’re ready to help yourselves.

A New Voice

To the men that have hope, but lack resolve; for the boys who are strong, yet shy; for the guys that can deliver, but not initiate; we are here to help. Do not despair in your solitude, for it is temporary. Do not relinquish your belief in the possibility of love, or the satisfaction and power of mutual attraction. Instead rejoice, and take heed that today, above all other days, you have friends who understand what you’re feeling, and who have been working long hours, spanning days and nights and weeks and months, to bring your nights of loneliness to an end.

We know that the striking pain of rejection can be enough to break the will of a titan. And there will never be a perfect solution to this reality. Whatever does not kill us can only make us stronger. I ask you: would satisfaction taste as sweet as it does if it wasn’t contrasted to the sinking feeling of failure and defeat? This, among many other reasons, is why we must continue to persevere, even in the face of humiliation.

Yes We Can!

And so today, we’re unveiling our plan to make our contribution to the happiness and well-being of all the guys that find themselves alone when the night is through, although that might not be their wish. We pledge to work night and day, hour-by-hour, writing line for line and word for word, until we reach our non-negotiable goal of starting ONE-THOUSAND relationships initiated by Astroscope, our ice-breaker application for the iPhone. We will not rest, we will not tire, we will give up on our belief that anything is possible.

With our technology, and your courage, we’re going to relentlessly pursue our ambitious milestone together. We will stand beside you, and give you the tools you need to start that first conversation. We cannot say for certain that you’ll get some, but we can give you a great start. Working hand in hand, we can turn heartbreak into fulfillment, sorrow into joy, Machismo into humility. Today, I reaffirm to all men, that we are created equal, and that we all have an indisputable right to the happiness we deserve.

Good luck, my friends, and Godspeed.

Also, you can read the story of how Astroscope came to be, and how Astroscope Will Change the World.

Innovating the Game: Picking up girls with your iPhone | Big Bang Technology

Big Bang Technology

Sat 21 Feb
2009

Innovating the Game: Picking up girls with your iPhone

Posted at 1:05 PM by Max Cameron

From top to bottom and front to back, this is how we developed the concept behind our first application built for the iPhone: Astroscope.

Building Astroscope

Last week we hit a major milestone for Big Bang, when we saw our first iPhone app, Astroscope, appear in the iTunes store for the first time. It was a really great feeling for me, and even though my business partner Cameron wasn’t there to share in the moment (he was spending a well-deserved week relaxing in Cuba), I know that he must have felt something similar seeing that shiny grey icon winking up at him from his monitor.

Astroscope sounds like a horoscope app, but it isn't. Anyone looking for a typical horoscope will probably be disappointed. But, if you were looking for an app that could help you strike up a conversation, then – you can’t do much better than what we made.

Astroscope works because it flies under the radar.

Astroscope in Action

  1. Find someone you’d like to talk to. Easy enough. Toronto is really good for this.
  2. Shake the phone on any horoscope page and the secret editing interface appears.
  3. Clear the fields and insert text describing the person you want to talk to. We chose to have two fields for clothing, and two fields for characteristics.
  4. Press save. And ta-da. A very bizarre prediction appears in all of the horoscopes.
  5. You walk up to the person and say something like, “Um, what are you doing in my horoscope.” Hand over the phone and wait for the show to begin.

The magic is in the details: The horoscopes are unique for each astrological sign. I wrote them my own damn self. And although they refer to some generic characteristics of that sign (it was fun researching that contrived bullshit), they’re effective on a deeper level. In addition to predicting what the person you’ll meet will be wearing, the horoscopes focus more on how much you’ll have in common, and how easy the conversation you’re about to have will be.

Here’s an example of one of the horoscopes:

Capricorn (Dec 23 – Jan 30)

“Capricorns are goal-oriented, driven people. But today is all about keeping expectations low, and letting yourself take a chance. Keep your eyes out for someone wearing black jeans and brown leather boots. They’ll also have black hair and a lot of confidence. If you have the courage to be honest, they’ll appreciate what you have to offer and return the favour. Have faith in your ability to communicate what’s inside your head, you won’t be sorry.”

Here how Astroscope gets the job done:

  • "Capricorns are goal-oriented, driven people." We want to come out of the gates running. This sentence says I’m confident, successful, independent, and don’t need anyone to validate me. That’s a good, bold introduction.
  • “But today is all about keeping expectations low, and letting yourself take a chance.” Hold on a second. I’m not here to get in your pants, and I’m actually sort of sensitive and sometimes I guard myself from being hurt. This draws a nice contrast to the first statement. After all, everyone has his or her moments of weakness.
  • The next sentence identifies the intended participant. Even though there are only four fields, which seem restrictive to some people, you can play around with the words you choose to make a fluid sentence. This was a decision we made in order to minimize the amount of text that the user has to input.
  • “If you have the courage to be honest, they’ll appreciate what you have to offer and return the favour.” This is a trick sentence. It seems to bestow honesty and courage upon the person using it, which continues to foster a positive self-image. It also sets the stage for the recipient to reciprocate the good will. Now the recipient can feel comfortable being engaged because we’ve already predicted a positive outcome. The sentence alleviates the stress that is usually associated with a first encounter.
  • “Have faith in your ability to communicate what’s inside your head, you won’t be sorry.” I chose to end this horoscope with a sentence that would focus on what I see is the most important social skill a person can possess: good communication. This is the closing argument. We just established that regardless of the outcome, you have the right foundation for a good conversation.

Technology as Antisocial

Typically people love to bitch and moan about how social technology is antisocial. Think about all self-conscious web addicts that haven’t left their homes in months, preferring instead to live on the web, interact on facebook and play World of Warcraft with a million other sweatpant-clad technophiles. Think about awkward dudes leaning against the wall at a nightclub, checking their text-messages every five minutes but not talking to anyone or dancing or anything. What a loser.

This is the unfortunate association that technology has accumulated over the past few years. Technology isn’t sexy, people say. Technology can’t get you laid. Yeah maybe there are a few rock-star programmers and designers who have a life outside of Macworld, but for the most part technology has been relegated to an awkward place in our society. You should feel embarrassed if you spend too much time on facebook. Someone told me the other day that they came across a really cool picture while they were “creeping” my facebook profile. Think about that.

We need to break down the vision of social technology as interrupting or repressing people’s social-lives. Right now people see technology as a way to escape interpersonal interaction and to hide from the realities of real social situations. We need to create technology that does the opposite: we need technology that we can take to the streets.

Here’s how we decided to break down the painful association between technology and a life of lonely solitude. One night while we were out for beers with Tim, a grizzly web-dev veteran and former member of some fraternity somewhere (Skull and Bones? Something like that). We were chatting about all the iPhone apps that we couldn’t wait to start building. Right at that moment I saw a beautiful girl walking across the room, and I thought, ‘Shit, yes, I got it.”

Technology as the Ice-Breaker

I turned to Cam and Tim and I said, “Boys, listen. Chicks love horoscopes. We already knew that. So all we need to do is fix the game, and we’re golden. Let’s get another round.” The idea was attractive in a few ways:

  1. It seemed easy. We wanted to start with something manageable since we only have one developer who’s learning Cocoa as he goes. Screw web services, to hell with GPS, we need the simplest thing we can make. Oh yeah, and Cam, do it fast.
  2. We would use it. Well, I would use it (Cam has an awesome girlfriend). Our golden rule is: Only make an app that you would use (and purchase) from another company.
  3. We would meet girls. Always a good place to start when you’re a guy in his mid-twenties. We chose to make an app that could hold close to our hearts.
  4. It seemed plausible. We figured, all things being equal, this app would actually do its job: regardless of the outcome, it would start an interesting conversation.
  5. It’s for everyone. We realized that we would look like chauvinistic pigs if we made an app that only guys could use. We kept our language gender-neutral so a person of any sex, or sexual orientation could use it.
  6. Be proud of your technology. iPhones are beautiful machines. Everyone wants to play with one, but they’re not cool if you’re just checking your missed calls and acting like you’re so cool you’re bored.
  7. Astroscope brings technology to the streets, to the bars, to the party, to the subway, to wherever. We couldn’t think of a better way to break down the idea that technology is anti-social.

So that’s how Astroscope came to be. It works too. The first time I actually got to use it was with a girl at Tequila Bookworm in Toronto. She freaked out, told all her friends how this guy had the craziest horoscope ever, and she just couldn’t believe it. I found it really interesting she didn’t even look at any other horoscopes, or question the fact that I had a horoscope that predicted four defining characteristics about her.

In reality, the hardest part about it was keeping a straight face.

*UPDATE* We just launched our Drive to Hook Up 1,000 Dudes with Astroscope. Help us save the world, one hook-up at a time.

How to Build An iPhone Web App - Part 1 | Big Bang Technology

Big Bang Technology

Tue 23 Dec
2008

How to Build An iPhone Web App - Part 1

Posted at 2:45 PM by Cameron Westland Tutorials

I've been trying to figure out what the best way to share some of the ideas we've been coming up with over the last few months. Instead of doing a bunch of case studies, or trying to get permission from some of our higher profile clients, we've decided to do a short series on how to build an iPhone web application.

This is a fairly broad discussion and we're going to try to slice horizontally across a lot of topics. Expression Engine, MySQL, iUI, Textmate, Ruby scripting, Deployment Issues, Mobile Optimization Techniques and more will be covered. Since we're giving these videos away for free, don't expect the polish that you'll find on sites like Peepcode or The Pragmatic Programmers. Instead, you'll find a candid and casual look into the world of Big Bang Technology, and how we develop.

Part 1 : Environment Setup

  • Setting up a development environment
  • Creating a MySQL Database
  • Installing Expression Engine
  • Setting up Virtual Hosts
  • Creating a dynamic deployment configuration file for Expression Engine

The videos are all high resolution 1152 x 720 encoded in H.264.

I have not provided full transcripts for the content. Sorry about that.

Produce Lookup Application Development - Part 1

Setting Up Communication between GitHub Repositories and Lighthouse Projects via a Secure Token | Big Bang Technology

Big Bang Technology

Thu 30 Oct
2008

Setting Up Communication between GitHub Repositories and Lighthouse Projects via a Secure Token

Posted at 12:40 PM by Cameron Westland Tutorials

Integrating Github with Lighthouse has been a great time saver. It has allowed us to stay on top of fixes and keep track of everything we're doing in one place. We don't need to have everyone looking through the git logs now! This short screencast shows you how to get things set up.

Transcript

Hi there, thought I'd try this whole screen-casting thing out again. So this screen-cast shows how to integrate github with lighthouse. This basically will show changesets in github inside lighthouse. It will let you see what's going on straight from light house. It's pretty simple to do.

Lighthouse

All you have to do is go to your profile and generate a token, pick a lighthouse project and give the token a label. Then click create.

Now we'll just copy & paste the token that was generated. And we want to make sure we have read/write permission. Now the only thing we really need is the project id, so we'll go into the project and grab the id from the address bar. We also need the sub-domain. That's really all we need from lighthouse.

Lighthouse is all set up.

Github

We'll go over to github's dashboard. Just select the repository you want to communicate with lighthouse and edit the repository. Click services and scroll down until you find the lighthouse service. Now it's basically as simple as putting the information from lighthouse in. Make sure to set it to active and then hit update settings.

So it's pretty simple to integrate, but there wasn't any super clear documentation on how to do this.

Testing

The easiest way to test this is to update a file and push it out to github. We'll add it to the repository with a simple commit message.

git add README
git commit -m "Another test change"

And then push it to the server:

git push origin master

And finally refresh lighthouse and we see the test change. That's basically it! It shows the files that were updated and you can click through to the change-set.

Thanks a lot for watching!

McCain-Obama Danceoff! | Big Bang Technology

Big Bang Technology

Mon 27 Oct
2008

McCain-Obama Danceoff!

Posted at 9:18 AM by Max Cameron

Kudos to these guys who super-imposed the candidates faces on top of awesome dancers.

Google Earth for the iPhone Released | Big Bang Technology

Big Bang Technology

Mon 27 Oct
2008

Google Earth for the iPhone Released

Posted at 8:05 AM by Cameron Westland Technology

Congratulations to the Google Earth folks for releasing this sweet interface for the iPhone. The touch gestures are particularly impressive. Hit the jump for their introductory video.

Thursday’s McCain Bush Palin SNL was striking, subversive, and intelligent | Big Bang Technology

Big Bang Technology

Fri 24 Oct
2008

Thursday’s McCain Bush Palin SNL was striking, subversive, and intelligent

Posted at 10:40 AM by Max Cameron Ranting

Comedy can comment on politics in a unique way. The folks from SNL really got this one.

HTTP Gallery in London gives a voice to web artists | Big Bang Technology

Big Bang Technology

Mon 20 Oct
2008

HTTP Gallery in London gives a voice to web artists

Posted at 1:05 PM by Max Cameron Community

I got a kick out of HTTP gallery and particularly out of Jeremy Bailey's SOS videos. I suggest checking them out.

Jeremy Bailey's videos are really funny. They made me start thinking about an art piece I've wanted to do for a long time. So I sent London-based HTTP gallery an email. I've included the email in this post. They specialize in web art, so hopefully they'll get back to me.

The email I submitted to HTTP Gallery in London.
Towards a better client survey: Part Five | Big Bang Technology

Big Bang Technology

Fri 17 Oct
2008

Towards a better client survey: Part Five

Posted at 2:28 PM by Max Cameron Project Management

In Part Five of Towards a Better Client Survey, we take a look at the next section of Kelly Goto's client survey: Current Site.

A hatchet or a scalpel, or both?

To (more or less) quote Barack Obama, in order to understand where you want to go, you need to know where you're coming from. If your last website was as economically viable as the last eight years of Republican rule, then maybe it's time for some change. But you don't want to use a hatchet when you need a scalpel (oh this is fun!), and the goal is to strengthen the parts of your project that work, and eliminate the parts of your project that are under-performing.

The first two questions are standard questions that you would expect to find:

What aspects of your current site work well and why are they successful?

and

What aspects of your current site are unsuccessful and why do you think that is?

One issue that we're going to be forced to address is the definition of an “aspect.” Is an aspect a directory or sub-directory? Is an aspect a strategy, or a part thereof? Is an aspect an adjective, a noun, or a pronoun? I suppose it could be all three.

Peronally, I'd like to approach this question from a different angle. I'd prefer to ask, “When you first started out, what were your hopes for your website, what did you hope it would help you accomplish? How many of those goals did it actually accomplish? And then follow-up with, where did it fall short?

Another issue about this question is that of redundancy. Is it the same question to ask, what are your business objectives for the new website? And, “what didn't work in your last website?” wouldn't one expect to see the same answers?

If you update your current site using a content management system, please describe the system and it’s main features. Are you happy with the system?

I think this question is a pretty simple and necessary question, so it's fine with me.

Towards a better client survey: Pt 4 | Big Bang Technology

Big Bang Technology

Tue 07 Oct
2008

Towards a better client survey: Pt 4

Posted at 4:37 PM by Max Cameron Project Management

Part four of Towards a better client survey explores the second section of the standard Kelly Goto client survey: Objectives. We examine the questions, why they're important, but why they can come up short.

You can get caught up on the conversation here, here, and here.

So you've figured out the basics. Your intended URL is available, you've identified key stakeholders, and even (gasp) received a budget range to work within. You've identified an ideal launch date, coinciding with your clients' big event. But where do you go from there? We still haven't asked the question that I believe is paramount: Why do you need a website?

Today we're going to be getting into my favorite part of the client survey, Objectives. They can also be thought of as business goals – it doesn't really matter. What matters is that you're about to identify the why of web design. I would suggest any webdev shop who's working with small clients to ask straight up: why do you need a website. If the answer your receive sounds something like, “Um, well, because our competitors have one,” or “Because you need a website! Everyone needs a website!” then your potential client just threw up a flaming red flag.

Web development is all about applying technological solutions to business problems that already exist. When potential clients fail to provide reasonable cause for a website design or redesign, it shows that they're out of touch with their audience, and perhaps with their own business. It also shows that the potential client hasn't done their homework, and probably doesn't take the web development process all that seriously.

This section contains three, short questions:

What are your main reasons for commissioning a new website?

Here's the Big Bang team on the search for real business challenges

Well folks, here we have it. The holy grail of web design. But seriously, part of me wonders why this question isn't 48 point bold capital letters at the front of the survey. Part of me also thinks that if a client could completely and thoroughly answer this question, then we'd be able to make a great estimate based on that answer alone (well, that's a bit of an exaggeration but you see where I'm coming from).

This is also the question that is most often misunderstood, written-off, or over-simplified. Really what we want to be doing is telling our potential clients that this question should encourage them to examine their business and the unearth the core challenges they face in day-to-day operation. It isn't productive for a client to call us up and talk about the technology platform they want to use (we want a website that uses flash!), those recommendations are, after all, what we're here to do.

What is useful is a potential client who says, “You know what, when I google my products, ebay listings are appearing higher up than my company's website. That must be killing us, so what can we do about it?” Or, “we're getting forty-five phone calls a day asking us where our store is located, and our sales reps are losing real opportunities on the floor.”

Things like that often slip under the radar of potential clients. We should do a better job reminding them to take a big step back and a long look into the mirror.

List the business objectives for your website in order of importance. Eg improve sales, increase customer satisfaction, reduce time spent searching for information, etc

Here's a great question. But it's a question that requires a client to be savvy and informed about the possibilities the web has to offer. In other words it assumes that the client knows a)the business challenges that they face and b)how those challenges can be addressed on the web. Wouldn't we be better-served if we just asked, “list your business objectives in order of importance?” Usually our best ideas that we pitch to clients, the ideas that get people really excited about redesigning a website, are the strategies that address their business objectives ("You mean, our website can do that?). So instead of asking them how the site itself should accomplish objectives, we should just ask for the objectives and put our money where our mouthes are.

How will you know if the site is a success? Eg 20% increase in sales, 70% of surveyed users expressing satisfaction, 30% reduction in time spent searching for info.

This is a complicated question, and it's extremely important. Not only do we recommend getting this question answered before setting out, we recommend that you make your clients sign off on the metrics that you'll be using to measure the success of your redesign. Furthermore, ensure that your clients actually believe in these metrics, and stick to them.

But it gets hairier (sp?). In our industry we know that statistics are only as good as the ones you're comparing them to. What do you do when a client comes your way saying, “we got a MILLION HITS last year!” Make sure your new client is bringing reliable and reasonable analytics to the table. If they're not, then don't even bother using them. Either track their old site for a month or two using correctly-installed GA code, and use that as a metric, or if you can't wait, consider the metrics you'll be using for the first two months and build from that point on.

So here's my micro-conclusion:

When I first saw this section of the survey, I had high hopes. There were three, short questions. But upon closer examination, I think that we might not be saying enough. Every client has her or his own way of assessing their business and the challenges they face. Every client has different ideas about how the web can help them out. But the more I think about this survey, the more I see a need for direct communication where these ideas can be really be teased out and given their full weight.

I think we can take some lessons out of this exercise and use them to inform our website survey redesign, and consider how the observations gathered today can inform how we frame our questions, how we deliver them, and what we must emphasize when navigating this process. I hope you can join me next time when we discuss the assessment of the client's current site.

Towards a better client survey: Pt 3 | Big Bang Technology

Big Bang Technology

Fri 03 Oct
2008

Towards a better client survey: Pt 3

Posted at 11:10 AM by Max Cameron Project Management

In this installment of "Towards a better client survey," we explore the first section of our current survey, "The Basics." But is it really so simple?

Get caught-up by reading Part One and Part Two of this conversation.

Part One: The Basics

What is the name of your company, your website and the current/intended web address?

The first question can throw a new website for a loop (but usually not a redesign). We all know about the tricky details of choosing a pertinent and memorable web address. If you're developing a website from scratch, you'll probably end up having a conversation about choosing (and perhaps finding) the right domain name. We usually talk about choosing a top-level domain (.com, .to, .org) and finding an available domain within your top-level domain. You can check out 8 quick tips for choosing a domain name for some more insight (even though they suggest choosing a .com, whereas I do not).

A lot of people are bent on having a .com, and resist the option of a .ca for example. Sometimes companies don't want to be perceived as being limited or restricted to a certain geographical market. Having a .com top-level domain seems more universal to them, but makes it increasingly difficult to find available real estate. I find that having a short, memorable domain name with a lesser known top-level domain is preferable to having a complex, obscure version of the company's name that ends in .com.

Notice I wrote, “you'll probably end up having a conversation about...” Is this antithetical to the idea of the initial client survey anyway? This makes me think of one our original challenges. Is it necessary to walk the lead through the client survey?

Describe your company and the concept, product, or service your site will provide.

The second question is the first attempt to step into the project. But you'll notice that this question actually contains two (quite separate) questions. The first part of the question is fine, “describe your company,” and any potential client should be able to answer that succinctly.

The one I have trouble with is the follow-up: “and the concept, product, or service your site will provide.” Notice that we've shifted the subject of this answer from the “company,” to “the website.” In addition, we have asked probably the most difficult question of the whole document in the first section, which we called “the basics.” Maybe we should save that one for later.

Who are the main contacts for this project? Who has final approval?

This is a straight-forward question that does two things; it asks for necessary information, but more importantly this question implies that there needs to be a clear decision-making process owned by accountable stakeholders.

This is also an introduction to the client of their considerable responsibility in a website redesign. It shows the client that one doesn't simply “buy a website.” This question should imply that there must be someone on the client's side who can own the project, take responsibility for deliverables, and avoid a situation where at the final meeting, the principle in the client's company decides she “doesn't like the creative direction.”

When do you expect the project to start and when does it need to be completed? Are there specific reasons for these dates?

Question four is a good one. It's great to launch a website during a significant moment because it allows us to squeeze every bit of cross-promotional power out of our launch. If you're developing a site for an art gallery, find out when a new exhibition is opening that's close to your expected launch date. If your client is moving into a new, bigger office space a week after the site can launch, compliment this moment of renewal by unveiling your new online presence concurrently.

But here's another reason why this is a good idea. Clients love to enforce deadlines, but it's easy to push back content delivery plans. Tying the release of your website to another deadline for their business will help your clients deliver on time.

Sometimes launching a new website is a significant event in itself. We've had clients model a whole marketing campaign around the redesign of their site, but in that case the site was the principle communication channel of that particular company.

Your budget dictates how much time we can devote to your website. What is the budget for this project?

Suppose a fellow walks into an architect's office and says, “I want you to build me a house.” The architect replies, “That's a pretty big question. Do you have an idea of your budget?” The client replies, “No, not at all. Why don't you tell me how much it will cost for you to design and build me a house.” Does this make sense? How can the architect make recommendations or decisions about material, size, landscaping, detail, plumbing, heating, etc without knowing what the budget is? The answer is pretty simple, he can't.

This is the catch-22 of web development, and for a lot of developers, this is consistently a problem they face. It's common for our leads to approach us without any idea of what they're willing to spend on their website. This puts us in a pretty uncomfortable position. If we don't have any idea of what the budget is, it's likely that our project plan, estimate, and proposal could be way off. We could put ten hours of work into these documents coming up with our ideal website strategy.

And it's fine if our estimates don't match our client's expectations. The problem is that our potential client might think that we're “out of their league” when in fact that wasn't the case at all. We do what we can, with what we can. It really comes down to this: we're going to find out what your budget is one way or another. We can make a better estimate, a better proposal, and answer the question of whether we can meet their goals if our clients know how much they can invest in this process.

I see two possibilities with the budget question. The first is to put it up front, like we have now. Having this question here emphasizes the significance of this information. It might be better to place the question deeper in the survey, so we don't immediately confront them with what is typically the most sensitive and difficult question for a client to answer. But placing it deeper might make the client think that it's the most important question in the survey, which it's not. Either way, we need to find a way to explain this before the client decides to leave the answer blank.

Next Blog post on this topic will discuss the most important (in my opinion) section of the survey: Objectives.

Fish, Pies and More! Oh My! | Big Bang Technology

Big Bang Technology

Fri 03 Oct
2008

Fish, Pies and More! Oh My!

Posted at 8:06 AM by Cameron Westland Tech Start-Up 101

Yummy food prepared in and around headquarters this week.

Fresh baked apple pie prepared by my beautiful and talented girlfriend Crystal.
Colombian fish stew, by Dom. Fish + coconut milk + plantains + sweet potatoes + more. Amazing!
Quick-snack pasta from Max. Penne + sausages + cheddar cheese + home made pasta sauce.
Combining CSS For Production Use | Big Bang Technology

Big Bang Technology

Thu 02 Oct
2008

Combining CSS For Production Use

Posted at 5:17 PM by Cameron Westland Tutorials

This article shows how we've been combining our cascading stylesheets for production usage. We use a combination of a rake script, a borrowed class from the folks over at Prototype.js and a little PHP. This lets us have multiple stylesheets files in development, but then combines them into a single one ready for deployment on the server.

*Note: this article was written using OS X Leopard, if you are using something similar, you may have to pre-install Rake in order to follow along. Check on google for instructions in your operating system.

The Tools

Protodoc is a small ruby class that was created for the Prototype Javascript Framework project. Its main purpose is to combine multiple files into one. The source code for Protodoc is incredibly simple. Grab a copy of protodoc and put it in the lib folder of your website.

Rake, or Ruby Make, is a simple build program that allows you to write build scripts in straight ruby. We're going to write a Rakefile that contains a task that combines all of your debug stylesheets together. You may need to install this!

Expression Engine is a great little CMS/Blogging engine from Ellislab. We use it for our website, and our clients websites. It's incredibly flexible and we've always been able accomplish interesting things with it relatively easily.

Now that we've had a run down of the components involved we are going to talk about how we've organized our files in order to make it easier to combine.

The directory structure of our website.
bigbangtechnology.com

Moving from the top to the bottom, we've got /lib/protodoc.rb which can be downloaded above. Next we've got /stylesheets/production.css. This file will be the file outputted from our Rake task. Inside /stylesheets we've got src this folder will contain two things. First is a set of files that we want combined. Second is another production.css, only this one has pointers to the other files in src. We'll learn more about soon.

Creating our Production Stylesheet Source

This is the /stylesheets/src/production.css file. Here is a copy of the one from bigbangtechnology.com:

<%= include 'reset.css', 'core.css', 'sIFR-screen.css' %>

Pretty simple right? See how it references the other files in /stylesheets/src?

This is the only special file other than protodoc that is required really. The only thing left to in order to have our files combine into a single one is write the rake task.

Writing the Rakefile Task

The Rakefile file is created in the root of your website. This keeps things simple.

Here is a copy of the bigbangtechnology.com rake file, with only the :combine_stylesheets task showing. It might look a little confusing at first, but it's really simple. I'll break it down for you.

 1     require 'rake'
 2     require 'rake/packagetask'

Just the basics, tells the script that this is a rake file and it allows you to use the task method

 3     ROOT     = File.expand_path(File.dirname(__FILE__))
 4     STYLESHEET_DIR = File.join(ROOT, 'stylesheets')
 5     STYLESHEET_SRC_DIR  = File.join(STYLESHEET_DIR, 'src')

Tells the Rakefile where your assets are. STYLESHEET_DIR points to /stylesheets. STYLESHEET_SRC_DIR points to /stylesheets/src.

 8     namespace :production do
 8       desc "Builds the css files into production.css"

It is good practice to namespace your rake tasks. We've started a new namespace here so all tasks created inside will be called via terminal using the style rake production:combine_stylesheets

 9       task :combine_stylesheets do
10        $:.unshift File.join(ROOT, 'lib')
11        require 'protodoc'

Defines the rake task and adds the protodoc file from /lib/ and loads the protodoc module.

13        Dir.chdir(STYLESHEET_SRC_DIR) do
14          File.open(File.join(STYLESHEET_DIR, 'production.css'), 'w+') do |dist|
15            dist << Protodoc::Preprocessor.new('production.css')
16          end
17        end
18      end
The real meat of the task. This changes to the STYLESHEET_SRC_DIR (/stylesheets/src) opens up our production.css and starts writing each file it encounters in the include block into /stylesheets/production.css

20      desc "Combines all files required for deployment"
21      task :deploy => [:combine_stylesheets]
22     end

A helper task that runs any other tasks involved in deployment together. In the future we will add more tasks to this.

All Done!

You can now run the Rakefile from the command line by typing:

rake production:deploy

You should do this right before you are ready to move yours website from development/staging into production.

Setting up your environment to automatically load production.css

Since Expression Engine is built on PHP, we can easily just have it check to see if we're in production and load /stylesheets/production.css, and if not, it will load all of the other stylesheets from /stylesheets/src.

Check out this short video showing how you can enable PHP in EE in order to embed the production.css or the development css files.

So now we've got a single production.css loading instead of our multiple stylesheets. Why is this important? Read up on it at yahoo.com

Stay tuned for more articles on moving files into production. Next up we will use rake to compress all of our javascripts into a single file.

Lunches @ Big Bang Technology | Big Bang Technology

Big Bang Technology

Mon 29 Sep
2008

Lunches @ Big Bang Technology

Posted at 1:07 PM by Cameron Westland Tech Start-Up 101

One nice thing about having a live/work office is we have a pretty fully stocked kitchen. We are going to start sharing some of the interesting meals we come up with for lunches.

Here is a bit of catch-up:

Steak with Baked Potato and Tomato & Cucumber Salad.
Max's first attempt at a philly cheese-steak sandwich. Served with chicken fried brown rice.
Sweet & Sour Chicken with pineapple, green and yellow peppers.
Home made Sloppy Joe's. Served with Coleslaw.

As you can see we love our food! So as Hal Johnson and Joanne McLeod always say...

Keep Fit And Have Fun!

Max loves making at work lunches.
Testing for a Corrupted FLV Video on OSX Leopard | Big Bang Technology

Big Bang Technology

Mon 29 Sep
2008

Testing for a Corrupted FLV Video on OSX Leopard

Posted at 10:58 AM by Cameron Westland Tutorials

I recently had an issue with flash videos being corrupted on a project. I decided to use FFmpeg to try to open the file automatically and generate a thumbnail. My reasoning was that if I could open the file with FFmpeg than it probably wasn't corrupt.

FFmpeg is a command line utility typically used for transcoding video or generating thumbnails for the flash FLV format so it is the ideal utility for this. We start by compiling it on OS X Leopard.

Obtaining the sources

I used git to obtain the sources. I highly suggest you check it out and this guide assumes you already have the git command line utilities installed.

Downloading

Start by opening terminal and running the following commands:

cd ~/Desktop
git clone git://git.mplayerhq.hu/ffmpeg/
cd ffmpeg
git clone git://git.mplayerhq.hu/libswscale/

This should download the sources for the latest version of FFmpeg from the git repository.

Compiling

./configure --disable-vhook --enable-shared --disable-mmx

* Note: This doesn't compile in support for any audio codecs or anything specific. Check out Stephen Jungles more detailed FFmpeg install tutorial if you require that.

Compiling Continued

Now all we need to do is compile the configuration. This can take a few minutes. It took around 5 on my macbook pro.

make
sudo make install

Testing

You can see if FFmpeg has installed correctly by typing the following:

$ ffmpeg --version
FFmpeg version git-1e63b35, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --disable-vhook --enable-shared --disable-mmx
  libavutil     49.11. 0 / 49.11. 0
  libavcodec    52. 0. 0 / 52. 0. 0
  libavformat   52.22. 1 / 52.22. 1
  libavdevice   52. 1. 0 / 52. 1. 0
  built on Sep 29 2008 11:46:55, gcc: 4.0.1 (Apple Inc. build 5465)

If you see this output you should be good to go!

Generating A Thumbnail from FLV

Now it's time to generate a thumbnail from the FLV file in question. I did a little bit of google searching and came up with a simple command line option via FlashComGuru. Type:

ffmpeg -i video.flv -an -ss 00:00:05 -an -r 1 -vframes 1 -y thumbnail_%d.jpg

In my case, the corrupt videos will output something like this:

video.flv: Unknown format

And there you have it. A simple way to test for corrupt FLV videos. Next up, I will write a rake script that will batch through a queue of videos testing for corruption.

Towards a better client survey: Pt 2 | Big Bang Technology

Big Bang Technology

Mon 29 Sep
2008

Towards a better client survey: Pt 2

Posted at 10:48 AM by Max Cameron Project Management

Exploring Discovery: Content Vs. Form

Last week I started posting about the messy business of the client survey; our first interaction with a client that produces the basis of any project plan or estimate. I ended up by isolating what could be two significant problems with the survey (which is based on Kelly Goto's client survey), which is popping up on a wide range of other websites.

At this point the problems appear to be: The content of the survey – the amount of questions and how they're framed, and the form of the survey: a downloadable PDF which lists the questions and contains space for the client to fill in their responses.

Form

Take a look at Airbag Industries. This Cali-based company turned their client survey into a web-based discovery application. The client still has to enter their ideas, but I think it's a good idea because it separates the questions into discreet screens, and uses check-boxes as an easy way to answer simple questions. Also, after watching their demo, I saw that their app takes the answers generated from the survey and formats the info into a creative brief.

I emailed Airbag to ask if they would mind me playing around with their app, I wanted to ask beforehand, because I don't like sneaking around pretending I'm a potential client when in reality I'm not. What can I say, sharing is caring.

I also asked them a few questions, if they noticed an improvement, if clients enjoy it, that type of thing. Airbag took a big step in changing the presentation of their survey, and I big em up for investing that time and effort and being creative. I also wonder if they have an analytics tool installed in their discovery app. That would generate a whole new resource for feedback. I look forward to hearing back and maybe getting a chance to peek around and check out their:

Content

Even though I'm all about having a web-based app instead of a PDF survey, my initial reaction to this whole question is the content. Goto's survey, for all its magnitude and wide acceptance, still frustrates some of our clients. I can't help but accept that there might be some room for growth and improvement with regards to how the survey questions are framed, the language they use, and in particular the example responses for each question.

One option I've been considering is a brief explanation of why each question (or each section of the survey) is important, why the answer they provide helps us, and what actionable step we can take because of each answer. This might help convince our lead to answer the question with some thought and clarity. This seems like it'd be a valuable exercise for me to do regardless.

I've also thought about the example answers after each question. This presents us with its own challenges. If all of the example answers refer to industry x, than the example answers might not be helpful for a lead in industry y. But what does this mean? Do we have to come up with different example answers for different types of projects or industries? Should we just expect our leads to “get it”?

Anyway, that's enough for today. Here's what I want to do. In my upcoming posts I'm going to take a section of our client survey, and write a brief explanation of each question, including why the answer helps us create an actionable step that can be included in our creative brief and estimate. Should be fun.

Towards a better client survey | Big Bang Technology

Big Bang Technology

Thu 25 Sep
2008

Towards a better client survey

Posted at 1:13 PM by Max Cameron Project Management

We've all been there before. You meet a potential client and start the discussion about working together. The wheels start in motion, and the intricate mating dance ensues.

But we also all know that what goes on between the moment a lead is generated and the day you start banging out your website can be unpredictable (or all too predictable, read on), tense, and sometimes approach adversarial.

So the point of this post is to start a conversation we've been wanting to have for a long time. When we're dealing with a new client (our clients are usually small, full-service website design/redesign projects), what is the best strategy for discovery?

Yes, yes, my friends. I really do want to get into this conversation. Client surveys, communication briefs, estimates, the whole shbang. Now time for some shocking honesty: neither we, nor our clients, are entirely happy with our current discovery process, which I'll be sharing with you in a little bit. Survey questions are redundant, oh and people don't like surveys to begin with. Communication briefs are usually based on these surveys. So we have to fix this problem at the root. Now my cards on the table; we know something needs to change, because we need to find a better way to execute discovery than what we've done up until now.

I think you know what we need

I recently was on the horn with a potential new client (bringing back the horn!), and he told me that he found our client survey questions redundant. "It's all redundant Max, I think you know what we need. Websites for (insert industry x) follow a pretty solid format, and we don't want to deviate from that. So, I think you know what we want."

Well, not really actually. I think (as Cameron has pointed out to me on numerous occasions), that typical new clients make some (false) assumptions about a web design/redesign project. The core assumption is that websites are a commodity: like buying a new car. You come in, browse around, test drive one or two, let the dealer know what colour you want, and fork over some cash and off you go. But that's not what we're really about. We want to design websites that actually address needs and solve problems. People tend to think that "We need a website." Our first question always is, "Great. Why?" We've seen more mouths drop than a back alley dentist.

The Client Survey

The Client survey seems to be approaching an industry standard. I've seen it on a lot of websites and most of them resemble the survey put forth by Kelly Goto, the big momma of web design.

So here's where I'd like to start off. The client survey, the first description of the project, the most basic tool that we use to create the estimate. Anyone can look at ours, just check the footer of our website and you can download the pdf. Over the next week I'll be spending a bit of time every day looking for other client surveys that deviate from our model. Maybe someone out there made one that clients get excited about, where clients complete all of the pertinent questions, one that clients take seriously!

When I think about client surveys, I can think of a few things about it that I already dislike: Usually they're too long. Maybe this is why clients get tired of them and don't complete all the questions with the attention they deserve. Maybe the questions aren't explained well-enough. Maybe this is why some clients think questions are redundant. Maybe people in other industries just don't get why we're doing this. So it comes down to two options: it's either our fault for not making a good enough survey, or it's their fault: and people outside our industry don't get that this is a necessary exercise.

The Kids Community Garden | Big Bang Technology

Big Bang Technology

Mon 11 Aug
2008

The Kids Community Garden

Posted at 11:11 AM by Max Cameron Community

For the past nine weeks, we've been volunteering at the Kids Community Garden in Cedervale Park...

For the past nine weeks, we've been volunteering at the Kids Community Garden in Cedervale Park. It's been a wonderful experience alongside Claire Rodgers, who organizes and leads this community initiative, as well as all of the parents and children. I'll try and upload a few photos to keep everyone in the loop, as well as a list of all the amazing vegetables, flowers and other plants we've been growing all summer long.