<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3287082823565616610</id><updated>2011-11-27T18:45:45.385-05:00</updated><category term='media'/><category term='wmp'/><category term='podcasts'/><category term='mobile tools'/><category term='wm6'/><category term='stopwatch'/><category term='office mobile'/><title type='text'>Mobile Trek</title><subtitle type='html'>Bits and pieces on developing software for the Windows Mobile platform</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mobiletrek.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3287082823565616610/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mobiletrek.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Neal</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3287082823565616610.post-1001147822401829344</id><published>2007-12-12T22:48:00.000-05:00</published><updated>2007-12-12T22:58:49.862-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wm6'/><title type='text'>The WM6 Endless Reboot Cycle</title><content type='html'>Apparently, I became a victim of a common Windows Mobile 6 bug today.  A problem with using an SD storage card can get Windows Mobile 6 into a state where it continuously reboots.&lt;br /&gt;&lt;br /&gt;A Google search helped me determine the problem was related to the SD card and removing the card allowed the device to boot normally.  However, when I powered down and reinserted the SD card, the device went back to its endless reboot cycle again.  (Not all users experience this problem after reinserting the storage card, but some do.)  A little more investigation was required.&lt;br /&gt;&lt;br /&gt;I decided to boot the device without the SD card - success.  Without rebooting, I inserted the SD card and opened File Explorer.  I noticed the storage card was labeled as "Storage Card2" instead of the usual "Storage Card".  WM6 had created a "Storage Card" folder on its own when I booted without the card to store message attachments.  I deleted the "Storage Card" folder (which only contained empty folders) and rebooted.  I was back in the reboot cycle.  Ugh!&lt;br /&gt;&lt;br /&gt;I removed the SD card again and booted.  This time I deleted the "Storage Card" folder before inserting the SD card.  I inserted the SD card and WM6 recognized it as "Storage Card".  I rebooted, and...  The OS booted correctly.&lt;br /&gt;&lt;br /&gt;It's quite strange that this happened in the first place, but I offer my findings here to help anyone else who may run into the problem with WM6 and SD storage cards.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3287082823565616610-1001147822401829344?l=mobiletrek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mobiletrek.blogspot.com/feeds/1001147822401829344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3287082823565616610&amp;postID=1001147822401829344' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3287082823565616610/posts/default/1001147822401829344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3287082823565616610/posts/default/1001147822401829344'/><link rel='alternate' type='text/html' href='http://mobiletrek.blogspot.com/2007/12/wm6-endless-reboot-cycle.html' title='The WM6 Endless Reboot Cycle'/><author><name>Neal</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3287082823565616610.post-8355653409341756389</id><published>2007-12-07T10:22:00.001-05:00</published><updated>2007-12-07T10:33:26.993-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wm6'/><category scheme='http://www.blogger.com/atom/ns#' term='stopwatch'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile tools'/><title type='text'>Stopping Time</title><content type='html'>As mentioned in a previous post, Mobile Stopwatch uses System.Environment.TickCount as a timer reference. If you record the TickCount value when the stopwatch starts, the elapsed time can be calculated by subtracting the initial TickCount value from the current TickCount value. The only problem with this method occurs when a Windows Mobile device goes into suspend mode and TickCount is not updated. Suspend mode effectively stops the stopwatch and it is restarted when suspend mode ends.&lt;br /&gt;&lt;br /&gt;One solution to this problem is to prevent the device from entering suspend mode while the stopwatch is running. It turns out this is a rather simple thing to do since the Windows Mobile SDK provides us with an API for resetting the device's idle timer:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;void WINAPI SystemIdleTimerReset(void);&lt;/span&gt;&lt;/blockquote&gt;Periodically calling this function will prevent a Windows Mobile device from suspending - we only need to determine how often this function needs to be called. Fortunately, the registry holds this information at the following key location: &lt;blockquote&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;Key: HKLM\SYSTEM\CurrentControlSet\Control\Power\Timeouts&lt;br /&gt;Value: BattSuspendTimeout&lt;br /&gt;Type: DWORD&lt;/span&gt;&lt;/blockquote&gt;The value stored here indicates the number of seconds that must elapse before the device enters suspend mode. As long as you call SystemIdleTimerReset() more frequently than this timeout value, the device will not suspend and TickCount will keep updating.&lt;br /&gt;&lt;br /&gt;The down side of this solution is that your battery life will suffer if the stopwatch needs to run for long periods of time. I'll present a solution that resolves that dilemma in a future posting.&lt;br /&gt;&lt;br /&gt;Note, it is still possible to turn off the display by pressing the device's power button, but this shouldn't be confused with the device entering a suspended state.&lt;br /&gt;&lt;br /&gt;[As a side note, suspend mode is only an issue on Windows Mobile Professional. Windows Mobile Standard doesn't enter suspend mode, but only turns off the display.]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3287082823565616610-8355653409341756389?l=mobiletrek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mobiletrek.blogspot.com/feeds/8355653409341756389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3287082823565616610&amp;postID=8355653409341756389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3287082823565616610/posts/default/8355653409341756389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3287082823565616610/posts/default/8355653409341756389'/><link rel='alternate' type='text/html' href='http://mobiletrek.blogspot.com/2007/12/stopping-time.html' title='Stopping Time'/><author><name>Neal</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3287082823565616610.post-7188734719382758175</id><published>2007-12-05T10:41:00.001-05:00</published><updated>2007-12-05T10:50:48.359-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='office mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='wm6'/><title type='text'>Office Mobile 6.1 Upgrade</title><content type='html'>If you need to access Office 2007 file formats on your mobile device, you can upgrade to Office Mobile 6.1 &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=4b106c1f-51e2-42f0-ba32-69bb7e9a3814&amp;amp;DisplayLang=en"&gt;here&lt;/a&gt;. (An existing version of Office Mobile is required.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3287082823565616610-7188734719382758175?l=mobiletrek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mobiletrek.blogspot.com/feeds/7188734719382758175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3287082823565616610&amp;postID=7188734719382758175' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3287082823565616610/posts/default/7188734719382758175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3287082823565616610/posts/default/7188734719382758175'/><link rel='alternate' type='text/html' href='http://mobiletrek.blogspot.com/2007/12/office-mobile-61-upgrade.html' title='Office Mobile 6.1 Upgrade'/><author><name>Neal</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3287082823565616610.post-8871432733789382495</id><published>2007-12-03T21:10:00.000-05:00</published><updated>2007-12-03T22:43:51.371-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='podcasts'/><category scheme='http://www.blogger.com/atom/ns#' term='media'/><category scheme='http://www.blogger.com/atom/ns#' term='wmp'/><title type='text'>Media on the Move</title><content type='html'>TV recordings, music, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;podcasts&lt;/span&gt; - with Windows Mobile 6 (WM6) you can pack it all up and take it with you on the road.  Windows Media Player (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;WMP&lt;/span&gt;) is provided to handle a variety of media formats.  The mobile player is very similar to the desktop player and is a suitable playback application.&lt;br /&gt;&lt;br /&gt;I first started using &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;WMP&lt;/span&gt; to take some &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;podcasts&lt;/span&gt; on the road.  I could sync the MP3 files to my device and enjoy them while traveling.  However, this process required:&lt;br /&gt;&lt;br /&gt;1) downloading the podcast on my PC,&lt;br /&gt;2) syncing with my device,&lt;br /&gt;3) listening to the podcast, and&lt;br /&gt;4a) deleting the files I already played, or&lt;br /&gt;4b) archiving the files on my PC if there was something I wanted to keep.&lt;br /&gt;&lt;br /&gt;Windows Media Player is sufficient for this, but it's not really efficient.  I wanted an application to streamline the whole process.&lt;br /&gt;&lt;br /&gt;Fortunately, it's not necessary to write an entire player from the ground up.  Microsoft has implemented Windows Media Player as a control that can be used in any application - &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;WMP&lt;/span&gt; without the user interface.  This allows anyone to write their own &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;UI&lt;/span&gt; around the core media player.&lt;br /&gt;&lt;br /&gt;I decided to use the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;WMP&lt;/span&gt; control from within a .NET CF application written in C#.  Using Visual Studio, I created a C# project and added a COM reference for the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;WMP&lt;/span&gt; control.  The COM control is listed as "Windows Media Player" and the path is "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;wmp&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;dll&lt;/span&gt;" in the \Windows\system32 directory.  Because the interfaces for the mobile and desktop controls are identical, you can simply reference the desktop &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;DLL&lt;/span&gt; and the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Interop&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;WMPLib&lt;/span&gt; reference will be compatible with WMP on your mobile device.&lt;br /&gt;&lt;br /&gt;Creating and using the media player simply requires:&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;WindowsMediaPlayerClass&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;wmp&lt;/span&gt; = new &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;WindowsMediaPlayerClass&lt;/span&gt;();&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;IWMPMedia&lt;/span&gt; media = &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;wmp&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;newMedia&lt;/span&gt;(&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;pathName&lt;/span&gt;);&lt;br /&gt;wmp.controls.playItem(media);&lt;br /&gt;&lt;br /&gt;It's that easy.&lt;br /&gt;&lt;br /&gt;However, you will find that when you instantiate &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;WindowsMediaPlayerClass&lt;/span&gt; on your mobile device your application will not shutdown properly.  To confirm this all you need to do is create a new application and in the main Form's Load event call:&lt;br /&gt;&lt;br /&gt;mWMP = new &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;WindowsMediaPlayerClass&lt;/span&gt;();&lt;br /&gt;&lt;br /&gt;Add a menu item that will call the Form's Close() method and run the application in the Windows Mobile emulator.  Set a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;breakpoint&lt;/span&gt; after the application's Run loop exits in the Main() function (see Program.cs).  After the Close() method is called, you'll see the run loop exits and you can step through the rest of the Main() function to see it exits cleanly, but the application will never shutdown.  My guess is there is a thread created by the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;WMP&lt;/span&gt; control and WM6 is waiting for that thread to exit.&lt;br /&gt;&lt;br /&gt;As a workaround, you can simply call:&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;TerminateProcess&lt;/span&gt;(0x42, 0);&lt;br /&gt;&lt;br /&gt;at the end of Main().  This will force the process to shutdown.  Provided you don't have any global objects that need to always shutdown cleanly, you can successfully terminate your application.  The Visual Studio debugger will report that it has lost communication with the application, but your application won't run indefinitely on your mobile device.&lt;br /&gt;&lt;br /&gt;Have you run into this same problem?  Share your solution in a comment.&lt;br /&gt;&lt;br /&gt;I'll share some of my other experiences with the WMP control in future posts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3287082823565616610-8871432733789382495?l=mobiletrek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mobiletrek.blogspot.com/feeds/8871432733789382495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3287082823565616610&amp;postID=8871432733789382495' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3287082823565616610/posts/default/8871432733789382495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3287082823565616610/posts/default/8871432733789382495'/><link rel='alternate' type='text/html' href='http://mobiletrek.blogspot.com/2007/12/media-on-move.html' title='Media on the Move'/><author><name>Neal</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3287082823565616610.post-3601338687638798372</id><published>2007-11-26T16:07:00.000-05:00</published><updated>2008-12-11T11:38:38.608-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wm6'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile tools'/><title type='text'>The Missing Stopwatch and the Missing Milliseconds</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_qovSWUKJ1xk/R0vKr8FPD3I/AAAAAAAAAAM/yKxqZssg07w/s1600-h/MStopwatch.PNG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5137422656157454194" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_qovSWUKJ1xk/R0vKr8FPD3I/AAAAAAAAAAM/yKxqZssg07w/s320/MStopwatch.PNG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;While I've &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;benefited&lt;/span&gt; tremendously from having my T-Mobile Wing, one of the things it's missing is a convenient stopwatch feature. My old cell phone provided a nice stopwatch, but there's nothing like this on the Wing. Even my &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FGarmin-GPSMap-60Cx-Handheld-Navigator%2Fdp%2FB000CSWHCY%3Fie%3DUTF8%26s%3Delectronics%26qid%3D1196139296%26sr%3D8-1&amp;amp;tag=awesoftwareco-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Garmin&lt;/span&gt; GPS&lt;/a&gt;&lt;img style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN: 0px; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none" height="1" alt="" src="http://www.assoc-amazon.com/e/ir?t=awesoftwareco-20&amp;amp;l=ur2&amp;amp;o=1" width="1" border="0" /&gt; has a stopwatch feature, so I figure my cell phone should get one too.&lt;br /&gt;&lt;br /&gt;This seems like a simple enough project and an excellent opportunity to jump into writing a C# project on the .NET Compact Framework. Well, the first thing I found out was that the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;DateTime&lt;/span&gt; object's Milliseconds property is always zero on a T-Mobile Wing. Some quick web searching revealed that this isn't a Wing peculiarity, but a lot of Windows CE devices don't provide millisecond resolution for calls to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;GetLocalTime&lt;/span&gt;() (which is ultimately beneath .&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;NET's&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;DateTime&lt;/span&gt; class).&lt;br /&gt;&lt;br /&gt;A nice summary of alternatives can be found &lt;a href="http://groups.google.com/group/microsoft.public.dotnet.framework.compactframework/browse_thread/thread/f1ebb6f77858287f/8fc868e3f842dd16?hl=en&amp;#8;fc868e3f842dd16"&gt;here&lt;/a&gt;. The &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;simplest&lt;/span&gt; solution is to use System.Environment.TickCount to simply get the number of milliseconds that have passed since the operating system started. The only caveat is that the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;TickCount&lt;/span&gt; is suspended when the system goes into suspend mode. So if your device suspends, your stopwatch will stop ticking. However, for my needs this is sufficient for the time being. I'll look at workarounds in the future if I should need one.&lt;br /&gt;&lt;br /&gt;Mobile Stopwatch can be found in the Mobile Tools download from this blog.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3287082823565616610-3601338687638798372?l=mobiletrek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mobiletrek.blogspot.com/feeds/3601338687638798372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3287082823565616610&amp;postID=3601338687638798372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3287082823565616610/posts/default/3601338687638798372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3287082823565616610/posts/default/3601338687638798372'/><link rel='alternate' type='text/html' href='http://mobiletrek.blogspot.com/2007/11/missing-stopwatch-and-missing.html' title='The Missing Stopwatch and the Missing Milliseconds'/><author><name>Neal</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_qovSWUKJ1xk/R0vKr8FPD3I/AAAAAAAAAAM/yKxqZssg07w/s72-c/MStopwatch.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3287082823565616610.post-4647400809324989786</id><published>2007-11-26T13:26:00.000-05:00</published><updated>2007-12-05T10:51:24.991-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wm6'/><title type='text'>Switching to Windows Mobile</title><content type='html'>About six months ago I decided my &lt;a href="http://www.virginmobileusa.com/"&gt;Virgin Mobile&lt;/a&gt; prepaid cell phone was beginning to cost enough each month that I should look at a fixed price alternative. With the upgrade I was also hoping to add some new features to my phone.&lt;br /&gt;&lt;br /&gt;I wanted to sync contacts and appointments with Outlook, so some kind of Palm/Blackberry/Windows Mobile device was worth investigating. Since I have a background developing software for Windows desktop operating systems, I figured with a Windows Mobile device and Microsoft Visual Studio I could learn a new development environment.&lt;br /&gt;&lt;br /&gt;After some web searching I found I could get a pretty nice Windows Mobile 6 Professional device from &lt;a href="http://www.t-mobile.com/"&gt;T-Mobile&lt;/a&gt; for $99 (current offers can be found &lt;a href="http://www.wmdeals.com/"&gt;here&lt;/a&gt;) and my prepaid plan was history. I'll be blogging here about my experiences with Windows Mobile from both a user and developer perspective.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3287082823565616610-4647400809324989786?l=mobiletrek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mobiletrek.blogspot.com/feeds/4647400809324989786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3287082823565616610&amp;postID=4647400809324989786' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3287082823565616610/posts/default/4647400809324989786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3287082823565616610/posts/default/4647400809324989786'/><link rel='alternate' type='text/html' href='http://mobiletrek.blogspot.com/2007/11/switching-to-windows-mobile.html' title='Switching to Windows Mobile'/><author><name>Neal</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
