Web-induced Attention Deficit Disorder

I am currently subscribed to 103 (mostly technical) blogs and websites via Google Reader. If you think that's insane, then you're right.

Truth is, I only read a tiny amount of articles, let's say 5%. Most of the time I just scan for interesting titles, read a few sentences here and there, and then mark everything as read. This is not true for a small subset of blogs, that I actually enjoy reading, but the vast majority of the content is just wasted on me, even when it's about topics I care.

The problem is that blogs, websites and other online news outlets amplify the attention span deficit that lives - and grows - inside everyone of us. There are always things flashing around, links to click, pictures to look at... it's like a luna park with lots of attractions that you cannot miss because they're so shiny!

At some point, I even find myself interested in an article, but end up not reading it because it's too long and I couldn't make it past the first link. You know, TL;DR.

This doesn't happen to me with books (I mean novels and such). And I only read books on my Kindle.

I think the key point is that reading on a e-book reader is almost the same as reading a paper book. It doesn't have anything flashing around, there are no links to follow, and pictures are very limited. In other words, a book, either digital or analog, allows you to focus precisely on what you're reading, without distractions. It's just you and the book.

I am not sure that a full-fledged tablet like the Kindle Fire allows to read a book with the same level of focus and the same lack of distractions. There is a browser just a couple taps away. There is email. There are movies, and YouTube. There are Facebook and Twitter. Even ignoring the fact that reading on a LCD screen causes much more fatigue to the eyes than reading on a e-ink device, I strongly believe that if you like reading, then you don't want a tablet with the entire Internet tempting you to lurk around, letting your brain lose - and waste - the concentration level that is so hard to achieve and that only a book can give you.

Do Developers Care About Windows Azure?

The 7th edition of the UGIALT.NET Conference will take place in January. It's a free, independent conference born after the ALT.NET movement, held twice a year usually in Milano and Bologna. It's a very nice thing to have, also because attendees get to vote for the talks they want to attend. This year more than 50 proposals were submitted, for a total of 19 slots available, so that's a huge result by itself.

I submitted my talk proposal on Windows Azure, and more specifically on how to build a simple Google Reader clone on Azure. The project would have allowed to discover all the major features of the platform, so I thought it would have been a nice fit.

To some surprise, my talk was not among the top 19. "OK," I though, "perhaps it was too boring". The problem is that none of the proposals on Azure were selected. Of course, they might have been uninteresting, boring, or simply less interesting than the others.

But then you have this:

How can it be? Is it just that Italian developers don't care about Azure? Or are they already experts? Or, perhaps, is Azure not "ALT" enough? More generally, how can a talk on Node.js* be more interesting, let alone useful, than one (not necessarily mine) on Azure? Have conferences become a way to hide ourselves from technical reality and learn things that are not that useful, but are funnier?

Perhaps it's just this one conference that is weird, and it is to some extent because the voting system makes the agenda absolutely incoherent and spotty. I'll keep my eyes open to see if the same Azure-is-boring phenomenon happens at other events in Italy.

*) Remember, it's fucking JavaScript!

SaaS = Code + Data?

This idea keeps coming back in my head lately. It seems obvious now, but it took me a while to put everything in the right perspective.

When you build a SaaS, it all starts with code in a number of programming languages. Over time, the system starts accumulating and crunching data. Before you even notice it, the data becomes part of the application, and it's at least as important as the code itself.

This reasoning actually works on multiple levels.

The first is rather obvious: all new versions of the application must be able to read, use and alter all existing data. If you do things properly, this is not really a problem, but actually a result of your development methodologies.

The second level is about how existing data subtly forces you to do A instead of B. To slightly adjust your route (both technical and commercial). To do something not quite in the way you'd like. Existing data is a living, growing entity that you, as a developer, must carry on your shoulders. Again, if you do things properly the weight, while still not being nil, is surely tolerable.

The third level is simple but vital, and gets more important over time: without the data, your application is worth nothing. Everyone focuses on technology, on innovation, on UX, and on marketing. The problem is that once your SaaS has started getting traction, and you're seeing a considerable number of people using it, the value starts shifting from the code to the data the code handles. Should you lose all the data, you'd be dead in no time, however innovative your application is.

This is particularly important for SaaS startups. The typical process that gets advertised so often is this:

  1. Build a minimum viable product (MVP)
  2. Get market validation, possibly adjust your route
  3. Get funding precisely because your service/application/whatever is innovative in some way
  4. Scale

The point is, once you start scaling, the value shifts gradually from the code to the data. Sure, the data is nothing without the code, and the code works perfectly without the data (typically on your local machine), but from a business perspective the code becomes worthless without data.