Blog Home  Home Feed your aggregator (RSS 2.0)  
Peter Nowaks Mobile Blog - WindowsMobile
Mobility on the Run
 
 Wednesday, June 25, 2008

Es gibt etwas, was mich schon lange nervt. Mindestens 2 mal täglich höre ich Fragen, wie "Warum hat Microsoft das nicht direkt eingebaut" hinsichtlich vorhandenen Funktionalität im .NET Compact Framework oder dem Windows Mobile SDK für verwalteten Code. Das eine oder andere Mal kann ich der Frage zustimmen, aber generell nervt diese Frage nur noch.

Andererseits - Ich stellte mir diese Frage bereits selbst einige Male in der Vergangenheit. Doch ich bekam einige Antworten hierzu, die ich gerne mit diesem Post mit Ihnen teilen möchte. Ich hoffe, dass die Frage somit eher zu einer rhetorischen Frage verkommt. Versuchen wir also hier die Antworten zu finden und schauen ein kleinen wenig hinter die Kulissen.

Jede neue Version, sei es nun vom Compact Framework oder dem Windows Mobile SDK hat natürlich ein kleineres Budget, verglichen mit Windows oder Office.

Dabei sollte man bedenke, dass das Budget nicht nur die Entwicklung neuer Funktionalität bedeutet, sondern auch das Fixen von Bugs, da Sie ja selbst wissen, dass keine Software frei von Bugs sein kann. Die führt natürlich auch dazu, dass manche neuen Funktionen oder vielleicht geringere Bugs auch auf andere Versionen verschoben werden müssen, da einige Bugs oder Funktionen höher priorisiert sind, als andere. Dabei geschieht die Priorisierung seitens "des Kunden". Je öfter Anfragen zu einem Bug oder einer Funktion gestellt werden, umso höher ist auch die Priorität für die folgende Version.

Weiterhin ist eine neue Version des Compact Frameworks oder des Windows Mobile SDKs nicht anderes als jedes Projekt, welches Sie selbst realisieren. Sie haben einen Zeitplan mit einem definierten Release Datum, welches es gilt einzuhalten. Die führt oftmals auch zu einer Kürzung der Liste neuer Funktionen.

Windows Mobile basiert ja, wie Sie wissen, auf Windows Embedded CE. Dies bedeutet im Umkehrschluss, dass (oftmals) Funktionalität nicht unterstützt werden kann, wenn Si e nicht bereits in der Basis enthalten ist. Dies führt zu einer Abhängigkeit im Projekt, welche ebenfalls beachtet werden muss.

Aber es gibt eine weitere Abhängigkeit: Was bringt Ihnen die neueste Funktionalität, wenn Sie nicht von zugehörigen Tools, wie dem Visual Studio oder Windows Mobile beispielsweise selbst unterstützt wird?

Selbst Produkte, welche man eher nicht vermuten würde (Office, Windows) haben selbst, wenn auch einen kleinen Einfluss auf die Planung.

Wenn Sie dies alles einmal zusammengefasst betrachten, dann erkennen Sie, dass eine derartige Planung bereits sehr komplex wird.

Hinzu kommen aber noch andere Gesichtspunkt. Wussten Sie beispielsweise, dass es auch eine festgelegte Beschränkung hinsichtlich einer neuen Version des Compact Fameworks oder des Windows Mobile SDKs gibt, welche nicht überschritten werden darf? Auch das kann dazu führen, dass beriets vorhanden Funktionalität einer Betaversion wieder in der finalen Version entfernt wird. Der Grund hierfür liegt darin, dass das Framework entsprechend auch im ROM des Betriebssystems abgelegt werden soll/muss, wo Speicher eher rar gesät ist.

So kann es aber auch passieren, dass erst während der Entwicklung erkannt wird, dass eine neue Funktionalität das System beispielsweise verlangsamt und somit möglicherweise ein höherer nicht kalkulierter Entwicklungs- oder Testaufwand nötig ist (gerade bei der Portierung von vorhandener .NET Framework Funktionalität).

Nehmen Sie nun einmal alles zusammen und Sie erkennen, dass dieser Job nicht wirklich einfach ist.

Jetzt, wo Sie wissen, was u.a. alles beachtet werden muss (und ich wette, dass meine Aufzählung längst nicht vollständig ist, da ich selbst keinen vollen Einblick erhalte), stellt mir sich die Frage, ob Sie die eingangs gestellte Frage immer noch so oft werden wollen.

Als kleine Anmerkung meinerseits: Es gibt sehr viele Personen, die versuchen ihr Bestes die gewünschte Funktionalität aus eigenem Antrieb in ihrer Freizeit (meist ohne einen finanziellen Hintergrund) zur Verfügung zu stellen. Aus diesem Grunde erwähne ich an dieser Stelle herzlichst gerne noch einmal das Smart Device Framework von OpenNETCF, welches hierfür ein sehr gutes Beispiel ist.

Ich hoffe, dass ich Ihnen hiermit eine befriedigende Antwort geben konnte. Vielleicht konnte ich Sie sogar dazu motivieren ihr eigenes Projekt zu beginnen, um fehlende Funktionalität zu entwickeln und diese auf CodePlex oder woanders zur Verfügung zu stellen?

P.S.: Dieser Post sollte neutral gemeint sein. Es soll weder pro noch contra Microsoft, deren Produktgruppen oder sonst noch in diesen Prozess involvierten Personen sein. Nehmen Sie diese Informationen bitte so hin, wie Sie dort stehen.

Sollten Sie an einer weiteren Sichtweise interessiert sein, so empfehle ich Ihnen diesen post vom Windows Mobile Team.

- English Version -

It is playing on my nerves. At least I hear twice a day the question “Why didn’t Microsoft include it directly”, talking about unsupported functionality in the Compact Framework and Windows Mobile SDK for managed Code. Sometimes I have to agree, but most of the time this question becomes really annoying.

On the other hand – I’ve asked myself this question several times in the past, but finally could get some answers, which I want to share with this post. I hope this turns the question more into a rhetoric question. Let’s try to find some answers and take a small look behind the scenes.

Each new version, whether for the Compact Framework or the Windows Mobile SDK has naturally a smaller funding compared to Windows or Office.

You have to keep in mind, that the funding doesn't cover only new features, but as well bugfixing, as you know that no software is free of bugs. This leads to the point that some functionality or bugs have to be postponed on the list for a later version, as some bugs and features are higher priorized as others.

The priorization therefore is mostly driven by customer requests. The more customers request a new feature or complain about a bug the more it is likely to be included within the next version.

On the other hand a new version of the Compact Framework or Windows Mobile SDK is nothing else than any project you do – you have a time schedule, which has a defined end date. This shortens the list of new functionality as well.

As you know, Windows Mobile is based on Windows Embedded CE. This means in reverse, that (often) functionality can’t be supported, if it isn’t supported by the base system. This causes a dependency, which has to be considered for new functionality as well. It is very uncommon to offer hardware-dependent functionality not offered by the base system.

But there is another dependency as well: What do you want to have the newest functionality for, if it isn’t supported by additional Tools or the Visual Studio or by Windows Mobile itself?

Even Products you don't expect directly connected to Mobility (Office, Windows) themselves can even have (a really small) influence on the schedule and planning.

Taking these points in consideration you already see, that it becomes very complex here. But there is more. Did you know for example, that each new version of the .NET Compact Framework has a limitation in memory size, which can not be extended? This leads to the point that sometimes already included functionality has to be excluded again. The limitation is given, because the Compact Framework f.e. has to fit into the ROM Image for Windows Mobile or Windows Embedded CE. This limits functionality or changes priorization in functionality as well.

It can happen during development, that new functionality turns out to slow down the system, or takes more time to be developed, optimized or tested (especially, if porting desktop functionality) which itself has an influence why things tend to be like they are.

Taking all these points into account, you can see the job becoming very hard.

Now that you know, what is taken into consideration (and I bet my summary isn’t complete here, as I don’t have a full insight) are you going to ask the mentioned question as often as you do?

Just as a short note: There are enough people out there, which try to give you the functionality you want and spend their free time for this (sometimes without funding) and do their best they can. I very like to mention the Smart Device Framework by OpenNETCF, which is a very good example for this.

I hope I could give you a satisfying answer to your question. Probably you are now even motivated to start your own project to offer yet missing functionality on CodePlex or elsewhere?

P.S.: This post is meant to be neutral. It is not meant to be pro or contra Microsoft, Product Groups or anyone else included into this process. Just take this info I give you here as is.

If you are interested in another view, I recommend reading this post from the Windows Mobile Team.

Wednesday, June 25, 2008 6:22:00 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]   .NET Compact Framework | Windows Mobile  |  Trackback
 Saturday, May 31, 2008

Leider ist es nicht möglich Windows Dienste unter Windows Mobile und Windows Embedded CE in verwaltetem Code zu erstellen.
Pavel Bánský's zeigt in seinem blog post, wie Services in Windows Mobile in managed code erstellt werden können.

Basierend auf diesem Artikel habe ich die Managed Services for Windows Mobile Bibliothek erstellt, welche unter der MIT License nun unter CodePlex veröffentlicht wurde.

Diese Bibliothek bietet die Infrastruktur, um so einfach, aber auch so komfortabel wie möglich Dienste ähnlich den Windows Diensten zu erstellen.

Zugehörig zu dieser Bibliothek sind einige erstellte Hilfsprogramme, als auch Beispiele in der Dokumentation vorhanden, welche den Einstieg in die Bibliothek erleichtern

Das Projekt finden Sie hier.

 

- English Version -

 

Actually it isn't possible to create Windows Services for Windows Mobile and Windows Embedded CE in managed code.
Pavel Bánský's shows in his blog post, how Services in Windows Mobile in managed code can be created.

Based on his article I've created a Managed Services for Windows Mobile library, which is under the MIT License available, published on CodePlex.

This library offers an easy and comfortable infrstructure which allows to develop Managed Services similar to Windows Services.

Additional to this library you can find some utilities as well as many samples in the published documentation.

The project can be found here.

Saturday, May 31, 2008 12:46:36 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]   .NET Compact Framework | mobile Tools | Windows Mobile  |  Trackback
 Thursday, May 08, 2008

Treten Sie mit Experten für Windows Mobile, Windows CE, SQL Server CE und dem .NET Compact Framework Communities in Kontakt rund um Anwendungsentwicklung für mobile Geräte. Diese Chats bieten eine gute Möglichkeit Fragen durch weltweite Experten beantortet zu bekommen.

------------------------------------------------
Nehmen Sie mit uns online teil für unsere interaktive Fragen- und Antwortrunde am Dienstag dem 13. Mai um
10 am US Pacific Time
11 am US Mountain Time
12 pm US Central Time
1 pm US Eastern Time
6 pm BST
19 Uhr deutscher Zeit

------------------------------------------------
Um am Chat teilzunehmen folgen Sie bitte dem Link:
http://www.microsoft.com/communities/chats/chatrooms/msdn.aspx

- English Version -

Please join experts from the Windows Mobile, Windows CE, SQL Server CE and .NET Compact Framework communities in a chat around application development for smart devices. These chats are a great opportunity to have your questions answered by experts from around the world.

------------------------------------------------
Join us online for our live interactive developer Q&A Tuesday 13th May at
10 am US Pacific Time
11 am US Mountain Time
12 pm US Central Time
1 pm US Eastern Time
6 pm BST
To convert from GMT to your local time, use the link below:
http://www.worldtimeserver.com/current_time_in_RU-MOW.aspx
------------------------------------------------
To join the chat use the following link:
http://www.microsoft.com/communities/chats/chatrooms/msdn.aspx

Thursday, May 08, 2008 7:07:53 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]   .NET Compact Framework | Windows Mobile  |  Trackback

Ein interessantes Interview zum Thema Mobile Device Manager in MP3 und WMA Format hier(http://blogs.msdn.com/hegenderfer/archive/2008/05/06/now-live-technet-radio-get-more-security-and-control-with-mobile-device-manager.aspx).

- English Version -

an interesting interview on the Mobile Device Manager in MP3 und WMA Format can be found here(http://blogs.msdn.com/hegenderfer/archive/2008/05/06/now-live-technet-radio-get-more-security-and-control-with-mobile-device-manager.aspx).

Thursday, May 08, 2008 7:05:31 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]   .NET Compact Framework | Windows Mobile  |  Trackback

 

 

Wer in der glücklichen Lage sein sollte an der TechEd in Orlando vom 3. bis zum 6. Juni teilnehmen zu können, der wird sich freuen eine Menge an Tracks zum Thema Mobility zu finden. Der Grund liegt darin, daß dieses Jahr keine MEDC statt findet.

Zu den ausgewählten Speakern gehören Nickolas Landry, Rabi Satter, Loke Uei Tan, Maarten Struys, Daniel Moth, Jim Wilson, Paul Yao und Alex Yakhnin. Eine Liste der Sessions finden Sie hier.

 

- English Version -

 

The lucky ones, who will be beable to attend at the TechEd TechEd in Orlando June 3rd to June 6th, will be glad to hear that a lot of mobile sessions will be offered. The reason for this is, that there will be no MEDC this year. Beside other speakers following ones will have a session: Nickolas Landry, Rabi Satter, Loke Uei Tan, Maarten Struys, Daniel Moth, Jim Wilson, Paul Yao and Alex Yakhnin. A list of session can be found here.

Thursday, May 08, 2008 7:00:38 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]   .NET Compact Framework | Windows Mobile  |  Trackback
Copyright © 2008 Peter Nowak. All rights reserved.
DasBlog 'Portal' theme by Johnny Hughes.