Posted in MatriX, Silverlight, dotNet, xmpp on January 29th, 2010 by gnauck – Be the first to comment
It looks like many developers have problems to setup and debug Silverlight applications with MatriX.
There are different ways to setup a XMPP connection with MatriX
- direct socket connection on a port within the Silverlight port range
- direct connection over a HTTP proxy with the CONNECT command (HTTP tunneling)
- BOSH connection
Silverlight has different network security access restrictions for sockets and web requests. If you choose option 1 or 2 then the socket policies apply, if you choose 3 then the web request policy apply because MatriX is using .NET WebRequest classes for the connections. Read more details about the Silverlight network security access restrictions here.
Silverlight allows socket connections only on ports 4502-4534. For option 1 and 2 this means you have to configure your XMPP or proxy server to listen on a port within this port range, or use other technologies like port forwarding to redirect connections to the XMPP default port 5222. Before a socket can be connected the Silverlight runtime requests the policy on the target site at port 943 and checks the permissions.You have to run a policy server which must be able to serve requests on the same domain as your XMPP or proxy server is hosted.
When using BOSH and crossing domains the Silverlight runtime requests a policy xml file from the root of the BOSH Uri. This means you can connect to other XMPP servers (not under your control) only if they host a policy file on the root of the BOSH Uri which allows you to connect. Or you run your own BOSH server which is able to connect to any XMPP server in the federated network. Punjab is a good choice for the latter.
Example:
when the BOSH Uri is http://example.com:5280/http-bind/ the Silverlight runtime request either a Flash policy file at http://example.com:5280/crossdomain.xml or a Silverlight policy file at http://example.com:5280/clientaccesspolicy.xml when crossing domains.
To avoid cross domain requests on your own server you can either
- choose a XMPP server which allows you to host your application on the BOSH Uri
- proxy from your web server to the BOSH server e.g. with mod_proxy in Apache.
Crossing domains would be much easier if all BOSH components allow you to serve the policy files at the root of the BOSH Uri.
All this policy stuff makes not much sense to me, but this is what Adobe and Microsoft came up with. So we have to deal with it.
Posted in MatriX, compact framework, dotNet, xmpp on January 4th, 2010 by gnauck – Be the first to comment
I am pleased to announce the availability of MatriX Mobile for the .NET Compact Framework. This is the 3rd product in the MatriX series. Now MatriX is available for all major .NET platforms.
- full .NET Framework
- .NET Compact Framework
- Silverlight
This allows you to use one API for Desktop, Mobile and Web Development and reuse lots of your code to shorten your development time.
Download Matrix here.
Posted in MatriX, dotNet, xmpp on December 2nd, 2009 by gnauck – Be the first to comment
I am pleased to announce the availability of MatriX for the full .NET Framework.
This is the second product in the MatriX series. The next step now is MatriX mobile for the .NET Compact Framework which I expect to be released Jan 2010. This will allow you to use one API for Desktop, Mobile and Web Development and reuse lots of your code to shorten your development time. The version number was adjusted to 1.10 to be in sync with MatriX for Silverlight.
Download Matrix here.
Posted in Silverlight on April 1st, 2009 by gnauck – 2 Comments
Silverlight 3 has been announced at MIX09 for late summer this year. According to Microsoft the Silverlight browser plugin is installed on 300 millions machines, Adobe Flash on 950 million machines. So Silverlight catches up here very fast.
Silverlight adoption has the potential to happen very fast because of the following reasons:
- There is a continuous trend towards rich Internet applications. Of course good developers can create great web applications with HTML, DHTML, Ajax, JQuery and other technologies. But with Silverlight every average developer is
able to do the same in less time. This brings products faster to the market and gives you an advantage over your competitors.
- Silverlight opens rich Internet web development to all of the 4+ million .NET developers worldwide without learning new technologies and programming languages.
- Another big advantage with the upcoming Silverlight version is that applications can run out of the browser as regular (cross platform) desktop applications without no code changes.
- You can also reuse most of the code to build regular .NET WPF desktop application, or vice versa. It is pretty easy to port WPF desktop applications to Silverlight, because Silverlight is using a WPF subset for the GUI.
For existing c# or vb .NET developers Silverlight is very attractive because existing skills can be reused with the same base class library without laerning new technolgies. When do you start Silverlight hacking?
Posted in MatriX, Silverlight, dotNet, xmpp on March 28th, 2009 by gnauck – Be the first to comment
I am happy to announce MatriX for Silverlight 1.10.
New additions in this version are:
- Multi User Chat
- Vcard
- Avatars
- many other small improvements
Here you can see a screenshot of the Silverlight MUC client with avatars.

Silverlight MUC
You can see the Silverlight MUC client in action here.
Posted in MatriX, Silverlight, dotNet, xmpp on February 27th, 2009 by gnauck – Be the first to comment
in the last days I was working on MUC extensions for MatriX.
If you have the Silverlight Browser plugin installed you can test the Silverlight MUC client here.
I will add more MUC features to MatriX and the client, and make a new release of MatriX soon.

Silverlight MUC
Posted in MatriX, Silverlight, dotNet, xmpp on February 17th, 2009 by gnauck – 4 Comments
I am pleased to announce the first release of MatriX for Microsoft Silverlight.
MatriX is a XMPP library for Microsoft Silverlight web development written in c#.
Currently MatriX supports the XMPP core. I am working hard on adding many new features and XEPs. You can expect some updates with new features in the next weeks.
Download MatriX here:
http://www.ag-software.de/index.php?page=matrix
look at the demo client here:
http://matrix.ag-software.de
Posted in MatriX, Silverlight, agsXMPP, dotNet, xmpp on January 17th, 2009 by gnauck – 6 Comments
I was working a lot on the Silverlight version since the 1st announcement. You can expect the release very soon.
What happened:
- I renamed the project from agsXMPP2 to MatriX.
- The core of the Silverlight library works also under .NET, Compact Framework and Mono. Future versions of agsXMPP will use this core as well and will benefit from all new cool .NET features like Generics, LINQ, LINQ to Xml and others.
- BOSH support was added
- Proxy support was added
You can test the basic Silverlight2 example client here:
http://matrix.ag-software.de
You should be able to connect to any XMPP server on the federated network which needs no SRV lookups. In the next version I will allow you to specify the server hostname on the login page.
All comments and bug reports are welcome.
Posted in agsXMPP, xmpp on October 30th, 2008 by gnauck – Be the first to comment
We released version 1.1 of our agsXMPP SDK.
During the Secure Communication Week we tested with several customers the TLS encryption for the Compact Framework which is now included in this new release.
Download the new release here.
Posted in agsXMPP, xmpp on September 21st, 2008 by gnauck – 1 Comment
The first Secure Communications Week is coming soon: October 4-11, 2008.
agsXMPP still doesn’t support SSL and TLS when targeting the .NET Compact Framework, because there is still no SslStream available.
Our contribution to the Secure Communications Week will be to implement TLS support for agsXMPP on CF before the Secure Communications Week starts on October 4. Stay tuned for more follow-up.