In der heutigen Zeit spielt die Koordinierung von verteilten Entwicklern eine immer größere Rolle in der Softwareentwicklung. Saros ist ein Eclipse-Plugin, welches unter anderem dieses Szenario unterstützen soll. Die Entwickler können mithilfe von Saros auch über weite Entfernungen gemeinsam an einem Projekt arbeiten. Im Moment ist Saros nur für Eclipse verfügbar, es wird aber an einer Portierung auf IntelliJ gearbeitet.
Wenn Entwickler zusammen an Quellcode arbeiten wollen, dann müssen sie dafür erst die benötigten Ressourcen austauschen. Bei größeren Projekten kann es dabei zu längeren Wartezeiten kommen, da diese Ressourcen erst archiviert, dann verschickt und dann auch wieder entpackt werden müssen. Während dieser Zeit müssen die Entwickler warten, bis sie anfangen können zu arbeiten. Um den Sitzungsaufbau zu beschleunigen, gibt es bereits eine Unterstützung für SVN-Projekte. Dabei benötigt der Saros-Client des Empfängers nur die URL und die Versionsnr. der Ressourcen und kann dann das Projekt über das Subclipse-Plugin herunterladen. Während einer laufenden Sitzung werden die Veränderungen an den geteilten Projekten mittels Activities übertragen.
Das Ziel dieser Arbeit ist es, den Sitzungsstart im Saros Projekt für den Nutzer möglichst kurz zu gestalten. Dabei soll die Zeit, die zwischen dem Absenden der Einladung und dem Zeitpunkt, an dem der Nutzer anfangen kann zu arbeiten, verkürzt werden.
Eine weitere Verbesserungsmöglichkeit wäre es, neben dem direkten Laden der Ressourcen aus dem SVN noch ein weiteres Feature für Git-Systeme anzubieten.
Der erste Teil der Arbeit besteht darin, einige Vorbereitungen an dem bestehenden Code zu treffen, um dann später die Activities für die Übertragung größerer Projekte zu nutzen. Zum einen müsste darauf geachtet werden, dass der Java Heap nicht zu voll wird. Ausgehende Activities werden solange auf dem Heap gespeichert, bis sie verschickt werden. Wenn mehr Activities erzeugt als verschickt werden, kann es passieren, dass irgendwann kein freier Speicher mehr auf dem Heap zur Verfügung steht.
Ein weiterer Punkt ist das Blockieren der Benutzeroberfläche während neue Dateien angelegt werden. Hier könnte man das Erstellen im Hintergrund ausführen und die Events, die ausgelöst werden, sammeln und gemeinsam freigeben. Dadurch würde der Nutzer bei größeren Projekten nicht unterbrochen werden.
Die Übertragung mittels Activities würde außerdem dazu führen, dass der Wartungsaufwand der Software leicht reduziert werden könnte, da die Archivierung nun nicht mehr benötigt wird und ausgebaut werden kann.
Zur Überprüfung der Ergebnisse dieser Arbeit wird regelmäßig die Zeit, die für den Sitzungsaufbau benötigt wird, gemessen. Hierbei werden unterschiedlich Nutzungsszenarien betrachtet.