Hello FreeRDP developers,

I would like to inform you about some new project of mine, which is going to
be called Screenary. Since this is my last year in Software Engineering, I
need to do my capstone project, which covers my last two semesters. There
are many strict requirements for the project, such as the amount of code
written from scratch, along with most of the new application being designed
as a green field (as opposed to brown field, where you improve an existing
application).

So here's the deal: I'm in a team of 5 students, and I didn't want to end up
tearing my hair appart with a project that would take my attention away from
FreeRDP too much. Due to the project requirements, adding new features to
FreeRDP itself would not have been acceptable.

So here's what's Screenary is all about:

Screenary is a new screencasting or real-time collaboration application for
Linux. It will make use of existing components from FreeRDP but it will not
be an RDP client. Instead, what I want to do is bridge the RDP protocol with
a new protocol designed to be more web-friendly. Most of the new code will
be written in C#, and the client will be written using Gtk#. This means I'll
need to bridge C# with the existing C libraries as part of this project,
which is a win for the entire FreeRDP project. I already started using
libfreerdp-rfx from C# for decoding RemoteFX.

You can find Screenary on github (project was barely started, nothing
interesting yet):
https://github.com/Screenary

The project will consist of three main components:

"Source": an RDP server running on ubuntu supporting RemoteFX encoding (a
very early prototype can be found, it's the current xfreerdp-server)

"Broadcaster": this component connects to the Source using RDP, but uses a
new "web-friendly" protocol for communicating with the Receivers.

"Receiver": client connecting to the Broadcaster to take part in a live
screencasting session, using the new protocol.

We'll be working on figuring an efficient way of implementing multicast and
using RemoteFX for screencasting purposes. Since we're designing the new
web-friendly protocol from scratch, it gives us a lot of flexibility.

Using current RDP specifications wouldn't have made this project fit for the
project requirements, which is why a lot is being designed from scratch
(hence the new web-friendly version of RDP).

I am *not* full-time on this, so you can expect slow developments on
Screenary while I will remain mostly focused on FreeRDP. Since it's school I
do not have much of choice. At least I figured out a way of doing something
interesting and potential useful for FreeRDP while respecting the project
requirements. I also need to avoid working too much on this and let my
teammates figure out the stuff and let them do their work.

It's not impossible that later on this project grows into a full-blown Gtk#
RDP client instead of the special screencasting-focused application we'll be
first developing. Having a Gtk# interface to FreeRDP would allow us to
provide a consistent interface to FreeRDP across all desktop environments,
which is a good thing. We could have the same interface on Linux, Windows
and Mac OS X, while also providing system-specific interfaces when there is
enough demand for it.

I'm just letting you know in case some of you eventually find out about this
and start wondering what this is all about.

Best regards,
- Marc-Andre
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2dcopy2
_______________________________________________
Freerdp-devel mailing list
Freerdp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freerdp-devel

Reply via email to