TPAC 2007: Session 7: Lightning Talks
/!\ This session transcript needs to be edited. Please consider updating this entry
Steve: It's my pleasure to turn the podium back over to my friend Matt Womer, who is gonna a leader, a cool distinguished lighting talker and the last session of lighting talks.
Matt: All right. Just before we get going here, be aware this time going to be very strictly timing these, at five minutes each, that includes questions. If you think you're going to have a question, get on the queue, get in there early. Also be sure to vote. The easiest way is to get on the agenda page and click "vote" link. And vote for your favorite "Wild card session". There're four of them to choose from. We are going to leave that open right up until ??? the last session right beforethe last person. We have a timer in the audience, the speakers that will be able to see. Here we go. Let's give it another shot.
John Schneider: All right. Thanks very much. My name is John Schneider. I'm going to talk about efficient XML interchange. Just to answer a question before even we have it. Efficient XML interchange is all about expanding use of XML to new environment where it's not used today. There's nobody talking about replacing XML. Just be clear. So, let's start with great moments in evolution. I love this cartoon. Any resemble to working group members is strictly accidental. Apologies in advance. A lot of times it takes the right problem at the right time, to spur on the next series of evolution. I know some of these fish that are looking up there, well, legs, lungs, I don't know, fish have never had legs and lungs before. We clearly don't need legs and lungs. Well, you know, the polar icecaps are kind of melting and we got global warming, by the time we develop ??? thumb we just can be back in the water anyway. What are we doing here? What I wanna talk about is the web is evolving and it is moving into new territory. If we look at XML as a species, it's been extremely successful. We've got universal adoptions, we've got ??? communities, we've got rapid evolution. When your look out through the ocean is full of XML and the ocean is full of all kinds of XML data. However, if you look at the broader picture, you'll find that there are in deed, these islands and landmasses where is on XML. And in paticular we are not finding a lot of XML where it might saturate available ??? because item No.1 those are not allowed to be available ??? or No.2 there is a lot too much messages go out there.
Or Similarly we're not finding it in environments that might saturate available computing resources. Because, again, there are not allowed computing resources available like a case of mobile devices or things like that. Or at the same time there's lots of information being processed. We're kind of swapping those computational resources. We've got a lot of use cases out there that would really like to use XML, really like to use all the technologies that we create here, really like to use all the products you guys are building but they have difficulty doing it. What happens?
Evolution kicks in. What we see starting to happen is all these things start popping up called binary XML, they resign to let the people go out in use XML in the environment where they need a little more efficiency. Well, there's an awful a lot of these things. In fact what we are finding is such properly more binary XML formats than actually are use cases and one for one use case doesn't work for the other use case, they don't all work together, things like that. So the W3C, look at this, that can't really be that great. Is it possible that we could actually have one binary XML standard that actually works very well for all these use cases. In which case everybody become very interested in finding out what we had been smoking, because clearly this the a very difficult problem. The good news is, what I wanted to tell you today is the W3C has done what they do very well. They brought together all of the experts and 9 months, 147 pages detail analysis later, we did find one that actually works well for a lot of the use cases there. If you have any problems sleeping tonight, you can go out and read our 147-page-document and you can read the format specification ??? on the web. We have a whole bunch of documents that are coming out that would be easier for you to digest. A primer coming out to describes the ??? , the best practice is far how you use it and immigrate into your environment and impacts document as well. In short, come on out to the islands, the weather is great, we'd like to see you and hear your comments.
>> [ applause ]
>> So there were no questions?
Nobody in the queues. Actually, John's going to go again. He originally had a lighting talk with ??? for the first session which got bumped. we're going to have him do his second one now. Remember, if you are going to have questions, if you think you're going to have questions, get in the queue now, with two minutes remaining I’ll start emptying the queuess. Thanks.
Thanks again. Let me get this set up real quick.
John Schneider: I’m still John Schneider. This time, I'm going to talk about something called ECMAScript for XML. This is something I worked on a few years ago. ECMAScript is the international standard script for java script. It's been adopted into those standards in 2004 and there are a lot of implementations out there and one is going to be shown you today is open source implementation from Mozilla project.
To get started. I want to look at a very simple XML problem. Let's say I have an XML document that has a purchase order. I got a customer, collection of items, and all I want to do is compute the total price of all the items and add an element to the end that inserts the price there. If I were a java script developer, wow, that's easy I know how do this kind of thing, I do this kind of things all the time with java script objects. All I have to do is write a for-loop and calculate the quantity that I want and add a new property to my object just by using the assignment operator. That's really easy. Bring it on, give me a XML tool and I’ll have it done in ten minutes. So let's get on XSLT. This wasn't exactly what he had in mind. XSLT is great for a lot of things but this doesn't really match up with what his first impression was based on knowing java script. I did cheat here. Usually you require a few slides to do what he wants to do in XSLT. Let's give a tool closer to home. Let's give on the document object model. This is actually better, this is more familiar to him. He doesn't need a pile of manuals necessarily. I does have objects and for-loops and method and properties like that. But not a lot of talking about prices and quantities and orders and items here, most of we are looking at are the Tags and children and elements and things like that. What else might we have to give him. Well this is cool thing called SVG dom, a kind of light.
Because now if you deal with an SVG document you are start talking about things with the words that make sense to you. Talk about points and rectangles and heights and width things like that. The problem is that he can't SVG done because he's not using SVG.
What can he use and is there any way to have a way to do something like this that works for all XML. Let's take a quick look at E4X. I'm going to show you a real simple demo here. What you're looking at is the Mozilla implementation, it's a java script interpreter, so I can type any arbitrary java script expression here and evaluate and show me the answer. I need a chunk of XML. Here's my purchase order and E4X all you have to do to manipulate this is bind to variables.
Now I just assign it to the variable. If I want to get something ???, I'm saying Order.customer and there's my customer. Or I can say Order.item and I get my list of items. Or I can say Order.item.price, I get my prices or I can ask for the third one, if I want to.
Now dealing with the XML, manipulating XML is very very easy. I can even do hit like, order.item and get me the ones where price is greater than 30. There's new constructs in java script that allows you to manipulate all this. Now let's get the problems handled. How would I solve the problem of generating the total of an order. Total equals zero for each item and order.item. Total plus equals item. Anybody else want to type for me?
>> You have a question.
>> Not while I’m typing. So there's the answer and then I want to put that in the documents and I can just say order.total equals total. And if I look at my document again, I see the calculated total and have an element at the end that appends it to the document. The code is exactly the same code I would like to manipulate a java script object. That is point. And this works for any XML and it's built in java script ???
So that's really what I want to show you today. Anybody that's looking at Ajax this is a great solution for Ajax and we are looking at W3C. For mobile Ajax it's a good solution as well because you don't necessarily need a full java script implementation to manipulate the XML from there.
>> Let's get our question in here.
[ applause ]
>> Would it be useful to have a look at purchase order problem of yours from the full context of not just how do I get a summation, which is easy, but if you look at the script that you need to actually make sure that that total is accurately calculated as you ???? user experience, you find that you calculate the line totals for all of the rows of the purchase order. Someone creates a new row because they'd like to order more stuff, and the total ??? calculated on the tax and the grand total and all of that stuff. You get a lot of complexity not just from the script to do the simple adding problem, but from all the place you have to remember you're touching the ??? call that script every time anything changes.
That seemed to add more complexity to the problem?
>> It would certainly add more complexity to the problem. Based on my experience, I would expect that would make ??? even more attractive because you still have more metaphors for doing exactly those things thatyou're looking to do. All you're really doing here is you're saying, what's familiar to a scripter, what knowledge do they have when they come to the table. The things are intuitive to that scripter I gonna be based on the context what he already knows. So let's give him familiar metaphors for doing the things he wants to do. If it's more complicated than the very simple example I did in a couple minutes, hopefully that would make it even more easy for him as a scripter somebady who knows about do I script to manipulate objects. But I would say, check it out and take a look at if it might be interesting. A lot of people are aware of it and some people probably aren't.
>> Thank you.
>> Our next talk as soon as the technical problems are fixed. Charlton Barreto from Adobe.
We're going to swap the order.
All right. My name is [ indiscernible ] I'm with Opera Software. I'm going to talk about how to change the face of the web. So I ??????????????? audience, I'll show you "got the ????". I'd like to start we are gonig to continue spark CSS, with we ???? recomendation ten years ago, more than ten years ago now, I was the W3C Staff member at the time and has a privilege of working with CSS in the working group to get it out in implementations including Opera ???. It's been great. We've had one of the best things ???? happen ???????????????? still have this year in the same garden, what we did was take care a simple HTML document and had a ??? to write the stuff for it how can style this document and make it to become, to look more interesting than the plain HTML.
Here's the same document shown in using different style sheets. What they're doing here, though, a simple trick actually, using background images. The text here, the overhead, the headings and etc are images. They are not using fonts for this. You can't select this text easily and do something intelligent. You have to transfer the images. The problem here is fonts aren't available. There are only available on the machines, those developer aren't available from the web. I think we need to fix this. I think fonts are really important. This is really how you communicate visual design in many cases. So looking at what we have then, what do we have on the user side in the browsers. Well, over the course of the ten years, we have worked to make sure CSS is implemented interoperably. It's been long and hard ???, but we now have a bunch of properties that we can use to select text, manipulate text, style text, ??? text, they work pretty well, the ones listed here at least interoperably between all modern browsers. So, we have a wonderful engine sitting there in all the laptops I can see you have at least one compliance CSS rendering engine for all this text. The problem is we really don't have many fonts to work on. We can't make the beautiful designs. This is pretty much the fonts that are universally available on all the machines ??? out there.
I guarantee you 99% of the text you are reading off your screen is shown in these fonts. Microsoft released these to the web ten years ago. It's been a wonderful program. Unfortuatelly, they didn't continue it but the fonts are still available. That's good. These fonts do real work. We need more after ten years. Designers are getting a little bored and would like to see more. Let's see what's out there. How can we ??? this? Are there fonts on the web?
Yes, there are thousands of thousands fonts on the web. These are the fonts in user side. This is the ten fonts that are universary available. This is what we have on the server side. These are the fonts that I took one font as the many of them. This is fonts ???.
I found 2500 font families that are available over http and here are the names.
[ LAUGHING ]
>> It's a ??? resource that's available that we can point to if we have the option. We currently don't but we're working on it. Let's go on talking about. Not all the fonts are beautiful. I'm not sure if you would use giant tigers. ???????? These are some of the fonts starting with g. The GUI ghost ???, maybe, maybe for some Halloween invitation. The point is not all those 2500 fonts you want to use but some of them are truely beautiful, some of them are stunning and some of them can very much improve the visual design on the web. How do we do this?
The solution is in CSS 2.0 already actually. It describes how to link to fonts. Basically, you make a mapping from a family name called good fish in this example. And give it the URL. So, we thought the problem just like we would solve on the web by pointing to them. You can also import a style sheet to link to this. Does it work?
>> Yes it works. We have implementations now. These are designs I put together and see how this is implemented in safari. This is nightly builds of safari. I'm demoing safari on stage. I can't believe it. This is actually doing web fonts. It's actually fetching out, going on the web and fetching fonts realtime, as I speak. Showing it. Do another one for the heck of it. We also have prints, a batch formatter that can do the same thing and create PDF documents from it. So it works and you can fetch these programs from these URLs. We hope to see more browsers supported in the future. Thank you so much.
>> At this point, it looks like ??? is winning the wild card vote. So if you want to come on that get already the talk. Also, I'm going to try to show these slides.
>> Welcome everyone to my lightning talk on architecture for the new Internet based on web 2.0. Want to introduce you today, to myself ??? from adobe, I've concentrated on a number of products that focused on richer user experiences and enabling these through different web services and web technologies. The challenge that we have today with the web is really information overload. We have people who are overloaded with information coming from multiple sources and multiple media. It's difficult to communicate with someone through all these noise. How can we enable people to build experiences that are more engaging, more effective and consequently are able to do it with the same assets and same tools across all media?
This can be prints, this can be television, this can be consumer electronics, mobile phones and PCs. So, one of the trends we are seeing now is something called web 2.0. ??? princples really are like more than technology, its princlpes and practices tie together sites based upon the following which are really separation of dot and interface.
The transition of websites and functionality does becoming competing and computing platforms that enable web applications to provide greater user experience to end users. Also, it's a social phenomenon in bracing an approach to generating and distributing web content. This is characterized by open communication, de-centerization of authority, the freedom to share and reuse and now the empowerment of what's known as markets as conversation.
It's also enhance organization and categorization of content with emphasis on deep tracking. So, when we want to enphasize web 2.0, the main thrust of it is software be on a single device.
It's a series of patterns that enable, for example, gaming and offline web. What we know is synchronize web, we have seen multiple people synchronizing state. We have appliances and media devices that are now being able to expose the functionality through Software-as-a-Service. We have request-response as the ??? ??? protocol, we have broadcast for media to music as well as to mobile devices still which have go through request-response.
And we have subscribing push which is the GPS, the same time we have other patterns that drop out of this. For example, persistence rights management. What do you do with the content that you have once you hand it over to another party. How can you restrict or limit how it can be distributed and used once it's left your hands?
>> So the patterns are a way of methodology behind them are way of capturing web 2.0 knowledge being able to apply them to not only web technologies but the way that they are assembled and used. You start up the realization that you have a model or you have a system of its uses and from these you can drop out of them reference architectures to which you can actually build implementations and exact or ??? patterns. You will find four or five common things from each of these things and ??? you can develop abstract model which is really reference architecture that describes a purpose how each component fits with one another and how they're employed. For example, in the housing industry which is where the original concept pattern dropped out of. You have ??? model of foundations, walls, roof and no matter what you do, if dealing with a particular rule, a particular structure, or even a block or wall structure the same pattern applies. So, you can see how by comparing similarly than with web 2.0 examples you can see how architectural patterns can be distributed still out of these examples and modeled based upon the concepts to enable them. So from here we can have conceptual architecture that's based upon each of these models. For example, if you look at the photo approach you have a pattern known as folksonomy dropping out of this. For the web 1.0 example you have a pattern when you take a photo, upload it to a server and have other users interacted.
Now we want to be able to add ????? we want to able to search upon that information, we want to be able to build collections and groups of these. So, from here you can see that you can develop a pattern from which you can build technologies and the next steps from these is really to be able to take these patterns, these models, these concepts, these architectures and start bringing them toward implementations and standardization. There's already a body of work on it's way with web API and web application formats. Through this I want to invite everyone to be able to start contributing to these directions and initiatives for developing new and richer interaction models. Thank you.
>> [ applause ]
>> Please remember to queue up during the presentations if you have any questions.
>> Now it's Raman's turn.
>> Keep coming. All right. Okay. So the thought underlining this talk originally started in my head and listened to the excellent Tim-and-Tim panel at the last AC meeting, this was Tim O'Reilly and Tim Berners-Lee. And a lot of these thoughts are actually follow-up thinking based on what I was thinking, listening to both Tim's talking about that. So I flip to my first slide. I promise you this is not a marketing talk even though it's full of marketing terms such as rich web application. Have you ever seen the pro web application? Probably, write one and call it a poor thing.
But, so, also be aware that a lot of my view of web architecture and what the web 2.0 is comes from my believe that the web is more than screen deep and that probably is because I have the advantage over you of not being distracted by jumping ??? on the screen, other random URI effect. Web 2.0 to me is all of building web things out of web parts, and I think that is a crucial difference from the previous generation of the web. So the 90s, when ??? are doing first from the web. We would get very excited when something showed up on the web. The web 1.0 was about bringing useful content to the web. Web 2.0 in some level, is now that you have a critical mass of useful content on the web. You can then start building web things out of web parts. That is right so important that things be URI-accessible.
[ indiscernible ]
So while I was listening to the Tim-and-Tim panel, my immediate reaction was well, clearly the web 2.0 the relation was invented by non-mathematicians because good mathematicians would have it in web square. Perhaps, that is also inconsequence of the fact that html is the other poor rendering language and is incapable of in the other library rendering a superscript. We've got web 2.0 ???????. The answer to what comes after web 2.0, if we say web 3.0, you ??? gets sent to the back of the class of marketing guy. Now, so flip to te text slide. What all of us perceive today's web 2.0? combinations of useful content, user interface is, in fact, rich and interactive. Where we are aggregating things, we are integrating things. And so we say this is web squared. Now is the answer web 2.0 followed one, if you said that you get become the engineer department for the marketing guy who said 3.0 was to follow. So flip to the next slide. Here is what I really think though, ( laughing). So the successor of the Web 2.0 are web squared in my opinion is if you take capital w as the set of all things that are web addressable, all things that are url addressable.
Then there is nothing callee of circle think about ???? Combinations. Good mathematician ??? once define one of the integer, two of the integer and define the ??? all integers are done. And so there is nothing special about ??? combinations which means that you can do view-to-view mash-ups and again data-to-data mash-ups and you can do them more than two at a time. In fact You can take any pairs, any numbers of combination out of those useful things.
So what you get is amazingly large set. Now if I could do WS-Adressing, I would start telling you how big the universe was. The universe is a remarkably big place. You can feel like ??????????? the vortex at this point. So flip to the next slide. If two to the web is what we are actually heading for, this means I'd actually have ??? achieve something that I’ve always wanted which is the web, the way I want which is the web you want. In fact 2 to the web is so big you can actually throw a few more universal quantifiers in there. And there is actually web every which anybody ever wanted at any given time. ??? the story of the mobile web. Do you have the web, you want to view it in a manner that is useful to you, a manner that is convenient to you. Now well 2 dot web happen for free?
I believe not. Flip my next slide, just my previous slide. A couple years ago at an AC meeting, I pointed the mash potatoes for lunch and I said in terms of raising that fraction of computing you have to do match-ups such that what you did not end up with a GUI mess. You actually need a handle back to the potato where the mash up came. What that entails is actually doing a clear separation of content and interaction as the previous speaker pointed out.
In fact, He actually saved me a lot of time because he said a lot of the things I had to say in my three minutes. The reason why mash-ups work today is because either by extremely intelligent design or by pure luck we have designed the underlying framework of the web correctly. For instance, a foolish way of doing a google maps mash up, might be to take a map tile, take that jpeg, draw all the data markers that you are going to draw based on some other data source and produce a jpeg and ???
And if you did that, you would lose because then you would not be able to mash-up and mash-up again something else. So, this is why we need ???? ????? and if you do this right we will indeed get the second coming of the web. This is my final slide. You can think of that slide as the second web taking off. You can also view it as a slide that summarizes how I came to Boston. So, Hubble walked me onto the plane, the United ??? flew the aircraft, mash the two up, this is clearly a mash up you don't want. That's the dog through meet Boston. That's all I have to say.
>> [ applause ]
>> Great. No questions either. Thank you very much. Sure.
>> I thought you were supposed to pay for fonts. How does that work if you are getting them from a URL?
>> I’m going to be short. That's a long discussion perhaps. But there's a lot of copyright content on the web, photos and images and text and it's all copyrighted and commercial no ????. There's a lot of free stuff too. We found ways to deal with it. I think we can find ways to deal with it fonts as well