Abstraction and extraction: in praise of. Steven Pemberton, CWI and W3C In principle the advantages of abstraction in programming are well understood. Yet daily interactions with everyday objects can lead us to confuse the concrete with the abstract, and think that the thing we are dealing with *is* the abstraction. Getting the right level of abstraction can have profound consequences. I believe that there are things we are struggling with today that are the consequences of a mistake in an abstraction made in the 1970's (but I'm not going to tell you which here, in order to heighten the suspense during my talk). This talk will be a review of some abstractions we use and have used, and the lessons we should draw for the design of programs, programming languages, and yes, even the Web (but what's the Web except a different programming environment, right? We just get the data from the internet instead of the disk, and we output to the DOM tree instead of a screen, big deal! Or am I wrong?) Steven Pemberton is a researcher at the CWI, The Centre for Mathematics and Computer Science, a nationally-funded research centre based in Amsterdam, which was the first non-military Internet site in Europe. Steven's research is in interaction, and how the underlying software architecture can support the user. In the 80's he helped design the programming language ABC (which Python is based on) and this led to designing a system that if you saw it now you would call a browser, with extensible markup, stylesheets, a DOM, client-side scripting and so on (it didn't use TCP/IP though). As a result Steven became involved with the World Wide Web from the beginning, organising two workshops at the first Web Conference in 1994, chairing the first W3C Style Sheets workshop, and the first W3C Internationalisation workshop. He was a member of the CSS Working Group from its start, and is a long-time member (now chair) of the HTML Working Group, and co-chair of the XForms Working Group. He is co-author of (amongst other things) HTML 4, CSS, XHTML, XForms and XML Events.