As part of the list of things I would like to see in C# is
support for tuples in the language. They would show up in a
few places, for example, to return multiple values from a
function and assign the results to multiple values at once.

In recent versions of the framework there is a new datatype
called Tuple, it is used to hold N values, the Tuple for N=2
looks like this:

We are moving quickly to complete our 3 support.
Microsoft is not only providing us with test suites for
Moonlight but also assisting us in making sure that flagship
Silvelright applications work with Moonlight.

When it comes to prioritization of Silverlight 3 features,
we are going to focus on getting the major applications that
users want to use first. Sunday Night Football,
the Winter
Olympics and Bing's
Photosynth support.

Smooth
streaming works really well. Visit the site and test
the immediate seek, and play with the bandwidth limiter to see
how Silverlight/Moonlight can adapt the video quality based
ont he bandwidth available:

Moonlight 2

Moonlight 2 is the result of love and passion to bring
the Silverlight runtime to Linux.

Moonlight is built on top
of Mono
2.6
runtime, Cairo
and Gtk+ and today supports
Firefox on Linux. We are hard at work to support Google
Chrome on Linux as well.

Updated Patent Covenant

We worked with Microsoft to make sure that Moonlight was
available to everyone on Linux and BSD.

Culturally, we started on two opposite ends of the software
licensing spectrum. The covenant that was issued for
Moonlight 1 and 2 covered every user that used Moonlight, but
only as long as the user obtained Moonlight from Novell. This
is a model similar to how Flash is distributed: there is a
well-known location where you get your plugin.

The open source world does not work that way though. In
the open source world, the idea is to release source code and
have distributions play the role of editors and curators and
distribute their own versions of the software.

Microsoft's intention was to expand the reach of
Silverlight, but the original covenant was not a good cultural
fit. We worked with the team at Microsoft (Brian Goldfarb and
Bob Muglia's teams) to make sure that the covenant would cover
the other Linux distributions.

The new patent covenant ensures that other third party
distributions can distribute Moonlight without their users
fearing of getting sued over patent infringement by Microsoft.

There is one important difference between the version of
Moonlight that will be available from Novell and the version
that you will get from your distribution: the version obtained
from Novell will have access to licensed media codecs.

Third party distributions of Moonlight will be able to play
unencumbered media using Vorbis, Theora and Ogg inside
Moonlight (and Silverlight), but for playing back other
formats, they will have a few options:

Moonlight 3 and Moonlight 4 Collaboration Agreement

If our experience with the positive feedback that we have
gotten from MonoDevelop is of any indication Silverlight 4
will enable a whole new class of cross-platform .NET
application development to take place. Like nothing we have
seen before.

We are thrilled to be working with Microsoft to make sure
that we can improve, fix and fine tune Moonlight to meet those
requirements and to do so in a purely open source fashion.

MonoDevelop code is now LGPLv2 and MIT X11
licensed. We have removed all of the GPL code,
allowing addins
to use Apache, MS-PL code as well as allowing
proprietary add-ins to be used with MonoDevelop (like
RemObject's Oxygene).

User interface improvements: the first thing that
MonoDevelop users will notice is that we have upgraded
the UI to fit modern ideas. We borrowed ideas from
Chrome, Firefox, Visual Studio, Eclipse and XCode.

ASP.NET MVC support, you can now develop, debug and
build ASP.NET MVC applications from MonoDevelop.

New T4 Macro processor (Text Template
Transformation Toolkit) integrated directly into the
IDE (Mono's T4 is also available as
a reusable
library for use and abuse in your own programs).

Moonlight Project Support: you can now build,
debug and run Moonlight applications using
MonoDevelop.

I felt like an archaeologist trying to formulate a theory of
what had happened there. I loved the feeling of trying to put
together the story from a partial puzzle.

The patent infringement lawsuit against Apple was a list of
accusations and patent lists that Nokia claims that Apple
infringes with their iPhone. But behind the background
information provided in the legal document and the list of
ways in which Nokia felt Apple had wronged them, it was
difficult to put together a narrative. Scanning the
discussion forums for clues did not lead to anything
significant beyond the superficial analysis.

As a software developer, and in particular a Linux software
developer, I have mixed feelings about this lawsuit. Apple
has not been exactly a model citizen when it comes to
interoperability between Apple and Linux products while Nokia
has embraced Linux, embraced open source development and
contributed to the universal pool of software. But I also
found myself enjoying using my iPhone and building software
for the iPhone.

I wanted to give both companies the benefit of the doubt.
What had happened between these two companies that had forced
Nokia to sue Apple?

There were various possibilities.

The lack of immediate response from Apple suggested that
they were caught unprepared, but that was just a small chance.
Probably the companies had been on negotiations and these
negotiations broke off when they could not reach an agreement.
The iPhone had taken the world by surprise, nobody had seen it
coming and nobody had envisioned that Apple would not merely
do an incrementally better phone, but it would be many times
better than anything available at the time.

When Apple launched the iPhone, Steve Jobs wanted everyone
to know that iPhone's innovations were patented and that Apple
planned to prevent others from copying those ideas.

Apple's
response to Nokia is a very educational document. It
reads as a crash course on patent litigation when it lays out
Apple's strategy for their defense. It is also a crash course
on the patent system and how corporation work with
international bodies to develop technology. But most
importantly for me, it fills some the gaps of what happened
behind the scenes.

We do not know yet which company approached the other first
about patent infringement. It could have been someone on
Nokia's board that decided to extract some revenue from their
patents to compensate for their business losses or it could
have been initiated by Apple's team notifying Nokia that their
new phones used some idea from their phones.

What does emerge from Apple's reply is that Nokia tried to
use the patents that they had pledged to license under
reasonable terms to get themselves rights to Apple's juicier
iPhone innovations. Nokia's pledged patents might be
formidable patents and key to the implementation of certain
cellular and WiFi communications, but by being pledged under
F/RAND terms to various industry consortia they lost a
significant amount of value. But what they lost in value,
they made up in volume. This is in stark contrast with
Apple's un-pledged, pristine, fully proprietary patents that
Nokia and everyone but China are trying to get rights to.

As of now, you can submit your talk proposals! We want to make
this a fun room and we want to accomodate all kinds of
talks. For that reason, one thing we're experimenting with is
having dynamic timeslots. Only want 15 minutes? That's okay!
Need an hour? We'll see if we can squeeze it in! The most
important factor is that it's interesting and fun.

So send in your proposals, be it large earth-shaking
projects, or little hackery experiments that make you giggle
with hacker joy, we want to hear it. We have the complete
Sunday to schedule. Still have questions? Email me: ruben @
savanne be.