Why do we need a Mashup Markup Language? One reason I can think of is to take away the grunt work. By providing a high level description of a mashup, we can have a generic engine call the required services, perform aggregation/correlation of data, transform it and send it to the client.
What is MML?
It is high level description of a mashup. An abstract view of how one or more web services are aggregated and transformed to produce the data for the mashup client interface.
How is MML Used?
It is consumed by a mashup engine which reads the description, and orchestrates the service required to produce the mashup data.
Nice to see that Duncan Cragg thinks that the right way to do AJAX is declaratively. I agree.