My talk on the ZCA at Europython 2010

I gave a presentation on the Zope Component Architecture (ZCA) at Europython 2010 last Tuesday. In my presentation, I wanted to explain the core concepts of the ZCA in a way I would have appreciated when I was trying to learn the platform a few months ago.

A few years ago, in the early 2000s, Zope 2 was a large, monolithic framework which had blazed a trail in the Python world. Being there so early, however, meant that they had to invent many wheels along the way. This lead to Zope being viewed as a world unto itself, which was a perhaps extreme but accurate description in many ways.

In 2003 the Zope community realised this and decided to break the platform down into small, reusable components as well as bringing Zope closer to the standard Python way of doing things. This was the path which lead to Zope 3, a rewrite of the platform which reached version 1.0 in 2006. The ZCA is one of the core pieces of Zope 3, and a great exemplar of the componentisation itself. In addition to being the glue which holds together the pieces of Zope when running as the Zope platform, the ZCA is a small, easy to use component of itself, outside of Zope.

In the talk I try to explain this, and provide some examples of how to use the library/component. I go over Interfaces, Utilities and Adaptors and the way the ZCA uses them to create a robust component platform, which I believe should be more widely understood in the Python world.

The web as an ethical layer

Really excellent article about the web as more than the technologies, but about how it brings people together—and the issues we face in bringing this potential to fruition—from a someone who describes themselves as “not that technical”.

There’s a lot of talk about digital inclusion, about taxes to fund broadband and about universal access to the web. But it all misses the point. It was never just about having access to other people’s information. It was always about everybody, everywhere having the ability to add their thoughts, the things they know, to the web. Treating digital inclusion as a question of connecting pipes to homes is an easy mistake to make because it follows established patterns of water and gas and electricity and television aerials. But the web was never designed to be a broadcast / distribution mechanism. Digital inclusion doesn’t just mean everyone needs to have a receiver on their roof; it means they need access to a transmitter too. Without the ability to transmit, to publish, people just become passive consumers of other people’s information. And digital inclusion has to include the ability to produce as well as consume.

This really captures the nature of the web as a sharing medium, and how policy decisions are currently falling short. This pattern of policy happens because the government sees the web as a way to broadcast to citizens, often with the implication that it’s a cheaper means to do so. When the government talks of “connecting” to citizens using the web, there’s a long way to go before the connection goes both ways.

.:.

Governmental Hypocrisy

The governments of France, Germany, Israel, Italy, Ireland, Netherlands, New Zealand, Spain and the United Kingdom have jointly sent a letter to Google bemoaning the amount of data it collects and uses about its customers. Check out this excerpt below:

However, we are increasingly concerned that, too often, the privacy rights of the world’s citizens are being forgotten as Google rolls out new technological applications. We were disturbed by your recent rollout of the Google Buzz social networking application, which betrayed a disappointing disregard for fundamental privacy norms and laws. Moreover, this was not the first time you have failed to take adequate account of privacy considerations when launching new services.

For the UK government this is an almost unbelievable level of hypocrisy. While we have strong data protection laws, the government has a voracious appetite for information about us. The intense tracking of electronic communications, retention of innocent people’s DNA and the never-ending farce of the ID card scheme with all its biometric data collection paraphernalia are just three examples of the government’s over collection of data.

You could write a letter to the government containing the following:

However, we are increasingly concerned that, too often, the privacy rights of UK citizens are being forgotten as the Government rolls out new technological applications. We were disturbed by your recent moves towards intrusive ID cards, DNA retentions and communications tracking, which betrayed a disappointing disregard for fundamental privacy norms and laws. Moreover, this was not the first time you have failed to take adequate account of privacy considerations when launching new policies.

Cultivated Play: Farmville

Players of Farmville: It’s up to you whether you play, but at least knowingly understand how your social capital is being taken advantage of. Social ties, like health scares and baby care, are easy heart-strings for businesses to pull at and abuse. Beware.

Zynga has recently used Farmville to raise almost one million dollars to support earthquake relief efforts in Haiti. Social capital can allow organizations to do great and noble things, and to do so quickly and efficiently. Zynga actually began its charitable efforts with Haiti last fall, around the time my family began playing Farmville. Also at this time, Zynga was engaged in numerous “lead gen scams,” or advertisements that trick customers into making purchases or subscribing to services. As of November, one third of Zynga’s revenue (roughly eighty million dollars) came from third-party commercial offers, such as Netflix subscriptions that came with Farmville bonuses, or surveys that involved hidden contractual obligations. One user reportedly was charged almost two hundred dollars one month, as a result of cell-phone services for which she had unknowingly signed up, while following Farmville ads in search of bonuses. So many users were scammed, in fact, that Zynga and Facebook are now involved in a related, multi-million-dollar class action lawsuit.

The wheel keeps spinning, faster and faster. More people are signing up to play Farmville every day, as well as other similar Zynga games, such as Mafia Wars, YoVille, and Café World. Analysts estimate that, if the company goes public in the summer of 2010, Zynga will be worth between one and three billion dollars. This value depends in its entirety on the social capital generated by users, like you and me, who obligate one another to play games like Farmville. Whether this strikes you as a scam or just shrewd business is beside the point. The most important thing to recognize here is that, whether we like it or not, seventy-three million people are playing Farmville: a boring, repetitive, and potentially dangerous activity that barely qualifies as a game. Seventy-three million people are obligated to a company that holds no reciprocal ethical obligation toward those people.

(Plenty of sources cited by the original, I’ve removed the cites from this excerpt).

.:.

On the iPad

The question I think Apple asked themselves during the development of the iPad is this, “how can we make a larger, more general purpose computing device as easy to use as the iPhone?”. From this, there’s a grain of truth for those dismissing the iPad as just a big iPhone. I think a lot of people would like “a big iPhone”. No fuss and none of your typical computer maintenance, just apps to get things done.

In order to be easy to use, the iPad throws away many of the things we traditionally associate with computers. Apple are undoubtably taking a gamble by stripping down the computer so completely. No doubt Apple have removed things which are useful, but is this price worth the benefit of a much simpler computer owning experience?

Looking at the iPad, I see tablet computing’s next stage of evolution. Instead of trying to be a computer in the traditional sense, it tries to play to the strengths of the medium. What can we do better, and what should we throw out? Tablets have been hobbled by the misguided belief that they are just desktop computers with a different form factor.

I believe the iPad is better—and very different—to the tablets which have gone before. Why? It’s the software, stupid. Commentators are paying too much attention to the different form factor, rather than the different software. The iPhone is the same—the software that takes the device to new heights. In both the iPhone and iPad, software and hardware have been designed in tandem, each feeding into the other. The basic form dictates the software, of course, but the actual realisation, that we need a screen precisely so big, is driven by the software.

Previous tablets have tried to take the traditional Windows metaphor and translate it to a new medium, and because of this have failed. The experiment was worth doing, I believe, but personally, I concluded it was a failed direction several years ago. Taking an interface designed for precise mouse interaction and projecting it onto a device with a far less precise interaction mechanism—typically a stylus—was destined to failure. Previous smart phones fell directly into this stylus trap too, producing interfaces too fiddly to use on the move.

Creating software dealing in fingers and touches and swipes—physical gestures—and building hardware around this interaction style created the iPhone. It also removed the requirement for a dorky, easily lost stylus and instead made you feel like you were using something from the future. This is why the iPhone was a huge success amongst consumers. You felt cool rather than dorky with an iPhone.

People are excited about Apple’s products not because they are cool, or they look pretty. It’s because Apple have a history of tackling tough problems in novel ways which move the state of the art forward. Sure, there have been tablets before, but they have been unwieldily machines; excitement around the iPad is based on the idea that Apple may have got it right. There is no “reality distortion” field around Steve Jobs, just a string of great products which lead people to believe this one will be the same.