Command Line Mailer for Thunderbird

Did you ever try to create email using the command line interface of Thunderbird?

From my point of view, this command line interface is somehow incomplete and not very smooth to use.
So I created a wrapper application with a clearer interface for Thunderbird to use it in an easier way.

Just download the freeware application (for non commercial use) from
https://www.markus-bader.de/MB-CMDMailerForThunderbird/index.php

Is is easy to use:

  • just define your mail message text in a separate html file
  • call MB-Command Line Mailer for Thunderbird with command line parameters (add multiple receivers, To, CC, BCC, add multiple attachments)  and
    press Send when Thunderbird has opened the message window

NMEA Simulations-Daten generieren mit MB-Ruler

Arbeitet man mit Programmen, die GPS-Daten verwenden – oder entwickelt diese – so kommt es häufig vor, dass eine Bewegung der GPS-Position einspielen möchte, während man sich aber nicht von der Stelle bewegt.Manche Programme stellen die Möglichkeit bereit, eine Simulationsdatei einzuspielen.

Ist diese Option aber nicht vorhanden – oder möchten Sie eine beliebige Bewegung einspielen – , so kann hierzu die aktuelle Version von MB-Ruler verwendet werden.

Hierzu erzeugt MB-Ruler – genau wie ein GPS-Empfänger – im Sekundentakt RMC und GGA Datensätze, die an einem COM-Port zur Verfügung gestellt werden. Die jeweilige Position wird über die Bewegung der Maus in einer OpenStreetMap-Karte ermittelt.

Eine genaue Beschreibung ist nach der Installation in der Hilfedatei von MB-Ruler zu finden.

Ansprechende Oberflächen auf mobilen Endgeräten

Mit den Bordmitteln von Windows Mobile ist es kaum möglich, ansprechende Oberflächen umzusetzen. Ergebnisse mit den Standard-GUI-Elementen haben Windows 2.0 Niveau.

Entwickler, die vor diesem Problem stehen, bekommen mit den AlphaMobileControls einen gutes Hilfsmittel an die Hand.

Die AlphaMobileControls sind eine Bibliothek von Komponenten die mittels Alpha-Blending dargestellt werden. Damit sind der Phantasie von Desingern fast keine Grenzen gesetzt – und die Entwickler können Sie umsetzen. Auf der Homepage der AlphaMobileControls finden sich zwei einfache Beispiel-Screenshots.

Beim Einsatz der Bibliothek bin ich auf zwei Probleme gestoßen:

  1. Die GetImageMethode hat unter Windows Mobile 5 einen Fehler beim Auslesen von Daten aus PNG-Bildern
    http://support.microsoft.com/?scid=kb%3Ben-us%3B923812&x=15&y=14
    PNG-Bilder, die als externe Dateien vorliegen, konnte ich bei meiner Entwicklung fehlerfrei darstellen. Sobald diese allerdings als Resource in die Applikation eingebettet, so tritt der im Microsoft-Artikel beschriebene Fehler (0×80004005) auf.
    Alternativ könnte man auf GIF-Dateien für die Darstellung wechseln – mit dem Nachteil, dass kein echtes Alpha-Blending möglich ist.
  2. Die AlphaMobileControls arbeiten bei der Darstellung mit Double-Buffering um ein Flackern zu verhindern.
    Diese benötigen bei einer Vollbild-Applikation von 320×240 Pixel ca. 600 KByte (bei 32 Bit Farbtiefe) – und zwar pro Dialog.
    Der Speicherbedarf für eine komplexere Applikation steigt damit ziemlich schnell an.

    Werden ausschließlich Forms gleicher Größe verwendet – und wird immer genau ein Dialog dargestellt – so reicht  im AlphaContainer die Variable _backBuffer statisch zu machen, so dass diese von allen Dialogen verwendet wird:

         ///

    Back buffer used for double buffering.


         private static Bitmap _backBuffer;

Die Ergebnisse lassen sich auf jeden Fall sehen!

Profiling im Compact Framework auf mobilen Endgeräten

PDAs und Smartphones sind von Natur aus hinsichtlich der Hardware schwach besetzt. Um so wichtiger ist es, bei der Entwicklung von Programmen, die Performance-Engpässe heraus zu finden. Durch den kostenlosen Profiler der Firma EQATEC ist nun ein echtes Profiling für Applikationen möglich, die für das Compact Framework (d.h. nur für managed code Module) entwickelt wurden.

Die Anwendung ist hierbei denkbar einfach.

  1. Binary (Applikation, DLL) wie gewohnt mit SharpDeveleop, Developer Studio, etc erstellen
  2. die Binaries mit dem EQATEC Profiler instrumentarisieren. Diese werden dabei 40-50% größer
  3. Programm auf das Mobile Endgerät kopieren und dort ausführen (das Programm läuft dabei 20-25% langsamer ab)
  4. nach Programmende wird eine XML-Datei mit den gemessenen Werte auf dem PDA abgelegt
  5. diese wieder auf den PC kopieren und das Ergebnis mit Hilfe des EQATEC Profiler Viewer analysieren

Einfach ein klasse Tool. – oder, um einen Entwickler von OpenNETCF zu zitieren: “Endlich!”

Wie so häufig beim Profilen war auch bei meinem ersten Echteinsatz der Bottle-Neck nicht an der Stelle, wo ich ihn vermutet hatte ;)