Donnerstag, 28. Dezember 2006

Server-Kommunikation per Instant Messaging auf MSDN




Der im dotnet-Magazin Ausgabe 12.2006 erschienene Artikel "Server-Kommunikation per Instant Messaging" ist nun auch auf MSDN online verfügbar.

Sie finden ihn hier.

Samstag, 23. Dezember 2006

Weihnachtsgrüsse der Serie '24'

Ich muss es ja zugeben: Auch ich bin ein Serienjunkie.
Eine meiner Lieblings TV Serien ist ja '24', die hier in Deutschland auf RTL II ausgestrahlt wird.

Allen Liebhabern hat der amerikanische Broadcaster FOX ein kleines Weihnachtsgeschenk zur Serie unter den Weihnachtsbaum gelegt.



Die 6. Staffel wird übrigens ab 14. Januar 2007 in Amerika ausgestrahlt.
Ebenfalls strahlt ab 3. Januar RTL II die 5. Staffel in deutsch aus.

Mittwoch, 20. Dezember 2006

Google sagt es, also muss es so sein...

Wie Slashdot berichtet, hat Google sich gegen seine SOAP API entschieden.
Der Grund hierfür sollen eher geschäftliche als denn technische Umstände sein.
Soll dies nun das Ende von SOAP sein? Wenn es doch Google sagt, muss es so sein oder? Naja, ich glaube nicht daran.

Mehr hierzu unter Slashdot.

Danke Alex für den Hinweis.

Publikationen Roll-Up

Obwohl die Arbeit ziemlich stressig war, konnte ich einige Artikel doch noch zum besten geben.

Daher hier ein kleiner Roll-Up.



Ausgabe 06/2006

Mobile Anwendungen richtig erstellt
Eine mobile Anwendung für Windows Mobile oder Windows CE ist einfach erstellt: Ein Projekt für mobile Anwendungen im Visual Studio erstellen, Quellcode hinzufügen, und fertig ist die mobile Anwendung. Wie Sie Ihre Architektur und Ihren Code unter einen effizienten und performanten Hut bringen, zeigt dieser Artikel.

Ausgabe 01/2007

Mobile != Mobile
Übersicht über mobile Geräte, Betriebssysteme und zugehöriges .NET Framework
Bevor eine mobile Anwendung erstellt wird, sollte man sich bereits im Klaren sein, welches Zielgerät eingesetzt werden soll. Ist dies nicht der Fall erlebt man oft böse Überraschungen. Dieser Artikel gibt eine Übersicht über verfügbare Geräteklassen, verfügbare Betriebssysteme und dem zugehörigen .NET Framework.




Ausgabe 11.2006

Microsoft SharePoint wird erwachsen
Mit Microsoft Office 2007 erscheint auch eine neue Version der Windows SharePoint Services und des neuen Microsoft Office SharePoint Server 2007. Grund genug, die Änderungen und Neuheiten etwas genauer zu betrachten. Im ersten Teil geht es um die Installation, die neue Oberfläche und die Architektur. In einem Folgeartikel werden die Aspekte behandelt, die für Entwickler von Bedeutung sind.

Ausgabe 12.2006

Server-Kommunikation per Instant Messaging
Instant Messaging (IM) ist als Kommunikationsform heutzutage populärer denn je. Wie die Architektur der dafür eingesetzten Netzwerke auch für eigene Anwendungen genutzt werden kann, zeigt dieser Artikel.

Ausgabe 1/2.2007

Ein „Hallo Welt“ für SharePoint 2007
Nachdem in der ersten Folge in Ausgabe 11.06 des dot.net magazin zu SharePoint 2007 und Windows SharePoint Team Services 3.0 auf Neuerungen eingegangen, geht die Reise in dieser Folge ein wenig tiefer in das System. Neben einem Überblick über die technologische Basis wird auf das Customizing eingegangen.

Developer World (Schweiz) Ausgabe Dezember 2006

SharePoint 2007: Für den Einsatz im Unternehmen gerüstet

Er tut es wieder...

Am 26 August 2005 began der Student Alex Tew aus England ein kleines Projekt: Er wollte sich sein Studium finanzieren und erstellte eine Homepage mit einer Million Pixel, die er zu 1$ pro Pixel für Werbezwecke verkaufte. Er geisterte mit seiner Million Dollar Homepage durch die internationale Presse und schaffte es sogar Ende Januar etwas über eine Million Dollar einzunehmen. Dies erreichte er, indem er die letzen 1000 Pixel auf Ebay verkaufte.

Danach wurde es still um Alex. Er fing an ein Ebook zu schreiben, doch nun ist er seit dem 5. Dezember 2006 wieder dabei Geld zu verdienen.

Er nahm seine Grundidee auf und gründete eine neue Homepage: Pixelotto. Das Prinzip: Er verkauft erneut eine Million Pixel, jedoch kann eine Person, die sich auf der Homepage anmeldet, eine Million Dollar gewinnen, in dem diese sich anmeldet und Werbung anklickt. Er ist gut unterwegs. Aktuell (20. Dezember 2006) hat er bereits wieder über 142000 Pixel verkauft.

Der Clou diesmal: Er verkauft jedes Pixel für 2$, so dass der Bruttogewinn diesmal 2 Millionen Dollar sind, wovon man eine ja schon mal verlosen kann.

Ideen muss man nur haben...

Donnerstag, 14. Dezember 2006

Buch: Programmieren mit dem .NET Compact Framework

Lange hatte es gedauert, doch Anfang Oktober ist es erschienen: Mein erstes Buch, an welchem ich als Co-Autor mitarbeiten durfte.

Zusammen mit Ruprecht Döge und Torsten Weber ist unser Buch "Programmieren mit dem .NET Compact Framework. Anwendungsentwicklung für mobile Geräte" bei der MS Press erschienen. Es hat viel Spaß gemacht daran mit beiden zu arbeiten. Danke euch dafür.

Auch ein grosser Dank geht nochmal an das Team von OpenNETCF.org, welche mit Rat und Tat zur Seite standen, wenn es bei manchen Samples hier und da mal eng wurde, ober aber nicht funktionieren wollte. Auch nochmal Danke für die kostenlose Werbung auf OpenNETCF.org und im Blog von Neil Cowburn.

Weiterer Dank gilt allen, die an dem Buch mitgewirkt haben. Ohne Sie wäre es nicht das geworden, was es ist: Ein super Buch zum Thema .NET Compact Framework und Themen, die dazu gehören.

Zusätzlicher Dank geht an Frank Prengel, der es mir Anfang November ermöglichte auf seinem Tech Talk in Essen zum Thema "Windows Embedded CE 6 und das .NET MicroFramework" ein wenig Werbung hierfür zu machen.

















Erhältlich ist es für 39,90 € z.B. bei Amazon.

Speaking @ VSOne

Nachdem ich 2006 leider beruflich bedingt als Speaker nicht tätig werden konnte, freue ich mich umso mehr dies nächstes Jahr zu ändern.

Auf der VSOne, welche vom 13. - 14. Februar 2007 stattfindet, werde ich mit 3 Sessions vertreten sein.


  • Be cautious: Projekte für mobile Anwendungen
    Projekte für mobile Anwendungen sind oftmals ein heikles Thema. Meist ist auf den verschiedensten Seiten nur ein ungesundes Halbwissen vorhanden, wodurch es im Projekt selbst dann zu Problemen kommt. Was es für die verschiedenen beteiligten Gruppen zu beachten gilt, wird hier dargestellt.
  • Hybride Anwendungen mit dem .NET Compact Framework
    Oftmals müssen Anwendungen für verschiedene Endgeräte erstellt werden. Wie Sie elegant mit dem .NET Compact Framework Anwendungen zeitgleich für den Pocket PC und den PC erstellen können, und was es dabei zu beachten gibt, zeigt diese Session.
  • Nicht alles, was klein ist, ist "Mobile"
    Vieles, was ein wenig kleiner ist als ein Notebook, wird direkt in die "Mobile" Schublade befördert. Doch dass es immense Unterschiede in Hard- und Software gibt, und was Industriegeräte sind, wird hier vorgestellt.

Ich freue mich darauf.

Mehr Informationen zur VSOne gibt es hier.

Das Jahr neigt sich dem Ende...



... also ist es wieder Zeit seinen Blog auf Vordermann zu bringen.

Viele waren bereits der Meinung, dass ich das bloggen bereits an den Nagel gehängt habe.
Dem ist jedoch nicht so. Wie viele andere war ich beruflich sehr stark in ein Projekt eingespannt.

Doch seit dem 29.11.2006 befinde ich mich bereits im Jahresendurlaub. Diesen nutze ich gerade dazu um aufzuräumen und die letzten Monate nachzuholen. Aus diesem Grund werden in den nächsten Tagen wieder ein paar neue und interessante Blogeinträge hinzukommen. Versprochen...



Den Anfang macht die neu erschienene Version von Skype 2.2 Beta for Windows Mobile. Jeder der mich kennt weiß, das ich ein QTEK 8310 Handy mit Windows Mobile 5 besitze. Dieses wird nun auch endlich von der neuen Betaversion unterstützt.

Sie ist hier erhältlich und wird als MSI- als auch als CAB-Installationsdatei zum Download angeboten.

Ein ausführlicher Test folgt in den nächsten Tagen.

Dienstag, 20. Juni 2006

Meanwhile...

Ich werde in letzter Zeit gefragt, was ich denn so mache, da ich mich in diesem Jahr ein wenig rar gemacht habe.

Nun, zum einen, ist es natürlich die alltägliche Arbeit, die einem die Zeit raubt, welche man eher für etwas Sinnvolles nutzen könnte. ;-)

Ganz untätig bin ich jedoch nicht. Anstatt die Freizeit mit meiner lieben Frau zu verbringen arbeite ich mit Ruprecht Döge und Torsten Weber an dem Buch "Programmieren mit dem .NET Compact Framework. Anwendungsentwicklung für mobile Geräte",, welches nach einigen Verzögerungen nun hoffentlich im August 2006 bei der MS Press erscheinen wird.


















Vorbestellen kann man es z.B. bei Amazon.


Da aber auch noch ein wenig mehr Zeit übrig ist, kann man auch noch etwas weiteres machen. Aus diesem Grund nehme ich als "Expert Advisor" an der Mobile Client Software Factory (quasi der ersten "Bibliothek" für das Compact Framework der Microsoft Practices & Patterns Group) teil. Mit dieser sollen sich mobile Anwendungen und häufige Aufgaben schneller erstellen lassen. Der erste Eindruck ist positiv.
Wer die erste CTP testen möchte, erhält Sie hier.

Mehr dazu demnächst.

Ihr seht also, ich lebe noch. ;-)

Mittwoch, 14. Juni 2006

Geekware / .NET MicroFramework

Unter MSN Direct findet sich eine neue Uhr. Soweit noch nicht spektakulär? Stimmt. Das tolle an dieser Uhr ist, dass diese bereits mit dem neuen .NET MicroFramework arbeitet, für welches dieses Jahr das SDK erscheinen soll.

Preise sind noch nicht bekannt. Erscheinen soll die Abacus Smart Watch 2006 angeblich diesen Monat.

Danke Torsten für diesen Hinweis.

Update: Mittlerweile ist die Uhr bestellbar. Der Preis liegt allerdings bei 179,- $.

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.