I realize that I have been talking about my involvement with xolo.tv for some time now, but I always forgot to really show people what it is that we do. Well, fret not, I am not going to show you, right now, but I am going to share something special with you.
All you have to do is (left) click on this link and a new window will open with the video in it.
A note of advice: the clip is roughly 17mb in size, so you might not want to do this on a mobile connection unless you really are dying get to know the team.
It has been something close to four weeks now since my last intern report and while I initially planned to make this a weekly returning series, it turns out that working fulltime can do weird things to your scheduling as well as your stamina. One of those things is that, after a full day, I sometimes feel so spent that I simply cannot bring myself to write something that is actually worth posting and often just end up scrapping the whole piece.
Lucky me, xolo.tv has what could be considered an implementation of the Google Labs idea, where you get to spend 20% of your work time on personal projects; with the biggest difference being that, at xolo.tv, I actually get to choose what I want to work on, while Google limits your freedom to something that may be used to expand the company’s product portfolio.
Be that as it may, I find myself spending most of my time with treks through the intricacies of ExpressionEngine, which is finding more and more support here every day; if not only for the fact that the system, excuse the strong language here, damn flexible, that we have not yet been able to come up with a problem that cannot be tackled with it.
Apart from my techy backend work, I have also forayed into the area of frontend development and am actually starting the first phase of a huge project this week. Once phase one is completed, I will make sure to post about it here, suffice to say that the project is bigger than most of the ‘jobs I have done in the past and combines a great number of different techniques to form a solution that delivers content across a large scale of mediums, yet is able to target highly specific needs.
While, technically speaking, the project should be considered “work”, I perceive it much more as a reward given to me by the powers that be; the reward itself stemming from work I completed earlier on, where I proved that I could carry my load and come up with solutions that, most of the time, simply worked.
In fact, my direct boss was (and hopefully: still is) so happy about my work, that he decided to give me a recommendation on LinkedIn:
On a related note: it still feels weird to think of someone as my boss. In my short time in the field, I have always been independent. Yes, I have worked with others and yes, I have had clients that required reporting, but I never had a real boss. It is an interesting setting indeed…
As if a recommendation on LinkedIn was not enough, Gabriel Bauer, our resident movie-shooting-director-turned-producer-and-what-not dedicated a whole song to me (well, me and the two other IT guys) and the guy has got talent too (beware, the clip comes in at a hefty 25mb):
That’s it for now, more is coming soonish
It has been a tad more than a week now, since my last intern report and I am finally finding some time to actually post something here.
The past few days have been busy; we have been doing a whole lot of testing, evaluating and fine tuning of one of the core components , but it is safe to say that the solution we came up with is working as expected, in fact, it is working so good that we are undershooting the projected and optimized reference values by anything between 16 and 25 per cent, hoah! to that.
Besides testing, we have also moved forward with a number of web-development related projects and I managed to convince my superiors to make use of ExpressionEngine, one of the web’s most powerful CMS as far as I know.
A few weeks ago, I posted on the topic of team dynamics and how important they are for the well-functioning of a group of people that are supposed to work together and now, after three weeks of working at xolo.tv, I can safely conclude that this team has an awesome flow.
Yes, even good teams have those moments where individual members get a tad cranky, but like in every good relationship, it is way better to talk about the things that annoy you than to keep them to yourself and, finally, erupt like a volcano and most probably damaging a relationship (for good).
It is also interesting to see that humans are not unlike dogs, in the way they approach each other: the first few days, I had the feeling that we were mainly trying to figure out what my position would be exactly, kind of like a group of dogs sniffing each other out and deciding if the other is a threat or an ally.
So far, I have not been bitten, so I figure they do not consider me hostile and judging by the stuff I get to do, I am actually getting the feeling that they are starting to warm up to me. And … let me tell you, it feels good to be appreciated, because that makes you want to perform even better, impress the others even more.
Yesterday marked the conclusion of our most recent project, the current batch of juniors at CMD Breda have now officially concluded the bigger part of their study and can now move on to internships, minors and other awesome stuff.
Yesterday marked the conclusion of nine weeks of hard work and lots of annoyances for just about everyone even remotely involved with our group.
As always, our group consisted of students representing the four different majors our faculty offers and that is where the problems began: traditionally speaking, a faculty like ours always attracts more media designers than technologists, there are generally more interface designers than marketeers / project planners and with projects that rely heavily on the technical side of things and good branding, this, eventually leads to problems.
It is said that the first few meetings of any group are essential. Think of two dogs that meet for the first time - they will sniff each other out, try to gain as much information about the other as they can and then move on. During the next meeting, they will have some sort of idea of what to expect and based on that will either take a friendly or hostile stance towards the other.
This is the very spot where it went wrong for our group. Our first meeting ended in a situation where no one was willing to be the team leader and I can understand that; after all, leading a group of five is no easy job, let alone a group of 32 other students, but in the end, if your major includes the very classes needed to lead a team, namely project management, team building and all, you should at least be capable of taking the helming and steering the group towards a mediocre final product.
Now, do not get me wrong, I am not bitter or harbor any hard feelings, not in the least, but I feel that there is a great number of things that could have, that should have been done better.
The biggest issue I have with this project is that we worked in teams of 33 people where everyone seemed to have the same voting rights. Democracy is fine and all that, but as long as everyone can veto many things, the outcome of a project will be uncertain.
I believe that, if the project were to have internal representatives that would be allowed to vote (and represent a group of say five or six people) and that those votes were to be considered final, that we would have gotten through the planning / brainstorming stage a lot faster.
Another pet peeve of mine is that our group had little to no regard for application development protocols. I do, of course, realize that with things like this, last-minute changes are part of the whole deal and I would not mind those changes if they were only to fix a bug or two, but if those changes include building new features, days after a feature-freeze has been issued, I get annoyed.
I get even more annoyed when the building of those features results in bugs that kill other, more essential functionality of the main application due to a lack of testing (which was my fault however).
I am a technologist at heart, I suck at designing and I know that, but I try to make up for that lack by knowing just about everything there is to know about the project at hand and I dislike it when people tell me to do things differently when I know that that my solution is going to be used in the end.
One such situation occurred with the building of one of our sub-sites; back in November, I suggested that we include a member registration system, because it would not make sense for everyone to be able to upload data to the site, but I was veto’ed against. A couple of weeks later, all of a sudden, the request for a member system came in and I had to realize it, long story short: I believe that I understood the way the whole thing would have to be set-up a lot better than those that actually envisioned it.
After weeks of work, much of it being redundant, as in: building features, removing them and rebuilding them, we finally entered the home stretch and with only a couple of days to go, I was confident that we would be able to pull it off (we did!), yet, for one reason or another, it had to be a lot more difficult than it should have been:
Everyone who has ever worked with a live audio / video feed knows that a script is an absolute must, not because I have a hard time remembering things (I do), but because it is essential for everyone involved to know when something is going to happen and how long it is going to last.
It is safe to say that the team involved with the live feed begged for a script, yet we did not receive one. Due to the shuffling of the various clips, we could not make our own, yet the team lead had the audacity to complain about the clips not being played out perfectly in the dry-run.
These things simply annoy me to no end and I am happy, very happy that we are finally done with it. I have learned a lot in the past nine weeks: a bit about streaming with the Flash Media Server and the Darwin Server and a whole lot about team dynamics and how the lack thereof can make everything exponentially worse.