Posts Tagged ‘london’

20091021 BAA sells Gatwick. So what?

BAA has been forced to sell Gatwick airport because of the so-called monopoly of BAA over London’s main airports. All right, I’ll tell you a secret (only if you promise not to tell anyone else): I don’t think that’s going to change anything.

The monopoly term doesn’t mean anything to airport customers, unless you make an effort and try to imagine the Monopoly London special edition board game, being sold in a Hamley’s duty free shop, surrounded by Paddington bears or something.

Are we now going to take the airport into account when buying plane tickets? Are we going to say things like: Oh, for my flight to Valencia I would love to fly from Gatwick, because it is now owned by Global Infrastructure Partners and paying them my airport taxes makes me feel great? For sure we are not. We’ll say something more like: I would love to fly with no stops, for a reasonable fare, and I would also like to be able to get to the airport easily and go through the queues in a whiz.

That clearly shows that the owner of an airport doesn’t affect people’s choice as much as geographical situation and flights availability and/or pricing. For example, getting to Stansted is a pain for me. As a consequence, I always try to avoid flying from there. If BAA had sold Stansted to GIP, would I use Stansted now? You guess it: no, I would not. On the other hand, if the only way to get to destination X is flying from airport Y, customers have no choice but to use that route. Is that a monopoly too? Or is it more of an offer and demand issue?

Operators also manage retail space in the airports. BAA is famously known for having provided more retail space than check-in and security space in Heathrow, and so the queues were huge and forced people to stay more time in the airport than what was in theory needed, but can anyone seriously believe that any other operator would not have tried to maximize its benefits as well? Specially if you bear in mind that many times customers have no other option but to fly via a certain airport, as I pointed out above.

The only way I can really imagine people are going to start considering the airport operator factor when buying a ticket is if the airport charges begin to greatly vary amongst differently owned airports (for example, if BAA airports begin charging double the amount compared to GIP airports). But as far as I know, these taxes are regulated and capped by an civil organisation, and can’t be arbitrarily increased by an operator out of its own will. So the only thing they can do is decrease them in order to make themselves more attractive to customers. And taking into account that for certain things we will always be in a recession/credit crunch/need, I don’t think they are ever going to reduce anything :D

In short: yet again much ado about nothing!

20090714 “tube” sources released

Tube by xplsv

I began working on my new, shiny notengine (full name: thisisnotanengine) a few months after vslpx was released. It took some ideas and knowledge from that code base but it also introduced some new concepts and changed others. The result, now that I see it from the distance, is a horrible amalgamation of misunderstood C++ concepts and unoptimized code. Not all is due to my inexperience in C/C++ but also because of the (you guess it) lack of time. Too many things to do, so little time.

Because there are so many amazing demos out there already, one strives to improve and get better with each release, and while there’s no harm in that, there is a problem if you force yourself to release something just because there’s a party, and not because the production is mature enough. So you adjust your schedules to something artificial like the demoparties and end up half finishing things, spending too much time tracking stupid bugs which wouldn’t happen in a normal, less stressful, situation. Or they would happen, but you would be able to recognize them because you would be awake and alert.

Going through the source code for this demo, after a couple of years of not touching it, has been an incredible eye opener. I have found several fundamental design errors, lots of direct attacks to the DRY principle and tons of unfinished, half baked stuff. All because there was an imminent party and a demo had to be delivered. And while the main concept of this demosystem is quite good, the implementation is too cumbersome and am not particularly proud of it. I wouldn’t recommend to anyone learning how to code a demo to try and learn from those sources. But I guess if you’re curious at to how it is done, then they should be fine :)

The demo itself doesn’t look that bad, and it decidedly moved some people at Breakpoint’06. It was also funny to record the videos and stuff, and I even toy with the idea of making a sequel, probably using this song of mine inspired by Valencia’s underground rail.

PS: I’m not being very original lately, am I? But once you start something, it must be finished! Oh, and let’s start a count down too: 3…

20070313 London Ruby Users Group brings you back to uni

After three failed attempts, I managed to go to yesterday’s lrug meeting. It was intended to be a kind of experimental collective code review, so people would contribute with pieces of code and get it dissected and improved collectively. There was an special obsession with Hashes, most of the code submissions were improvements and/or workarounds for the Hash class. I understand it. Hashes are cool! The other topic was using continuations for (I believe) solving sudokus. Backtracing and fibonacci were also mentioned in the session, and Rob McKinnon made one of his quick presentations, this time proposing a way of getting data from different sources into a generic shareable format (and using upcoming as an specific example, and hpricot and hashes, of course!).

I must say it was pretty interesting, even if I got lost at some points (my ruby knowledge is still too poor). I specially got lost with the continuations stuff, which at the same time brought me back uni memories, of those times in which I skipped some lessons and then went back to the classroom with lots of knowledge gaps and tried to follow the teacher (with no luck, usually). Hehe! But fortunately, this time the teacher was interesting and deserved to be listened to.

This reminded me as well of the beauty of programming and talking about pure concepts and abstractions. It was ages since I felt that, so thanks to all who did it possible. I think we all need a good dose of abstraction from time to time. Keeps the brain working.

One of the books which was strongly and fervourously recommended is Structure and Interpretation of Computer Programs, which I believe I read some years ago (again, in the uni :-)). So you can see, ruby is not about rails only!

20070307 Being understood

(This is an extended version of the minispeech I gave at BarCampLondon2, “Being understood”, and here are the slides just in case you’re willing to see some bullet points goodness).

We are failing to make ourselves understood. We can be speaking the same language as our listeners and failing miserably in communicating even simple concepts properly.

I’ll show you a couple of real life examples, taken from a web design and development forum:

  1. Thread A: New website by xyz.
    When approaching a new website by xyz announcement, different people pay attention to different stuff. Designers which need to work with HTML tend to focus only on the design and the flashiness of the end result. On the other hand, developers and people which are really involved with the bare bones web tend to look minuciously at the implementation details and the use of technology, kind of ignoring the end users of the websites.Hence, you get answers like these ones:

    • Designer: it’s so cool! I like the design!
    • Concerned-with-standards person: it sucks! they use tables and it is not valid! they should use layers and CSS only!

    In truth, that website was visually great but the implementation was a terrible abomination.

    Normally there are lots of lurkers in the forums and they tend to read way more than they write. Occasionally, someone which is just starting in web development read this thread and got confusing information, which led to the next thread:

  2. Thread B: Help with a CSS design!!!
    I’m trying to do a CSS-with-layers-only design but I’m stuck on something. I’d like to show a list of prices, it should be something like this:

    LOREM IPSUM
    Dolor 10
    Amet 12

    I thought of solving it with something like this:

    <div class="table">
    	<div class="first_cell">
    		<div class="blue_3px_border">
    			LOREM
    		</div>
    		<div class="blue_3px_border">
    			IPSUM
    		</div>
    	</div>
    	<div class="row">
    		<div class="value">
    			Dolor
    		</div>
    		<div class="value">
    			10
    		</div>
    	</div>
    	<div class="row">
    		<div class="value">
    			Amet
    		</div>
    		<div class="value">
    			12
    		</div>
    	</div>
    </div>

    … but I’m having some problems for getting it all well aligned…

    Obviously someone got terribly confused here. There are real examples, like the main page of any forum using phorum’s default skin, which is built using div’s instead of using a table for what is a good table use.

And then we also have the magic word: accessible. That word. Each time it’s used nobody gets its meaning right. You can find discussions like this one:

  • this site is not accessible
  • … but I can access the site, what’s wrong with it?

… which should start ringing all the bells in our brains but instead of stopping and trying to clarify things before it’s too late, we just contribute to increase the uncertainty and fear with more misunderstandings, like for example these ones which are very common:

  • cookies will steal all the data from your computer
  • javascript will steal and publish your compromised pictures in flickr
    • and tag them
    • and geotag them
    • and send an e-mail to all your friends
    • ok, just joking!

There are multiple sources of confusion for each person, even technically savvy ones. While browsing any website, we get bombarded with lots of acronyms and terms which not only can be completely unknown to us but also increase the probabilities of misunderstanding the rest of the content, because we get confused and our brain is still trying to figure out what those terms mean. Think of things like:

  • RSS
  • CC
  • XFN
  • ATOM
  • Tag cloud
  • XML
  • AJAX
  • Web 2.0
  • W3C
  • WSG
  • WAI
  • etc

Is this something to worry about? I would say definitely YES, specially if we look at some absolutely subjective facts that I’ve come up with:

  • Only 5% of sites do not make my eyes bleed when looking at their source code
  • 60% of people claiming they follow standards do not really understand what it means
  • Is the result of trying to follow standards worse than a step backwards? Look at all the cases of:
    • divitis < div class=”table”>< /div>, because someone understood he should just use div’s in a tableless design
    • classitis < h2 class=”title02″> < /h2>, < div class=”h2″> </div>, because people don’t understand html semantics nor css really
    • self proclaimed “valid html generators” CMS’s and alike, e.g. Joomla!/Mambo, Postnuke, vBulletin, phpBB, subdreamer, etc – the default template from each one of them may pass an automated test but it’s not “valid HTML”, and not semantic HTML either (which I believe is way more important than passing an automated test). Unfortunately, people with limited technology knowledge may choose one of these believing they are doing the right thing, thus contributing to the global disaster.
  • W3c icons are perverted. Most of the times you find them in sites generated with the aforementioned CMS’s, when not in governmental websites, and a simple test shows zillions of errors, which creates these two feelings amongst concerned users:
    • they are kind of useless
    • they guarentee nothing

    Ultimately, non-technology people do not have a clue about the meaning of those icons, which are part of the confusing elements I referred to before

So what can we do?

I think we, as technologists, need to take a different approach. Although we are responsible for building the www, it’s not us who are going to use it most of the times. Common people are going to enter the content, to play with the systems, to use them, and maybe extend them. If we don’t make ourselves understood and aren’t able to educate them on how to do things properly, we are failing.

We need to think out of the box, putting ourselves in their place, and trying to understand their goals and concerns. And while some of their concerns may look ridiculous to our eyes, we must be patient and not overreact. It’s like the “THIS SITE SUCKS” response to a posting in a forum. It doesn’t help, it’s not constructive, and just produces frustration.

But convincing people to use something abstract is very, very hard. Nobody’s going to take your new and shiny standards-based approach if they have something which works for them and you just have philosophy and words theorising about the benefits of standards and all that stuff. You need to demonstrate movement: be an early adopter, stop theorising and start building practical solutions right now. Show real applications of standards which give real advantage over the old practices.

(Obviously, you’ll need to assume risks but that’s part of the game.)

Finally, the most important rule of all is: be accessible – yes, YOU! Do not scare people away with a cloud of meaningless (for them) words when they come to you, and speak their language, not yours.

————————————————–

Some context:

This was inspired by an article which Ricardo wrote, “The accessibility is inaccessible”. After lots of comments and the discussion which followed outside the blog comments, and reaching a point in which I was almost getting angry I realised there was something very wrong about the whole discussion, and the “Think outside the box” sentence made me understand why me and the rest of the people which was against Ricardo had got it wrong, because we were failing to think in “non developer terms”. Extrapolate it a bit more and you’ve got a fantastic source for a BarCamp talk :-)

20070219 BarCampLondon2 :after

Being understood image at BarCampLondon2

If you read my Thurday’s post, I was terribly undecided about what to talk about (doesn’t sound too good, heh!), but after forcing myself to revisit all the special and interesting issues or topics I have been involved in lately, I finally decided that I really needed to talk about communicating and more specially, making yourself understood. So here they are… the slides for Being Understood by Soledad Penadés. (I presume they are not self explanative so I’ll probably extend them in an article soon).

The presentation itself wasn’t nothing spectacular but I think it went terribly well, given that it was the first time I spoke to strangers and in english. We were a reduced number of people so we could have some interesting chat instead of being a traditional speech, which was pretty cool.

I tried to use keydoob for making the slides; keydoob is a little thingy that (obviously) mr.doob prepared for a couple of presentations he did, but as I couldn’t manage to find certain files and also I was beginning to feel the panic attack at 3AM I decided to go for some HTML+Javascript+CSS. I used Script.aculo.us and Prototype for the little Javascript involved, which could be thought of as absolutely overkill but anyway, it was a quick hack ;-)

The good thing of this is that as the slides are HTML with a css style sheet only for screen, if you try to print them they will appear as raw HTML with all the content still looking meaningful. In fact, if you use Firefox and have the Web Developer Toolbar installed, try deactivating all the linked styles – it should do :-)

BarCamp itself was great. It was very very motivating to see so many active people, so many presentations lined up, on so many different topics. I really liked that willing-to-share atmosphere. And in a way, it also confirmed that dream idea we had once of organising an event like that, where people could organise themselves and their timetable, wander around the spaces and join whatever they liked more. And the next half an hour, maybe present something.

So, congratulations and thanks to all the organisers and attendees for the insane amount of work required for bringing it all up and running :-)