I’m sure everyone already knows that collaboration is, in general, a good thing, but I often forget just how important it can be. There’s a lot of advantages to sharing your ideas and working with someone else to flesh them out. In my mind there are 3 key benefits that I hope to make clear below.
First, and probably most underestimated, is that it forces you to verbalize your own thoughts and ideas. When it’s all in your head it can be surprisingly easy to overlook small details or miss things. Expressing your ideas, and hearing yourself say them out loud, can sometimes cause you to catch your own mistakes or missing pieces. Yet there’s an even more valuable exercise in sharing your thoughts with someone else…mainly, that the other person has to be able to understand what your saying. Often times this can mean that you’ll be forced to find a new way to express your thoughts, or put them in a new framework, in order to help make it clear to the other person. It’s similar to teaching in this respect because you have to have a very deep understanding of whatever it is you’re trying to share in order to effectively communicate this to others. Many times this will force you to think about something in a new way that you probably never would’ve considered if you were just brainstorming on your own.
Second, is that it provides a fresh perspective on your stale thoughts. The longer you spend thinking/working on something on your own the more entrenched you become in a few initial assumptions/beliefs/ideas. It quickly gets to the point that in your mind you no longer even consider any other possibilities. Often I personally don’t even realize I’ve done it at all, but it very much shapes your future thinking as you can no longer think outside of these initial constraints. By collaborating with someone who is not already in your frame of reference they can easily see, and point out, when these initial constraints are wrong or hindering. It’s a very similar idea to my previous post The importance of an outside perspective.
And finally, and most obviously, collaborating brings in a whole new mind (or several) on a problem. Everyone has a different thought process and getting more people involved in solving a problem or thinking about an idea is going to give you more perspectives and thus more possibilities. We all know that person that thinks in a completely different way than we do, and it is often times that person that provides the most contribution of new ideas to the discussion. This is also important in providing new ways of thinking about a problem that can lead to solutions that no single individual could’ve come up with on their own (or wouldn’t have in a time frame comparable). These are often the best solutions/ideas and are what most people think of when they think of collaboration.
So the moral of the story is this: collaboration is good. Flesh out ideas with other people, and do it early in the process if possible (although adding a new person in down the line isn’t always bad either). The added benefits make it well worth your while for key decisions.
I spent a good chunk of my day today diagnosing an odd problem with IE that I figured I’d share in case it might somehow help someone else out there.
I’ve known for a while that there are a few pluses and minuses to using the innerHTML property instead of DOM methods to create/modify page contents in javascript. IE in particular has some oddities to avoid (for example tables have a read-only innerHTML property…attempting to set it will result in a nasty error). All this considered though, there are many advantages as well. I was testing some code I’d written and found that on some blogs this new code would crash (only in IE of course), but on others it’d be fine. I checked the troublesome page for tables, but it didn’t have any. I then went to the source of all knowledge, Google, and started my search for other odd situations with IE and innerHTML that might be causing my troubles.
Unfortunately I didn’t find much of anything useful. There were a lot of interesting articles about modifications to using the innerHTML property to speed up rendering, special instances where using innerHTML produced unexpected results, etc…but nothing that related to the error (and crash) that I was experiencing. So I broke down to doing the trial and error method…what if I put the code here instead of there….ok, now how about there instead. Eventually I ended up narrowing down the problem until I found it.
The problem came from the style attribute “height:auto”. It appears that if an element (in this case it was a <p> element, but it seems to be true of <em>, and probably others as well) has this attribute then setting the innerHTML property of a child of that element causes IE to crash and give a very unhelpful “an unknown runtime error has occurred” error message. I tried it with <div>’s and <a>’s as the child nodes and it seems to break for both.
So not sure if this helps anyone else out there, but it definitely took me a while to hunt down. The joys of web programming….
As I talked about in my previous post, this is a time of change in my life. I’ve had to make a lot of important and tough decisions in a relatively short time, and will continue to have to make several more in the coming weeks. It’s gotten me thinking about decision making in general and so I thought I’d spill some of those thoughts here.
In general, I’ve not always been good at being decisive. It’s often much easier to “wait it out”, “see how things go”, “or run with it”. Unfortunately though, not making a decision is in fact a decision…and rarely the right one. Basically since high school I’ve often found myself falling into leadership roles. Some are by chance, some are sought after, and some are out of pure necessity. One thing that has become overwhelmingly apparent, though, is that a good leader MUST be able to make decisions quickly and intelligently. It’s of the utmost important that a leader is able to quickly examine all possibilities and choose the best one in a short time. Also, just as importantly, a leader must be willing to stick to their guns and not shy away from the decision they’ve made, and be willing to accept responsibility if the decision turns out to be the wrong one. It’s very tempting to blame the information, the group, or just the individual circumstances for a wrong decision, but the truth is that none of that matters. Ultimately the leader made the decision for the group and the leader is responsible for the decision to the group.
Being able to make sound decisions quickly is a necessity, especially in the web startup space where things move so quickly. Although I feel I still have a long way to go in being able to quickly evaluate all possibilities and still be sure to choose the right ones more often than the wrong ones, I do feel I’ve made a lot of progress in a relatively short time. I’d really encourage everyone to take on a leadership role or two at some point and actively consider this topic. Or if you can’t find yourself a leadership role just practice being more decisive in your own life. Start by being the one to make a decision among friends when someone asks “What do you want to do tonight?”. Even these tiny steps can start you on a path to become a decisive, effective leader and should not be underestimated.
Along with the change in the calendar year a lot is changing both for me personally and for Intense Debate. We’ve had a team member leave, which has been an adjustment for all of us here at Intense Debate, but all things considered I think the transition is happening rather smoothly. We’ve also got a completely new server infrastructure we started running on around the end of the year. It was a huge pain, but things have been running much smoother since and it was a much needed upgrade. Definitely worth the time and effort (although that’s much easier to say now that it’s all done). And of course we’ve got a lot of changes ahead in the coming weeks. Expect several announcements from our team about the upcoming changes.
This is gonna be a big year.