Mix:UK 07: Sneak Peeks

Bamboo flute playing with the audience.

Demo of 3D application showing someone's head captured with an MRI, followed by a foot, with bones and flesh being coloured. A sneak peek within us.

Sea Dragon: How to deal with high resolution images, that will be included in Silverlight 1.1 [EDIT: This is the technology used by PhotoSynth]. This lets you stream high resolution images. Demonstration of a commercial for a car that lets you zoom in very deeply until a corner of the image reveals text and a dashboard.

Technology to deliver ads. Project Gatineau is part of adCenter. Some of the demo should be available in beta by the end of the month. Through a report, you can see graphs based on the age of users, which is collected through LiveID.

There's also visualization technology which lets you see where people navigate. There's also a marketing campaign which shows a timeline.

There's a treemap visualization of traffic. This provide tools to let a web site owner to know where people navigate. You can subscribe for the beta on the advertisement web site.

Simon Peyton Jones from Microsoft Research does a presentation about the multicore challenge. Because of the increase in the number of cores, processors are not getting faster anymore. So you need to do task parallelism.

To do parallelism, you need to use concurrent programming objects that have been the same for 30 years, with no progress.

What's wrong with locks? First you can forget the lock, and you have a race condition. Or you take them in wrong order and you have a deadlock. Condition variables get threads to block if someone forgets to notify. And error recovery is very difficult. But theres worse. Locks are absurdly difficult. Sequential code is doable by undergraduate, locks and condition variables done right gets you a publishable paper at an international conference.

Atomic memory transaction: If we could wrap code inside an atomic clause, there would be all-or-nothing semantics: That's the Atomic from ACID. They execute in Isolation. And there's no lock.

How could it work? With Optimistic concurrency. Execute the code without taking locks. Each read and write in the code is logged to a thread-local log. Writes go to the log only, not to memory. At the end, the transaction tries to commit to memory. Commit may fail, then transaction is re-run.

How to do blocking? You could add retry. Retry says "abandon the current transaction and re-execute it from scratch". The system could keep a reference to all the reads you did and only re-exeute the transaction when one changes.

Locks don't compose well. If within an atomic code block there's a request for retry, the whole transaction retries. They also compose well with choice, which lets execute either a segment of the code or another. If code1 retries, execute code2. If code2 retries, the whole transaction will be retried.

There's a run-time cost, but a compiler technology and hardware support can reduce it a lot. It's better to have a correct program than a fast program. Finally transactions can even be faster as there's no locks and it's more fine-grained.

Graphs shows that it's actually faster than fine-grained locking, while being more scalable.

Atomic blocks will be a step forward. IT's like using a high level language instead of assembly code. It's not a silver bullet, you can still have concurrency errors. You can still introduce bugs, but they're much more interesting bugs.

There's a implementation available today in STM Haskell: http://haskell.org/ghc Theres a tutorial on STM in the book beautiful code And there's other papers at http://research.microsoft.com/users/simonpj/

Demo of a video tool that lets you drag and drop videos on a timeline in low-resolution, done in Silverlight with Sharepoint integration.

Expression Web 2 supports PHP!

LiveStation: Silverlight application streaming video from a peer2peer network. There is no browser!

There's a game coming out soon: Halo3! With actual footage from the game.

[EDIT: And finally, we've all received a copy of Vista Ultimate and a copy of Expression Studio! Which is fabulous considering I moaned about wanting a license to Expression Studio at the dinner the night before!]

Technorati Tags:


Mix:UK 07: Cloud versus Client

Panel debate. [EDIT: You'll have to excuse me but too many names to write down.]

Chairman: First question, for Danny that comes from Google that worked on Gears. Danny: One of the first question is, what if you loose the connection? You have offline storage. Google Gears have that, Isolated Storage in Silverlight is another one. When you look at rich applications, versus rich apps on the client, you always need a backup plan for offline. For a game, where content is downloaded, you can run offline. For a big database system like email, you can emulate or proxy until you go back online.

ScottGu: The concept of offline storage is an interesting one in the web. It's usefulness is questionable, because of interop. When you build apps, you have a responsibility to make it work. It can be daunting if a new browser come, etc, if you want to guarantee availability.

Danny: I think it's a question of how in the long term we want the browser to involve.

Speaker 5: Offline issue is less a problem because silverlight streaming is highly redundant. Writing is on the wall for traditional hosting. If it's highly available, and can be delivered in the cloud, it lower my cost, why would I need traditional hosting?

Michael Ford: I commute 2h a day. I have a 3G card. I use Google reader, it's integrated with Google gear, download the feeds and as the connection goes in and out the connection is seamless. In my company we're working on a desktop application that is computationally intensive. What silverlight lets us offload the calculation engine on the client. It's also better security as it runs in a sandbox makes it interesting.

Rob Blackwell: What bothers me is the user experience piece. The evolution has been to provide richer and richer interfaces. If you look at the horse power of chips and networks, everything is available. We're nearly at the point where it's an exponential curve. We're going to see tremendous increase on the client and people will want to increase the quality on the UI, like HD DVD. When I go on holiday i easily fill 10GB.

Chairman: Angus arrived.

Danny: There's two points. The client cloud offline storage there's two model. First there's a copy of the client, or there's a cache on the client. You still need to think of it being on the cloud. As PC and devices use expands, people have access to the Internet on many different devices. Their personal life experience is available on all this, this is very empowering.

Public: We do that on email, flicker, etc.

Danny: How long after gmail did someone hacked it for a GDrive.

Public: How do you keep people confident with storing their data in the cloud?

Speaker 5: There's a lot of issues with that and it all comes down to terms of services. Service agreements are usually missing, you can contribute with terms of uses that don't guarantee you'll get your data back. Microsoft does a lot of work on that.

Michael: I have a gmail account, I archive everything, but I always have half an eye that someone is keeping it.

Rob: What about the enterprise scenario, they're not always technologically savvy.

Danny: With Oracle, if you stop paying, they take your data away. With the advent of larger data centers, on top of that there's SO. Microsoft has audits about privacy but thats just because of antitrust. There should be audits for everyone.

Public: Large amount of need for space is copyright material. If we move t the web, who controls that, if they move copyrighted dvds, music, etc.

Danny: On the thousand people uploading the same CD, there are tricks and techniques to recognize patterns. Don't know how many data centers do that. If it's cruelly high security type storage that most vendors don't do, theyre not the same bits because partitioned. There should be personal backup copies as per the law so shouldn't be an issue.

Phil Winstanley: Copyright is a big issue. Cloud based projects go and create mash ups. People can create more and share more, rather than distribute songs like they used to do.

Public: What about mesh computing and going on other machines.

Speaker 5: Silverlight streaming is about storing and delivering. I get the ability to build applications on top of other platforms that i couldn't have done on my own. It provides a model for distributing computing.

Danny: The mesh computing causes an issue if there's a single point of failure thats covered but if your connection go down you're screwed.

Public: What about WiMax? I have 250Gig hard drive on an ipod, connect it to the network. If you have enough bandwidth at home you don't need the local storage. But if the connection goes down, you dont have it.

Danny: And the more bandwidth available for you, the backbone needs to be able to scale. Not sure if the economics work.

Public: You're held hostage by people providing the bandwidth. They want a share of it for high bandwidth providers.

Dany: AT&T blames google for that situation. If google makes money out of ads on youtube then they should pay a share of the money.

Public: We're on a technological rift. We were client-server. Then the web. Now we put the execution engine back on the client, stil going to the servers. What about an execution platform on the crowd.

Michael: I prefer client applications to web applications. I don't think the browser is a fantastic platform for a rich client. With silverlight its getting better but I need my calendar always available.

Public: Why use google reader instead of outlook?

Michael: Outlook? Ouch. No there's probably clients I could use.

Speaker 5: It's different this time becase there's a huge network. Now were looking at the web as a platform. We have more functionality and services.

Danny: There's a balance that's hard to drive in either direction. There's more processor time available than a user will use at any time, whereas how many technical problems fit into a mesh network. It doesn't work on little probems very well.

Phil: Browsers are not designed to do what we make them to do. We can't wait for the browser to give the functionality anymore. Thats a fact of development.

ScottGu: The browser has a lot of challenges. From the distributed perspective, the browser changed some things for the better. Each app used to be a silo talking to one database. Now you can link to a blog, to a profile, my mom using an app doesn't know using the application goes to the web. Silverlight, flash or server processing. The web taught us asynchronous programming in a distributed way. The expectation is for the app not to freeze. Considering how wide is the network we work on. You gonna see people use AJAX, client, Silverlight, Flash, and combine them. The end result will be richer than it's been on either the server or the client.

Danny: Cross domain security for the browser. The browser is secured for cross domain. At the time it was a reasonable compromise, vertical and monolithyc, except viruses. But vendors have evolved faster the browser and we now hit the issue.

Speaker 4: If you use the conchango application on the USB stick, its going online for some services, but it works offline. If you have a client running many operating systems then you want the browser. If you control the platform, you can do client. With Silverlight you have an easy way to leverage your assets.

[EDIT: Missed a question there]

Public: What can the panel say about issues with the cloud?

Danny: Issues with the cloud, there were vulnerabilities, then they could get a huge amount of data in a very short time. That's why datacenters have proactive security, and kill parts of the network as needed.

Angus: There's a bot that's more powerful than the fastest supercomputer in the world. That's waht happens. Security: first version of facebook. Viral invites of people, the installation of the application exponentially.

Speaker 1: What happens with privacy, there's been a couple of password. Did the password come back or is it a new password. If it comes back, it's been stored unprotected. What if someone hacks in the system, suddenly they have all the passwords.

Danny: On the same vein, to do our Live Services available to developers, we have to do these exercises, the user has to see the data transferred. That puts the load on the user and makes the process more difficult.

Angus: It's at the detriment at the user experience. Nothing can be rosy when you share a bed around.

Public: TKMaxx had issue, it's not only the cloud, it's the same issue.

Public: Originally, we did online bank access. They now send card readers to swap your card and PIN [EDIT: SmartCard]. But on the other hand they send faster. If i'm in the USA I can't. The very big commerce sites will start doing propriotary ways.

Public: The net will end up in anarchy and end the human race.

Danny: I'd like to comment on the behavior changes. We see that already. The young generation have a completely different view of their personal data. Things like myspace, they don't have much worry about who see their data. There's already a cultural shift.

Phil: People are more open, they write a public diary 16-24, and what they put in there is quite, hum, interesting. Personal knowledge of someone is very powerful.

Public: Cambridge people were showing themselves on pictures getting drunk and they got fired.

Rob: My father used to distrust banks, and keep the money under the mattress. There's been a change there.

ScottGu: Same issue existed 10 years ago. Now they just take this for granted. If a company wants to stay running they have to protect my information. Today there's a lot of issues with law firms, can you buy people's private data. That's going to be an interesting shift.

Angus: Some company wants to spend money to know me to tell me what I want.

Public: From a disaster recovery point of view, with the cloud everything is still available. If you need high availability you're better off on the cloud. Access is not an issue.

Danny: In your home network you have the same reliability issues. You share documents but if a machine goes offline or your wifi goes offline you can't edit your word document

Angus: I think replication across the cloud is the killer application.

Public: Is there a way to have server only code?

ScottGu: First, can we have a core framework, with core set of libraries? That's what we use in silverlight, Server Core in Windows Server Core with no GUI, with IIS. You can't run .net code yet but we'll see in the future. You'll see more factored versions. Silverlight is the first version where we pulled all these things out.

Public: There's so much data now compared to a few phone numbers before. Young persons now just drop their email address when there's too much junk. Data becomes very disposable. As we go on how do we deal with that volume of data ad use it to our advantage.

Danny: I think someone said that information available in our day to day life per person is equivalent to one you had at all 10 years ago.

Public: 8 or 9 years ago, it was LiveJournal, then myspace, facebook. But they change, trends change. Wikipedia may be available for a few years.

Public: How do we get around legal issues across boundaries, data stored in the US about users in Europe for example. How does that work with a cloud.

Danny I do know that companies specialize in offshore data.

Phil Winstanley: mp3.com has shown that it was legal in their countries. It's unresolved.

Angus: if you shift a lot of data to China, its going to be expensive, you're better off having a datacenter there.

Danny: As for corporate use, privacy and protection, security metrics will be about IP addresses and MAC addresses access. As part of SLAs and Terms of Use, there will be clauses about where the data have to be stored. It's building fences that data centers traditionally don't have.

Michael: its no more of a problem if a small company starts trading in another country. Like antifascist laws in Germany prevents you from providing Nazi content.

Danny: Can a local market censor for everyone what one country sees.

[UPDATE: Added names for speakers and corrected some spelling mistakes]

Technorati Tags: ,


So far so good...

Lot of typing but its worth it. Hopefully people will find the content useful. Note that I mostly retranscript what's being said, so when I type I its not me talking. My comments are in bracket with a big EDIT: in the front :)