Email to Torsten Weber
Feed Icon
.NET User Group Leipzig

Welcher Freiberufler oder Manager benötigt heutzutage nicht mehr denn je eine hohe Mobilität? Eine der häufigsten Fragen dabei ist, wie Microsoft Outlook synchronisiert werden kann. UMTS, WLAN, GPRS und Co. sind in Deutschland gut ausgebaut und in allen größeren Städten verfügbar. Das ist nicht die Problemstellung, sondern wie der Inhalt eines Rechners mit einem anderen synchronisiert werden kann. Die Standardantwort: Microsoft Exchange. Doch geht es nicht einfacher, kostengünstiger und smarter? Ja, mit SYNCING.NET.

Funktionsweise von SYNCING.NET

SYNCING.NET arbeitet nach dem Prinzip eines Peer-to-Peer-Netzwerks und hat gegenüber ähnlichen Lösungen wie von Vaita den Vorteil, dass keiner der Rechner als Server fungieren muss. Das heißt, sind beispielsweise bei nur zwei Rechnern der Rechner A und Rechner B nie gleichzeitig online oder nur kurze Zeit, funktioniert eine Synchronisation mit einem Peer-to-Peer-Netzwerk nur sehr schleppend oder gar nicht. In diesem Fall wird ein Rechner C benötigt, der entweder als Peer jeweils mit A und B immer wieder in Kontakt steht oder als Server fungiert und immer an ist. Wenn der Rechner C nicht existiert oder zum Beispiel wegen den Stromkosten nicht ständig laufen soll, spielt SYNCING.NET nur eine seiner Stärken aus. Mit der Store and Forward-Funktion¹, die auch bei dem SMS zum Einsatz kommt, werden Daten auf Servern von SYNCING.NET verschlüsselt zwischengespeichert und stehen damit auch dann zur Verfügung, wenn Rechner A und B niemals gleichzeitig online sein sollten. Ein dedizierter Rechner, der wegen dieser Problematik immer online ist, ist damit nicht mehr notwendig.

Synchronisation in einem Peer-to-Peer-Netzwerk vs. Synchronisation mit Store and Forward-Funktion  
Abb. 1: Synchronisation in einem Peer-to-Peer-Netzwerk vs. Synchronisation mit Store and Forward-Funktion

Synchronisiert werden können Dateien/Verzeichnisse sowie Microsoft Outlook. Für jede Synchronisation wird ein Peer-to-Peer-Netzwerk eingerichtet, bei dem festgelegt wird, was synchronisiert wird. Zu jedem der Netzwerke können unterschiedliche Peers hinzugefügt werden. Möglich wäre damit zum Beispiel die komplette Synchronisation von Microsoft Outlook zwischen dem Firmen-Notebook und Desktop PC, als auch die gleichzeitige Synchronisation von nur einem einzigen Microsoft Outlook-Ordner Gewerbeverein, zwischen einem Desktop PC und dem Rechner eines Kollegen vom Gewerbeverein. Die Einladungen zu einem Peer-to-Peer-Netzwerk werden E-Mail-Adressen zugeordnet und eine Authentifizierung über ein Konto bei einem SYNCING.NET-Server erledigt.

Synchronisation mit verschiedenen Peer-to-Peer-Netzwerken
Abb. 2.: Synchronisation von Dateien und Outlook mit unterschiedlichen Peer-to-Peer-Netzwerken


Erfahrungen eines Praxistests über drei Monate

SYNCING.NET habe ich ca. fünf Monate im Einsatz und die Synchronisation läuft zuverlässig ab. Anfangs gegen April 2008 waren vereinzelt E-Mails nicht synchronisiert worden, das gehört mittlerweise durch Updates der Vergangenheit an. Ich kann SYNCING.NET empfehlen, zumal die Lizenzen günstig sind, die Software über Firewalls hinweg funktioniert und auch neben vorhandener Infrastruktur wie z. B. Microsoft Exchange zum Einsatz kommen kann. Ein paar Punkte empfehle ich für die Arbeit mit SYNCING.NET: Um die Synchronisation zu kontrollieren, schaltet man die Anzeige der Elemente in einem Ordner von Anzahl ungelesener Elemente anzeigen auf Anzahl aller Elemente anzeigen um. Stimmt nach der Synchronisation diese Anzahl bei allen Rechnern überein, ist alles o. k.

image
Abb. 3: Anzeige der Anzahl aller Elemente in einem Ordner in Outlook

Stimmt die Anzahl nicht überein und scheint SYNCING.NET z. B. von Rechner A zu Rechner B eine E-Mail nicht zu übertragen, ist der Workaround simpel. Man ordnet dazu der nicht synchronisierten E-Mail eine Kategorie zu, die nur für die Synchronisation benutzt wird. Durch die Änderung wird synchronisiert und die Kategorie kann danach bei der betroffenen E-Mail wieder gelöscht werden.

Zuordnung einer Kategorie für eine E-Mail zur Synchronisation
Abb. 4: Zuordnung einer Kategorie für eine E-Mail zur Synchronisation

Was ist aber, wenn die nicht synchronisierte E-Mail bzw. die nicht synchronisierten E-Mails nicht schnell ermittelt werden können? Sicherlich möchte niemand gerne per Hand alle E-Mails durchschauen, welche davon nicht synchronisiert wird. In diesem Fall wird die Zuordnung der zur Synchronisation bestimmten Kategorie auf Gruppierungen anstatt einzelner E-Mails angewendet.

Zuordnung einer Kategorie für eine Gruppierung zur Synchronisation
Abb. 5: Zuordnung einer Kategorie für eine Gruppierung zur Synchronisation

Mit einem Kategoriesuchordner (Erstellung: siehe vorstehende Abbildung) kann kontrolliert werden, ob alle E-Mails mit der für die Synchronisation bestimmten Kategorie schon von Rechner A an Rechner B übertragen wurden oder noch nicht. Beispiel: Stimmt die Anzahl der E-Mail mit "T: Sync" auf Rechner A und B überein, aber nicht die Gesamtanzahl pro Ordner (Option: Anzahl aller Elemente anzeigen), müssen weitere Gruppierungen gewählt werden. Zum Beispiel, indem der Zeitraum einfach von Heute auf Gestern weiter ausgedehnt wird. Nach dem manuellen Abgleich kann die Zuordnung der für die Synchronisation bestimmten Kategorie mittels dem Kategoriesuchordner leicht wieder gelöscht werden. Wichtig ist, dass die Synchronisation mit SYNCING.NET zuverlässig läuft und dieses Verfahren für den Fall der Fälle dient und ebenso zuverlässig funktioniert.

Problematisch ist beim Vergleich der Gesamtanzahl aller Elemente eines Ordner natürlich einerseits die Gesamtanzahl aller dazu zu vergleichenden Ordner und Terminanfragen. Das erstere ist eine Frage des Selbstmanagements. Ich habe eine Lösung, die ohne Outlook, Kategorien und Fähnchen auskommt und nur Posteingang und bearbeitet als Outlook-Ordner (CF2 Tracking in Abbildung 3 ist nur für statistische Auswertungen und sammelt E-Mails). Bleibt also die Frage nach Terminanfragen². Diese werden durch SYNCING.NET nicht synchronisiert und verhindern logischerweise ohne Maßnahmen damit den Vergleich der Gesamtanzahl aller Elemente pro Ordner. Die Lösung des Problems ist mit etwas Hintergrundwissen einfacher als gedacht: Die Terminanfragen müssen vor dem Vergleich der Anzahl der Elemente gelöscht werden. Wie das funktioniert, steht hier. Das Löschen dieser E-Mails ist vollkommen gefahrlos. Termine werden übrigens natürlich synchronisiert; diese Problematik betrifft nur die verschickten E-Mails dazu. Einladungen zu Kalenderfreigaben werden auch nicht synchronisiert, könnten aber ebenso gefahrlos gelöscht werden.

SYNCING.NET gefällt mir deswegen gut, weil die Anwendung einfach gehalten ist und wenige Optionen zur Konfiguration anbietet. Sie ist sozusagen "deduktiv" gehalten und "synchronisiert einfach". Miranda lässt sich damit genauso zwischen Rechnern leicht synchronisieren, wie Microsoft Outlook oder Ordner. Zum Beispiel synchronisiere ich Entwürfe für Blogeinträge zwischen Rechnern. Dazu ist bei Windows Live Writer der Ordner ...\My Weblog Posts\Drafts als Peer-to-Peer-Netzwerk anzulegen.

Die Option Schnelle Synchronisation verbraucht einige CPU-Ressourcen (bei mir ca. 40 %). Ich nutze diese daher nur, wenn benötigt und lasse sie ansonsten abgeschaltet.

Einen Vorschlag hätte ich noch für die Syncing.NET Entwickler: Ich vermisse, dass der Client nicht offline geschaltet werden kann. Einerseits scheint die Synchronisation mit aktivem UMTS etwas unstabil zu sein und Änderungen wie versendete E-Mails oder eingepflegte Termine müssen per obiger Lösung mittels Kategorien nachträglich synchronisiert werden. Könnte der Client offline geschaltet werden (Änderungen werden gespeichert, nur findet keine Kommunikation statt), wäre es sicherlich stabiler. Anderseits könnte gesteuert werden, ob Daten übertragen überhaupt werden sollen. Bei UMTS- bzw. GPRS-Verbindungen ohne Flatrate möchten einige sicher nicht, dass Syncing.NET bei einer aktiver Internetverbindung einfach zu synchronisieren beginnt. Zusätzlich müsste sicherlich die CPU-Last geringer werden, da nicht ständig auf aktive Netzwerkverbindungen geprüft wird. Das wäre gut beim Betrieb mittels Akkumulatoren.³

Mehr über SYCNING.NET gibt es unter: syncing.net.

¹ Einschränkungen: maximal 200 MB an Änderungsdaten und maximal 20 MB pro Datei
² Antwort von Sycning.NET steht bei den Kommentaren
³ Antwort von Syncing.NET: Das Gewünsche kann durch Beenden des Clients erreicht werden.

Monday, August 18, 2008 2:46:38 PM (W. Europe Standard Time, UTC+01:00)
Nach dem Blog beitrag habe ich das Tool ausprobiert: es ist wirklich einfach zu bedienen und läuft bei mir bis jetzt zuverlässig und schnell.
Gast
Monday, November 24, 2008 4:05:11 PM (W. Europe Standard Time, UTC+01:00)
Was die nicht synchronisierten Terminanfragen betrifft, ist dies kein Bug sondern ein Feature ;-)
Bei diesen Termin-"Anfragen" handelt es sich um Termine, die per E-Mail verschickt werden. Anfragen habe ich in Anführungszeichen gesetzt, da man die Anfrage nicht mal beantworten muss, damit solche Termine in den Kalender eingetragen werden.

Sobald man im Posteingang auf einen per E-Mail angekommenen Termin klickt, wird dieser sofort in den eigenen Kalender eingetragen -- man muss die E-Mail nicht einmal als gelesen markieren. Das ist zwar bequem, da man die Termine in den Kalender bekommt, auch ohne explizit auf "Zusagen" zu klicken, würde jedoch einige Probleme mit sich bringen, wenn man neben dem Posteingang auch sein Kalender mit SYNCING.NET synchronisiert. Dann würde der entsprechende Termin mehrfach im Kalender erscheinen, hätte aber dasselbe Datum und dieselbe Dauer. Das würde auch dann passieren, wenn man die Termine aus seinem Posteingang löscht. Denn bevor man diese löscht, muss man sie ja anklicken.

Wir sind früher genau auf dieses Problem gestoßen und haben uns dann entschieden, solche spezielle Elemente (Aufgaben, Termine etc., die per Mail verschickt werden) nicht zu synchronisieren (die Synchronisation des Kalenders ist natürlich davon nicht betroffen; dort werden alle Termine synchronisiert!). Wäre das nicht der Fall, müsste man im Prinzip auf einem Rechner den Termin zusagen (oder auch nichts unternehmen) und auf allen anderen den Termin absagen. Dummerweise verschickt Outlook in so einem Fall die Absage(n) an den Absender des Termins, was ihn ja ziemlich irritieren dürfte.

Outlook ist also in dieser Hinsicht nicht besonders logisch programmiert. Eigentlich dürfte der Termin erst in den Kalender landen, wenn man diesen explizit zusagt. Dann könnten wir uns dieses Workaround im SYNCING.NET-Code sparen und SYNCING.NET würde wirklich alle Elemente im Posteingang synchronisieren. Man müsste dann auf einem seiner Rechner zusagen und auf den anderen nichts unternehmen.

Berechtigt ist vielleicht auch die Frage, warum Outlook nicht erkennt, dass bei all diesen Terminen im Posteingang, es sich um denselben Termin handelt. Nun, SYNCING.NET würde zwar immer dasselbe Element synchronisieren, aber nach dem Import in den Posteingang weist Outlook jedem einzelnen Element eine verschiedene weltweit einmalige Item-ID. Dadurch kann Outlook nicht erkennen, dass der entsprechende Termin bereits im Kalender eingetragen ist, geht davon aus, dass dies ein Parallel-Termin (selbes Datum, gleiche Dauer) ist, und trägt diesen ebenfalls in den Kalender ein.
All comments require the approval of the site owner before being displayed.
Name
E-mail
(will show your gravatar icon)
Home page

Comment (Some html is allowed: a@href@title, b, blockquote@cite, em, i, strike, strong, sub, sup, u) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.  

Live Comment Preview

Boldness, risk‐taking and a little bit of craziness – lateral thinker Torsten Weber
Boldness, risk‐taking and a little bit of craziness – lateral thinker Torsten Weber

Torsten Weber is a MVP for Device Application Development

Calendar of the .NET User Group Leipzig

Microsoft Community Leader/Insider Program

Programmieren mit dem .NET Compact Framework. Anwendungsentwicklung für mobile Geräte.

Microsoft – change the mobile world or go home!

Categories

Calendar

<February 2010>
SunMonTueWedThuFriSat
31123456
78910111213
14151617181920
21222324252627
28123456
78910111213

Archive

My subscribed blogs

show all
show less
Blogs of good friends (as OPML)
More Blogs (as OPML)
RSS: .NET Casts .NET Casts
RSS: .NET Compact Framework Team .NET Compact Framework Team
RSS: Alan Cameron Wills Alan Cameron Wills
RSS: Alex Feinman Alex Feinman
RSS: Alex Januschewsky Alex Januschewsky
RSS: Alex Yakhnin Alex Yakhnin
RSS: Alexander Wechsler Alexander Wechsler
RSS: Alexander Zeitler Alexander Zeitler
RSS: Amit Chopra Amit Chopra
RSS: Anand Balachandran Anand Balachandran
RSS: Anthony Wong Anthony Wong
RSS: Ausgefallene Gadgets & Ideen Ausgefallene Gadgets & Ideen
RSS: Barry Bond Barry Bond
RSS: Boas Enkler Boas Enkler
RSS: Calvin Hsia Calvin Hsia
RSS: Chris Eberl Chris Eberl
RSS: Chris Lorton Chris Lorton
RSS: Chris Tacke Chris Tacke
RSS: Christian Weyer Christian Weyer
RSS: Christopher Fairbairn Christopher Fairbairn
RSS: ComputerBase News ComputerBase News
RSS: Cordula Lochmann Cordula Lochmann
RSS: Dan Elliot Dan Elliot
RSS: Daniel Chong Jyh Tar Daniel Chong Jyh Tar
RSS: Daniel Fisher Daniel Fisher
RSS: Daniel Melanchthon Daniel Melanchthon
RSS: Daniel Moth Daniel Moth
RSS: Dave Baker Dave Baker
RSS: David Kline David Kline
RSS: Dirk Primbs Dirk Primbs
RSS: DotNetGerman Bloggers DotNetGerman Bloggers
RSS: e-commerce blog e-commerce blog
RSS: Erich Holzbauer Erich Holzbauer
RSS: Florian Mätschke Florian Mätschke
RSS: Frank Fischer Frank Fischer
RSS: Gareth Jones Gareth Jones
RSS: George Mathew George Mathew
RSS: Gurbir Singh Gurbir Singh
RSS: Guy Burstein Guy Burstein
RSS: Hannes Preishuber Hannes Preishuber
RSS: Hard Tecs 4U News Hard Tecs 4U News
RSS: Heike Scholz Heike Scholz
RSS: heise online News heise online News
RSS: HoppeRx HoppeRx
RSS: IE Mobile Team Weblog IE Mobile Team Weblog
RSS: Inside Bennie Inside Bennie
RSS: Inside Microsoft Inside Microsoft
RSS: Jack Greenfield Jack Greenfield
RSS: James Pratt James Pratt
RSS: Jason Hogg Jason Hogg
RSS: Jason Langridge Jason Langridge
RSS: Jens Häupel Jens Häupel
RSS: Jezz Santos Jezz Santos
RSS: Jim Wilson Jim Wilson
RSS: Johanna Merhof  Johanna Merhof
RSS: José Gallardo Salazar José Gallardo Salazar
RSS: Josh Heitzman Josh Heitzman
RSS: Kai Gloth Kai Gloth
RSS: Kevin Daly Kevin Daly
RSS: Lao K Lao K
RSS: Loke Uei Tan Loke Uei Tan
RSS: Maarten Struys Maarten Struys
RSS: Marcus Perryman Marcus Perryman
RSS: Mark Arteaga Mark Arteaga
RSS: Mark Ihimoyan Mark Ihimoyan
RSS: Mark Prentice Mark Prentice
RSS: Markus Hage Markus Hage
RSS: Markus Zeischke Markus Zeischke
RSS: Martin Fowler Martin Fowler
RSS: Mathias Raacke Mathias Raacke
RSS: Mel Sampat Mel Sampat
RSS: Michael Korp Michael Korp
RSS: Michael Saffitz Michael Saffitz
RSS: Mike Hall Mike Hall
RSS: Mike Temporale Mike Temporale
RSS: Mike Zintel Mike Zintel
RSS: Mobile Developer Center Mobile Developer Center
RSS: Mobile Tagging Mobile Tagging
RSS: MozBackup MozBackup
RSS: MS Mobiles MS Mobiles
RSS: MSDN Forum .NET CF MSDN Forum .NET CF
RSS: MSDN Forum Device Emulator MSDN Forum Device Emulator
RSS: MSDN Forum Smart Devices C#/VB MSDN Forum Smart Devices C#/VB
RSS: MSDN Forum Smart Devices MSDN Forum Smart Devices
RSS: MVP Global Summit 2008 MVP Global Summit 2008
RSS: Nazim Lala Nazim Lala
RSS: Neil Cowburn Neil Cowburn
RSS: Neno Loje Neno Loje
RSS: Nils Müller Nils Müller
RSS: Nino Benvenuti Nino Benvenuti
RSS: Norbert Eder Norbert Eder
RSS: Oliver Block Oliver Block
RSS: Oliver Scheer Oliver Scheer
RSS: OrbLog OrbLog
RSS: Outlook Mobile Team Blog Outlook Mobile Team Blog
RSS: OVIDEO (Kino) OVIDEO (Kino)
RSS: OVIDEO (Trailer) OVIDEO (Trailer)
RSS: Pedro Silva Pedro Silva
RSS: Peter Foot Peter Foot
RSS: Peter Kirchner Peter Kirchner
RSS: Rabi Satter Rabi Satter
RSS: Ralf Westphal Ralf Westphal
RSS: Rob Tiffany Rob Tiffany
RSS: Rod Drury Rod Drury
RSS: Roman Batoukov Roman Batoukov
RSS: Scott Guthrie Scott Guthrie
RSS: Scott Holden Scott Holden
RSS: Sebastian Weber Sebastian Weber
RSS: Simon Hackfort Simon Hackfort
RSS: Smartphone-Web Smartphone-Web
RSS: Sriram Krishnan Sriram Krishnan
RSS: Stephen Fry Stephen Fry
RSS: Steve Cook Steve Cook
RSS: Steve Hegenderfer Steve Hegenderfer
RSS: Steven Kelly Steven Kelly
RSS: Steven Pratschner Steven Pratschner
RSS: Stuart Kent Stuart Kent
RSS: Sue Loh Sue Loh
RSS: Thomas Schissler Thomas Schissler
RSS: Tom Hollander Tom Hollander
RSS: Vik Thairani Vik Thairani
RSS: Visual Studio For Devices Team Visual Studio For Devices Team
RSS: We-Dig.org We-Dig.org
RSS: Windows Mobile Team Blog Windows Mobile Team Blog
RSS: Xin Yan Xin Yan