The Linux port of The Server Framework is going really well and we now have investigated both libuv and epoll back ends. There's still a lot of work to do before this will be something that we're releasing generally but the client's that are working with us on this are really excited by how well it's going.

The massively modernised, and far in the future 7.0 release of The Server Framework will include the Linux changes and our 6.9.2 maintenance release is due for release in Q2; it's been a while since we last had a release but there have been no bugs reported and so there's not really much to release as most of the effort is going into the stuff that will eventually become the 7.0 release.

Our work with the large American postal company that will remain nameless is about to go into an extended pilot phase and we're working on last minute adjustments so that the new system plays nicely with the existing system that it will eventually be replacing.

The work with our Industrial Control Client in Germany is going really well. Phase 1 is complete and we've replaced the networking layer in one of their key pieces of software and refactored away the accumulated cruft from 30 years of maintenance. We have a shiny new testing system that we've written to help us compare the old message flow to the new message flow to ensure that we haven't changed anything that we shouldn't. This intercepts the network traffic and deblocks the messages for given test scenarios and then compares to the previous version of the code. Great for hassle free regression testing.

In summary, we're very busy doing what we love to do!

Busy, busy, busy...

We're going to be really busy for the rest of the year as we've just won a large contract with our Industrial Control Client in Germany. We'll be working on the systems that we've worked on for them before, adding new functionality and integrating The Server Framework into some applications that we haven't worked on before.

The Linux port of The Server Framework is going really well and we now have a server and client system running on Linux using our custom reliable UDP network layer. This integrates with the .Net Core integration we've been doing for the same client. The Linux work will definitely make its way into the main framework at some point; do get in touch if you're interested in this.
We're currently working on a proof of concept Linux port of one of our more complex server systems for a client. This is interesting stuff and surprisingly easy. Most of our framework code ported pretty quickly and now runs nicely on a test Ubuntu 16.04 box as well as on Windows. We're using CLion and CMake on Linux and this has provided a surprisingly familiar environment to work in. It's very early days but things look good and I expect we'll eventually do this work again properly and roll it out as part of The Server Framework. That's a long way off at present though.

We're also playing with .NET Core. The hosting story here isn't quite as neat as with normal CLR hosting but it's possible and this work meshes nicely with the Linux work.

We've just finished a nice new development of server software for a large American postal company that will remain nameless. This system deals with managing mail sorting hardware across America.

The WebRTC work rolls on and we're looking at doing a version in Go as a reference implementation before doing a C++ version for The Server Framework.

And finally, as always, we've also been working on several new releases of The Server Framework, a 6.9.2 maintenance release and continuing work on what could become massively modernised 7.0 release (which, of course, keeps slipping).

WebRTC, TLS hardening and Scalable game servers

This year is proving to be yet another busy one for us. We've continued to work with Eonic Gaming on their servers for the Turf Battles Triumphus 3D MMORPG and we have done quite a bit of work with various clients regarding hardening their TLS servers. The main focus though has been digging into WebRTC data channels.

The WebRTC work is nice, though fairly complex. It's based on lots of RFCs and the initial learning curve was pretty steep. WebRTC data channels, in themselves, are pretty simple, but they're built on a huge stack of other technologies: SCTP, DTLS, ICE, STUN, etc. Getting all of that working to the point where we get a simple "hello world" message from browser into the server and back has taken some time. There's lots of open source stuff out there but much of it needs a lot of work to understand fully as documentation, comments and naming often leaves a lot to be desired.

We're looking at producing a highly scalable implementation of WebRTC data channels from the ground up for a client who wants to add this kind of connectivity to their application servers; WebRTC is often used for peer to peer connections where both peers are browsers, our system has the server as one of the peers. Right now we're doing a custom implementation specifically for this client but eventually we expect to produce an Option Pack with a slightly more general purpose WebRTC implementation.

As always we've also been working on several new releases of The Server Framework, a 6.8.1 maintenance release and continuing work on what could become massively modernised 7.0 release.

Things have been busy!

We've been busy with lots of custom development work over the last few months. Working with Eonic Gaming on their server for the Turf Battles Triumphus 3D MMORPG. Working with one of our security company clients on their video streaming server, adding RTP over TCP and HLS streams to the RTP over UDP of the original design. Improving the performance and functionality of the pluggable server that we wrote for one of our other gaming clients as they scale out into the cloud. And doing some consultancy for existing clients who want to expand their understanding and usage of The Server Framework.

The video streaming work was fun and went well and it was nice to have a well specified project using internet standards that we could really get our teeth into.

The work for Eonic Gaming has been especially interesting as we've worked closely with them to address their initial scalability issues and switch from a single server solution to a more traditional MMORPG style multiple server design.

We've also been working on several new releases of The Server Framework, one in the 6.6.x tree, a new, slimmed down 6.7 and some investigation into what could become massively modernised 7.0 release. But we'll see...

Now that things are finally becoming a little bit calmer our focus is on getting the 6.6.5 and 6.7 releases finalised and out the door.

New IoT fixed-price development project

We're pleased to be working with one of our secretive security company clients again to provide a custom video streaming server for them. The server will enable them to record and stream live video from their network of "internet of things" connected devices.

As with all M2M and IoT projects this system needs to be able to scale to many thousands of concurrently connected devices and we're pleased to be able to use The Server Framework's new Streaming Media Option pack to be able to provide a complete solution quickly and cost effectively for our client.

Eonic Gaming - Turf Battles Triumphus - Server development

We're pleased to be working with Eonic Gaming in the development of the server for their Turf Battles Triumphus 3D MMORPG.

Eonic have selected us to replace their existing networking code with The Server Framework to improve the stability and performance of their server.

New fixed-price development project

We're pleased to be working with VEXIS Systems Inc. again to extend the high performance pluggable server platform that we built for them back in 2008 using The Server Framework. Later, we extended the server to support the hosting of managed plugins with our CLR Hosting Option Pack and some custom development.

This time around we're adding more new functionality to make it easier for them to integrate with external systems.
We're pleased to be extending the M2M server that we developed for this client back in February last year.

They're adding lots of interesting new functionality. Should be fun!

Happy New Year!

2014 already. Where does the time go?

We're still very busy with work for our Industrial Control Client but since they needed to get us SC level security clearance for this project if we told you any more we'd have to kill you...

Our work for online gaming clients is diversifying a bit as the project we've been working on for our secretive Online Gaming Company matures into a solid cloud-based SAS gaming server and we start to work more with the recent influx of Korean games companies that are now using The Server Framework.

All of our clients are always great for driving changes into The Server Framework and now that we have the big release from 2013 bedded in we're expecting to put out several smaller releases this year. The focus is still on adding functionality and improving performance so that it's easier than ever to build high performance clients and servers.

And, of course, we're still very interested in getting involved with new client projects and building even more high performance server systems.