Donnerstag, 11. Mai 2006

Still und heimlich.... das SmartDeviceFramework 2.0 ist da

Auf der Hompage von OpenNETCF ist nun das SmartDeviceFramework 2.0 als Releaseversion verfügbar.
Diese Version ist nun endlich an das .NET Compact Framework 2.0 angepasst.

Die API Beschreibung ist hier zu finden.

Samstag, 6. Mai 2006

VoIP mit T-Online / X-Lite

Als Nutzer von T-Online nutze ich gerne die kostenlose VoIP Funktionalität. Die ursprüngliche T-Online VoIP Software, welche eine modifizierte Version von Ahead SIPPS ist, war in ihrer ersten Version auch ganz okay, jedoch erhielt ich seit dem letzten Update nur noch Probleme. Diese äusserten sich darin, dass Gespräche ins Festnetz nur noch "stotterten".

Eine gute Alternative stellt das freie X-Lite dar. Dieser SIP-Client lässt sich ebenfalls für T-Online konfigurieren, bietet die gleichen Funktionsmerkmale und ist dazu auch noch kostenlos.


Die Software ist unter diesem Link verfügbar.

Weitere Informationen erhalten sie hier.

Die Konfigurationsparameter für die Einwahl über T-Online finden Sie hier.

Montag, 24. April 2006

Publikationen April 2006



Plugins, aber sicher!


Pluginsysteme sind schnell erstellt. Was man jedoch beachten sollte und dennoch falsch machen kann, zeigt dieser Artikel.

Visual Studio One

.NET CF 2.0 SP1 Beta

Seit Freitag ist die erste Beta des ersten ServicePacks für das Microsoft .NET Compact Framework 2.0 erschienen. Neben vielen Detailverbesserungen und Bugfixes gibt es 2 neue Tools. Während die erste eine Desktopversion der Performance Monitors für das Compact Framework darstellt ist die 2. Anwendung zur Überwachung der Netzwerkkommunikation von WIndows Mobile gedacht. Dabei werden mit SSL verschlüsselte werden natürlich auch nur verschlüsselt dargestellt.

Link: Blog NETCF Team

Neuer Blog, neues Glück

Nachdem der Server, auf welchem mein letzter Blog eingerichtet war, das zeitliche segnete, wird es Zeit einen Neuen zu erstellen.

Wer mich noch nicht kennt, hier nochmal eine kurze Vorstellung:
Meine Name ist Peter Nowak. Ich bin seit nunmehr 5 Jahren Systems Engineer bei einem global operierenden ICT Dienstleistungsunternehmen mit Sitz in Essen. Mein Schwerpunkt ist Mobile Computing mit dem .NET Compact Framework und dem SmartDevcieFramework von OpenNETCF.org. Über diese Themen berichte ich zusätzlich in verschiedenen Fachzeitschriften und auf Entwicklerkonferenzen. Auch bin ich Mitautor des Buches "Programmieren mit den .NET Compact Framework 2.0", welches im Juni bei der MS Press erscheinen soll.

Freitag, 24. März 2006

CF 1.0 Applikationen unter dem CF 2.0 ausführen

In seinem Blogeintrag beschreibt Scott Holden, welche konfigurativen Änderungen auf dem Pocket PC nötig sind, um seine "alte" CF 1 Applikation direkt im CF 2 laufen zu lassen.

Link

DB4O - Objektdatenbank

Muss es immer gleich der SQL Server sein?

Für manche Anwendungsfälle, insbesondere für Projekte im Umfeld des .NET Compact Framework werden Daten entweder in einer Datenbank, wie SQL CE oder SQL Server Mobile persistiert, oder direkt in eine XML Datei geschrieben. Es gibt aber noch eine andere Alternative, die man sich anschauen sollte.

Das aus der Java-Ecke kommende objektbasierende Database for Objects (db4o) ist mittlerweile in einer Version 5 erhältlich und unterstützt neben dem .NET Framework auch das .NET Compact Framework. Als Abfragesprache sind neben eine SQL ähnlichen Syntax auch native Querying unterstützt, bei dem die Programmiersprache selbst als Abfragespache genutzt wird.

Link: db4o

freie .NET Messenger Bibliothek

Dominick Baier wiess mich heute auf eine sehr interessante Bibliothek hin. DotMSN ist eine Bibliothek, welche Funktionen von MSN implementiert. Da sie aber Socket-basierend ist, wird der Messenger selbst nicht benötigt.
Durch diese Bibliothek ergeben sich ganz interessante Möglichkeiten, wie z.B. ein Healthmonitoring, eigene Admin Consolen....

Hier eine Liste der unterstützten Funktionen:

  • Connecting / disconnecting with the MSN Messenger service
  • Setting presence status
  • Event-based design to notify contact presence status changes
  • Personal data of a contact
  • Owner profile details
  • Automatically synchronizes contact lists and keeps contactlist data up to date
  • Creating and changing contactgroups
  • Convenient enumerating through contacts in different lists
  • Request or receive conversations
  • Multiple users in one conversation
  • Sending and receiving decorated text messages
  • Sending typing messages
  • Privacy settings of the contactlist owner
  • Hotmail mailbox status
  • Notifications of new mail
  • Flexible tracing of warnings and errors
  • File transfers
  • User display images
  • Proxy support and custom servers
  • P2P framework support
  • Custom extendable DotMSN framework
  • MSNP9 protocol
  • Source code provided

Auf jeden Fall einen Blick wert.

Freitag, 24. Februar 2006

Publikationen Februar

Die Publikation im Februar.



hybride Anwendungen


Anwendungen werden heutzutage häufig, z. B. aus Kostengründen, nur für eine mögliche Plattform erstellt. Dass dies aber nicht dabei bleiben muss, zeigt dieser Artikel, der explizit eine mögliche Vorgehensweise vorstellt und die sich daraus ergebenden Vor- und Nachteile aufzeigt.

Visual Studio One

Dienstag, 24. Januar 2006

hybride Anwendungen - Anwendungen für das .NET Framework und das .NET Compact Framework

Manchmal gibt es Anforderungen an Applikationen, welche im ersten Augenblick sich ganz einfach anhören. Dazu gehört, das eine Compact Framework (CF) Anwendung auch auf dem Desktop laufen soll. Doch was passiert, wenn diese Applikation nur eine Instanz haben darf? Okay, unter dem Pocket PC kein Thema, da funktioniert es eh so, dass nur eine Instanz läuft, und bei wiederholtem Auruf, die Anwendung in den Vordergrund geholt wird. Was ist aber mit dem Desktop, wenn es sich um die gleich Anwendung handelt und man nur die Methoden des CF zur Verfügung hat? Dann sind die üblichen Methoden mit Mutex etc. ganz schnell passé.

Eine passable Möglichkeit ist die Nutzung von "FindWindow" aus der user32.dll. Diese ist zwar nur auf dem Desktop verfügbar (beim PPC befindet sich die Funktion in der coredll.dll), was jedoch nicht weiter stört.

Über einen DLLImport ist die Funktion aus der user32.dll schnell eingebunden. Was passiert aber, wenn diese Funktion im PPC aufgerufen wird? Die Antwort ist einfach: GARNICHTS. Diese Funktion wird einfach übergangen Um es jedoch sauberer zu machen, sollte man über System.Environment die entsprechende Plattform zurückgeben lassen, und nur bei Bedarf per if/else ausführen lassen.

Über diese kleine Hilfe ist es ganz schnell möglich, auch auf dem Desktop eine Applikation zu bauen, welche nur eine Instanz besitzt.

CF Applikationen auf dem Desktop debuggen

Auch dieses Phänomen kommt schnell auf, wenn man Hybrid-Applikationen baut, welche auf dem Desktop und PPC laufen müssen.
Oft ist es nötig, für diese Applikation zusätziche Implementationen zu schreiben, welche auf dem PPC garnicht ausgeführt werden. Wie nun also testen?

Hierbei gibt es einen kleinen Trick, welchen man anwenden kann. Man muss die Applikation ersteinmal als Debug kompilieren (STRG+SHIFT+B). Ein F5 bringt hier keinen weiter, da ansonsten die Anwendung deployed und auf dem Device ausgeführt wird. Stattdessen sollte die Applikation einen definierten Punkt haben, an der sie wartet (MessageBox, Hauptmaske o.ä.). Dann kann man sich eines kleinen Tricks behelfen: Über Debug->Prozesse... sucht man sich den zugehörigen Prozess aus, welchen man debuggen möchte. In diesem Fall unsere Applikation. Wenn nun der Debugger an die Applikation angehängt wurde, kann man, wie sonst auch gewohnt, die Applikation debuggen.

QTEK 8310 Debugging

Nachdem ich nun endlich mein Windows Mobile 5 Handy erhalten habe, wollte ich doch auch mal direkt ausprobieren, wie sich denn das Programmieren mit diesen Geräten gestaltet.
Ein beherztes "F5" im neuen Visual Studio 2005 brachte jedoch eine Fehlermeldung hoch, die besagt, dass es untersagt ist, RAPI Verbindungen über Active Sync zu nutzen.

Nach einigem Suchen fand ich heraus, dass es tatsächlich so war. Die Sicherheitseinstellungen durch den Hersteller erlaubten dies nicht.

Um diesen Misstand auszuräumen, musste hierzu die Policy diesbezüglich geändert werden. Doch diese lies sich mittels Provisioning auch nicht lösen, denn das zugehörige XML durfte aufgrund der Sicherheitseinstellungen nicht ausgeführt werden.

Hierzu der gefundene Text von Native Mobile:





When the first Windows Mobile 5 devices started to hit the market, some of my customers tested Data Port Wizard on them and found out that it would not work. There is a documented workaround on MSDN but one of my customers found a better way by setting a single registry value. As a matter of fact, setting HKLM\Security\Policies\Policies\00001001 to 1 will enable all RAPI activities on the device.

Setting this registry key corresponds to the following provisioning script:





"

Doch auch das Ändern der Registry mittels des Total Commander 2.0 for Windows Smartphone brachte nichts, da dieses nicht erlaubt war. Auch der Verweis auf das Unlocking brachte mich zuerst nicht weiter.

Dann aber entdeckte ich die Beschreibung in Bernt Lervik's Blogeintrag, welcher ein ähnliches Problem beschrieb.

Er benutzte einen Registryeditor der Firma HTC, welche das originale Gerät "Tornado" herstellt, was von QTEK als 8310 vertrieben wird. Dieser Editor war auch digital von HTC signiert, welches eine Änderung zuliess. Er nutzte es zum installieren von Zertifikaten für das direkte syncen per Active Sync mit Exchange.

Mit diesem Editor liessen sich die Registryeinstellungen, wie im o.g. Blogeintrag beschrieben ändern.

Hiernach folgte die Installation der zugehörigen Zertifikate (\Programme\Windows CE Tools\wce500\Windows Mobile 5.0 Smartphone SDK\Tools\SdkCerts.cab), sowie der beiden Provisioningfiles (die sich nun ausführen liessen, ohne mit einer Sicherheitsmeldung zu quittieren) SecurityOff.cpf aus dem Unterordner Securityconfiguration gefolgt von RapiAllowed.cpf aus dem Unterordner Rapisecurity.

Nach einem Neustart des Gerätes und einem erneuten Active Sync funktionierte dann auch das Deployment und Debugging. Auch liessen sich nun die Remote Tools des VS 2005 nutzen.

Doch VORSICHT:

Dieser Trick sollte wirklich nur für Entwicklungsgeräte genutzt werden, da hiermit auch für Dialer order sonstige Schadprogramme Tür und Tor geöffnet werden.
Für den Deploymentfall sollten andere Möglichkeiten in Betracht gezogen werden.

Samstag, 24. Dezember 2005

Publikationen Dezember 2005

MDA Pro

Das erste Gerät mit Windows Mobile 5

Am 10. Mai wurde auf der Microsoft Mobile & Embedded DevCon 2005 das neue Betriebssystem Windows Mobile 5 vorgestellt und freigegeben. Jetzt ist auch das erste Gerät hiermit verfügbar: Das MDA Pro von T-Mobile.

Windows Mobile 5

Die neue Generation des Mobile Computing

Nach Windows Mobile 2003 erscheinen nun auch erste Geräte mit dem neuen mobilen Betriebssystem von Microsoft für PDAs und Smartphones auf dem Markt. Zeit um einen Blick auf die Neuerungen und Vorteile für Anwender und Entwickler zu werfen.

Visual Studio One

Donnerstag, 24. November 2005

PDC 2005 Nachlese

Wer es nicht geschafft hat, die PDC selbst zu erleben, kann sich die Vorträge und Slides unter http://microsoft.sitestream.com/PDC05/
thematisch heraussuchen und herunterladen, oder auch per Streaming anschauen.

Danke Dominick für den Tipp.

Dienstag, 13. September 2005

Bittorrent für den Pocket PC

Eines der beliebtesten Filesharingprotokollen hat nun auch seine Implementierung auf dem Pocket PC gefunden.

Welchen Sinn es macht, bleibt nun mal dahingestellt, aber geil ist es auf jeden Fall.

Link:
http://pocketland.de/product.php?prod_id=26897