<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Adam Salvo (z) - Technology|WinCE</title>
    <link>http://blog.salvoz.com/</link>
    <description>newtelligence powered</description>
    <language>en-us</language>
    <copyright>Adam Salvo</copyright>
    <lastBuildDate>Sat, 22 Mar 2008 00:56:03 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.2.8279.16125</generator>
    <managingEditor>adam@salvoz.com</managingEditor>
    <webMaster>adam@salvoz.com</webMaster>
    <item>
      <trackback:ping>http://blog.salvoz.com/Trackback.aspx?guid=32f08181-603a-41a5-83d7-36b0899fd394</trackback:ping>
      <pingback:server>http://blog.salvoz.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.salvoz.com/PermaLink,guid,32f08181-603a-41a5-83d7-36b0899fd394.aspx</pingback:target>
      <dc:creator>Adam Salvo</dc:creator>
      <wfw:comment>http://blog.salvoz.com/CommentView,guid,32f08181-603a-41a5-83d7-36b0899fd394.aspx</wfw:comment>
      <wfw:commentRss>http://blog.salvoz.com/SyndicationService.asmx/GetEntryCommentsRss?guid=32f08181-603a-41a5-83d7-36b0899fd394</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I was planning on watching all of the Mix videos on Silverlight for Windows Mobile,
and some other content as well, but I have not gotten around to it. I had written
up the following while watching the first video and wanted to get it posted before
I forgot about it. 
</p>
        <p>
As I "predicted", Silverlight for Windows Mobile was announced at Mix 08. In conjunction
with the announcement at Mix was an <a href="http://www.nokia.com/A4136001?newsid=1197788">announcement
by Nokia</a> to make Silverlight available on S60 for Symbian OS. A CTP version of
Silverlight for Windows Mobile is due out sometime this year (Q2 2008)
</p>
        <p>
          <strong>Mix Sessions</strong>
        </p>
        <p>
T12 - Mobile Devices and Microsoft Silverlight: A Primer on the New Technology. Presented
by Amit Chopra and David Kline
</p>
        <blockquote>
          <p>
Silverlight for mobile will be the 1.0 version, not 2.0, running as a IE Mobile browser
plug-in with java script support. Initial support is for Windows Mobile 6 standard
and professional (and Nokia Symbian). There will be a device specific media stack.
</p>
          <p>
The first demo showed a Silverlight application running on a HTC device, loaded from
the local file system. Demo applications included a analog Clock, Donkey (remember
the Bill Gates Donkey.Net?), and a media player written by channel 9 which was ported
to Silverlight mobile.
</p>
          <p>
Amit made a comment during the demo saying that he replaced the managed code for the
channel 9 media player with a scripting equivalent because that is what they support.
That will be disappointing if the compact framework isn't available in Silverlight
(managed code support comes in 2.0 for mobile)
</p>
          <p>
There are some guidelines for moving existing Silverlight applications to the mobile
device. 
</p>
          <ul>
            <li>
ScaleTransform (utility?) to resize content 
</li>
            <li>
Use device supported encodings 
</li>
            <li>
Avoid large content files 
</li>
            <li>
Be aware of device resources 
</li>
            <li>
Be mindful of scaled object size 
</li>
            <li>
Mobile network connectivity is improving but you still have to take into account limited
connectivity. 
</li>
            <li>
Design apps for touch and non-touch input 
</li>
            <li>
Design UI (XAML) for each form factor \</li>
          </ul>
        </blockquote>
        <blockquote>
          <p>
Roadmap (keep an eye on <a href="http://www.silverlight.net">www.silverlight.net</a>):
</p>
          <ul>
            <li>
Silverlight 1.0 for mobile CTP Q2CY08 
</li>
            <li>
Silverlight 1.0 for mobile RTM Q4CY08 
</li>
            <li>
Silverlight 2.0 for mobile CTP Q4CY08 (managed code support) 
</li>
            <li>
Silverlight 2.0 for mobile RTM Q2CY09</li>
          </ul>
        </blockquote>
        <blockquote>
          <p>
Contact Amit (<a href="mailto:achopra@microsoft.com">achopra@microsoft.com</a>) via
email to discuss TAP opportunities. 
</p>
          <p>
At the end they opened it up for questions:
</p>
          <ul>
            <li>
Reiterated the <a href="http://www.silverlight.net">www.silverlight.net</a> site as
your one stop to get all information about Silverlight for developers, including what
the optimum development environment would be (VS version, blend version, etc) 
</li>
            <li>
When asked if Silverlight could interface with a camera built into a device, the answer
was no. However, you could use/write an ActiveX control that interfaced with the camera
or gps, etc, and as long as it's on the same page as the Silverlight application,
you can exchange data. In 2.0, additional support for interfacing with the device <em>may</em> be
made available thru the inclusion of managed code. 
</li>
            <li>
Support for Windows Mobile 5? Not planned due to limitations of the browser. 
</li>
            <li>
Silverlight 1.0 for mobile is the same Silverlight 1.0 as the desktop. 
</li>
            <li>
Someone asked if there were any plans to go to a wpf (my word choice) style approach.
The answer was that not for 1.0, but possibly in the 2.0 timeframe depending on customer
need. Amit stated that they have been hearing quite a few requests for this, so there
is another reason to email him and let him know if that's something that you want.</li>
          </ul>
        </blockquote>
        <img width="0" height="0" src="http://blog.salvoz.com/aggbug.ashx?id=32f08181-603a-41a5-83d7-36b0899fd394" />
        <br />
        <hr />
This weblog is sponsored by <a href="http://www.salvoz.com">Adam Salvo</a>. 
</body>
      <title>Silverlight on Windows Mobile</title>
      <guid isPermaLink="false">http://blog.salvoz.com/PermaLink,guid,32f08181-603a-41a5-83d7-36b0899fd394.aspx</guid>
      <link>http://blog.salvoz.com/2008/03/22/SilverlightOnWindowsMobile.aspx</link>
      <pubDate>Sat, 22 Mar 2008 00:56:03 GMT</pubDate>
      <description>&lt;p&gt;
I was planning on watching all of the Mix videos on Silverlight for Windows Mobile,
and some other content as well, but I have not gotten around to it. I had written
up the following while watching the first video and wanted to get it posted before
I forgot about it. 
&lt;/p&gt;
&lt;p&gt;
As I "predicted", Silverlight for Windows Mobile was announced at Mix 08. In conjunction
with the announcement at Mix was an &lt;a href="http://www.nokia.com/A4136001?newsid=1197788"&gt;announcement
by Nokia&lt;/a&gt; to make Silverlight available on S60 for Symbian OS. A CTP version of
Silverlight for Windows Mobile is due out sometime this year (Q2 2008)
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Mix Sessions&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
T12 - Mobile Devices and Microsoft Silverlight: A Primer on the New Technology. Presented
by Amit Chopra and David Kline
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
Silverlight for mobile will be the 1.0 version, not 2.0, running as a IE Mobile browser
plug-in with java script support. Initial support is for Windows Mobile 6 standard
and professional (and Nokia Symbian). There will be a device specific media stack.
&lt;/p&gt;
&lt;p&gt;
The first demo showed a Silverlight application running on a HTC device, loaded from
the local file system. Demo applications included a analog Clock, Donkey (remember
the Bill Gates Donkey.Net?), and a media player written by channel 9 which was ported
to Silverlight mobile.
&lt;/p&gt;
&lt;p&gt;
Amit made a comment during the demo saying that he replaced the managed code for the
channel 9 media player with a scripting equivalent because that is what they support.
That will be disappointing if the compact framework isn't available in Silverlight
(managed code support comes in 2.0 for mobile)
&lt;/p&gt;
&lt;p&gt;
There are some guidelines for moving existing Silverlight applications to the mobile
device. 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
ScaleTransform (utility?) to resize content 
&lt;li&gt;
Use device supported encodings 
&lt;li&gt;
Avoid large content files 
&lt;li&gt;
Be aware of device resources 
&lt;li&gt;
Be mindful of scaled object size 
&lt;li&gt;
Mobile network connectivity is improving but you still have to take into account limited
connectivity. 
&lt;li&gt;
Design apps for touch and non-touch input 
&lt;li&gt;
Design UI (XAML) for each form factor \&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt; &lt;blockquote&gt; 
&lt;p&gt;
Roadmap (keep an eye on &lt;a href="http://www.silverlight.net"&gt;www.silverlight.net&lt;/a&gt;):
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Silverlight 1.0 for mobile CTP Q2CY08 
&lt;li&gt;
Silverlight 1.0 for mobile RTM Q4CY08 
&lt;li&gt;
Silverlight 2.0 for mobile CTP Q4CY08 (managed code support) 
&lt;li&gt;
Silverlight 2.0 for mobile RTM Q2CY09&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt; &lt;blockquote&gt; 
&lt;p&gt;
Contact Amit (&lt;a href="mailto:achopra@microsoft.com"&gt;achopra@microsoft.com&lt;/a&gt;) via
email to discuss TAP opportunities. 
&lt;/p&gt;
&lt;p&gt;
At the end they opened it up for questions:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Reiterated the &lt;a href="http://www.silverlight.net"&gt;www.silverlight.net&lt;/a&gt; site as
your one stop to get all information about Silverlight for developers, including what
the optimum development environment would be (VS version, blend version, etc) 
&lt;li&gt;
When asked if Silverlight could interface with a camera built into a device, the answer
was no. However, you could use/write an ActiveX control that interfaced with the camera
or gps, etc, and as long as it's on the same page as the Silverlight application,
you can exchange data. In 2.0, additional support for interfacing with the device &lt;em&gt;may&lt;/em&gt; be
made available thru the inclusion of managed code. 
&lt;li&gt;
Support for Windows Mobile 5? Not planned due to limitations of the browser. 
&lt;li&gt;
Silverlight 1.0 for mobile is the same Silverlight 1.0 as the desktop. 
&lt;li&gt;
Someone asked if there were any plans to go to a wpf (my word choice) style approach.
The answer was that not for 1.0, but possibly in the 2.0 timeframe depending on customer
need. Amit stated that they have been hearing quite a few requests for this, so there
is another reason to email him and let him know if that's something that you want.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;&lt;img width="0" height="0" src="http://blog.salvoz.com/aggbug.ashx?id=32f08181-603a-41a5-83d7-36b0899fd394" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.salvoz.com"&gt;Adam Salvo&lt;/a&gt;. </description>
      <comments>http://blog.salvoz.com/CommentView,guid,32f08181-603a-41a5-83d7-36b0899fd394.aspx</comments>
      <category>Technology/WinCE</category>
    </item>
    <item>
      <trackback:ping>http://blog.salvoz.com/Trackback.aspx?guid=5b2db66e-6f92-4a5c-8d0d-360addc9c679</trackback:ping>
      <pingback:server>http://blog.salvoz.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.salvoz.com/PermaLink,guid,5b2db66e-6f92-4a5c-8d0d-360addc9c679.aspx</pingback:target>
      <dc:creator>Adam Salvo</dc:creator>
      <wfw:comment>http://blog.salvoz.com/CommentView,guid,5b2db66e-6f92-4a5c-8d0d-360addc9c679.aspx</wfw:comment>
      <wfw:commentRss>http://blog.salvoz.com/SyndicationService.asmx/GetEntryCommentsRss?guid=5b2db66e-6f92-4a5c-8d0d-360addc9c679</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I was doing some Google searches for more information on Linq and SqlCe 3.5 this morning.
While I knew you could use the SqlMetal command line utility to get Linq to Sql Support
for SqlCe 3.5, I made an incorrect assumption that Linq to Sql was available on the
compact framework. For the love of god, could Microsoft please release a Compact Framework
builder, akin to platform builder for Windows CE. For smart phones and other off the
shelf devices, keep an official CF release, but for those of us writing applications
bundle withed devices, let us determine what we need, and do not need in the compact
framework.
</p>
        <p>
Anyway, during my search, I came across <a href="http://dvanderboom.wordpress.com/">Dan
Vanderboom's</a> blog. Dave is a Windows Mobile developer and shares some of the same
pain that I do. He has alot of good information, and is currently working on a enterprise
manager like application for SqlCe running on devices, but will not require active
sync. 
</p>
        <p>
Thanks to Dave, I found 2 new applications for my smart phone.
</p>
        <ol>
          <li>
            <a href="http://www.freewareppc.com/utilities/taskmanager.shtml">Task Manager</a> -
The name is somewhat deceiving, as it is allot more then just a task manager. You
can view processes, window handles, device drivers, edit the registry, view network
stats and more. 
</li>
          <li>
            <a href="http://www.freewareppc.com/utilities/taskmanager.shtml">WiFiFoFum</a> - War
driving application for the Pocket PC.</li>
        </ol>
        <img width="0" height="0" src="http://blog.salvoz.com/aggbug.ashx?id=5b2db66e-6f92-4a5c-8d0d-360addc9c679" />
        <br />
        <hr />
This weblog is sponsored by <a href="http://www.salvoz.com">Adam Salvo</a>. 
</body>
      <title>Some new Smart Phone Applications from a new blogging resource</title>
      <guid isPermaLink="false">http://blog.salvoz.com/PermaLink,guid,5b2db66e-6f92-4a5c-8d0d-360addc9c679.aspx</guid>
      <link>http://blog.salvoz.com/2008/01/14/SomeNewSmartPhoneApplicationsFromANewBloggingResource.aspx</link>
      <pubDate>Mon, 14 Jan 2008 15:28:52 GMT</pubDate>
      <description>&lt;p&gt;
I was doing some Google searches for more information on Linq and SqlCe 3.5 this morning.
While I knew you could use the SqlMetal command line utility to get Linq to Sql Support
for SqlCe 3.5, I made an incorrect assumption that Linq to Sql was available on the
compact framework. For the love of god, could Microsoft please release a Compact Framework
builder, akin to platform builder for Windows CE. For smart phones and other off the
shelf devices, keep an official CF release, but for those of us writing applications
bundle withed devices, let us determine what we need, and do not need in the compact
framework.
&lt;/p&gt;
&lt;p&gt;
Anyway, during my search, I came across &lt;a href="http://dvanderboom.wordpress.com/"&gt;Dan
Vanderboom's&lt;/a&gt; blog. Dave is a Windows Mobile developer and shares some of the same
pain that I do. He has alot of good information, and is currently working on a enterprise
manager like application for SqlCe running on devices, but will not require active
sync. 
&lt;/p&gt;
&lt;p&gt;
Thanks to Dave, I found 2 new applications for my smart phone.
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;a href="http://www.freewareppc.com/utilities/taskmanager.shtml"&gt;Task Manager&lt;/a&gt; -
The name is somewhat deceiving, as it is allot more then just a task manager. You
can view processes, window handles, device drivers, edit the registry, view network
stats and more. 
&lt;li&gt;
&lt;a href="http://www.freewareppc.com/utilities/taskmanager.shtml"&gt;WiFiFoFum&lt;/a&gt; - War
driving application for the Pocket PC.&lt;/li&gt;
&lt;/ol&gt;
&lt;img width="0" height="0" src="http://blog.salvoz.com/aggbug.ashx?id=5b2db66e-6f92-4a5c-8d0d-360addc9c679" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.salvoz.com"&gt;Adam Salvo&lt;/a&gt;. </description>
      <comments>http://blog.salvoz.com/CommentView,guid,5b2db66e-6f92-4a5c-8d0d-360addc9c679.aspx</comments>
      <category>Technology/Tools</category>
      <category>Technology/WinCE</category>
    </item>
    <item>
      <trackback:ping>http://blog.salvoz.com/Trackback.aspx?guid=a62d6486-760b-4891-8acb-df58f6124226</trackback:ping>
      <pingback:server>http://blog.salvoz.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.salvoz.com/PermaLink,guid,a62d6486-760b-4891-8acb-df58f6124226.aspx</pingback:target>
      <dc:creator>Adam Salvo</dc:creator>
      <wfw:comment>http://blog.salvoz.com/CommentView,guid,a62d6486-760b-4891-8acb-df58f6124226.aspx</wfw:comment>
      <wfw:commentRss>http://blog.salvoz.com/SyndicationService.asmx/GetEntryCommentsRss?guid=a62d6486-760b-4891-8acb-df58f6124226</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Let this be my first post in my new Windows CE category. I have a feeling I will be
writing more stuff about WinCE in the coming months. I wanted to jot down some notes
from a couple of articles I read over at <a href="http://www.opennetcf.com/">OpenNetCF</a> for
future review. Most of the high level concepts I already knew, but it's nice to get
some details once in a while. 
</p>
        <p>
          <a href="http://community.opennetcf.com/articles/cf/archive/2007/09/21/improving-data-access-performance-with-data-caching.aspx">Data
Caching</a>
        </p>
        <ul>
          <li>
No performance gain in keeping the data connection open for the life of an application.</li>
          <li>
Cache reads are two orders of magnitude faster then a database read. As the article
points out, this is interesting due to the fact that the database, and cached data
were both stored in RAM. 
</li>
          <li>
Several of the reader comments were interesting</li>
          <ul>
            <li>
The first time a SqlCE Connection is opened, the database is loaded into shared memory</li>
            <li>
One option is to have a connection opened for the life of the application, but not
to use it, this is just to keep the engine loaded. Then open/close connections in
your DAL as you normally would. This was recommended by Steve Lasker, a member of
the SQL CE dev team. Steve also points out that reusing a command object and changing
the text code hurt more then help, as you can't take advantage of query plans. Reusing
a command object can sometimes help with the garbage collector. 
</li>
            <li>
Another reader provided a example where it looks like he is doing an index scan and
getting faster results then directly querying the database. It's hard to tell without
running the sample code.</li>
          </ul>
        </ul>
        <p>
          <a href="http://community.opennetcf.com/articles/cf/archive/2007/08/10/don-t-fear-the-garbage-collector.aspx">Garbage
Collector</a>
        </p>
        <ul>
          <li>
GC suspends all threads while it performs necessary actions, such as freeing and moving
memory. Frequent GC's can have an adverse affect on performance.</li>
          <li>
Remote performance monitor, which I <a href="http://blog.salvoz.com/2007/10/15/AnalyzingACompactFrameworkApplicationUsingRemotePerformanceMonitor.aspx">blogged
about</a> before, is a valuable tool. This article provides a good example of how
to interpret some of the numbers. 
</li>
          <li>
Don't fear the GC, and take the time to understand what the numbers in remote performance
monitor mean. 
</li>
        </ul>
        <p>
I'm also in search of a decent MVC and IoC framework for Windows CE. I'll probably
be posting more on this later. 
</p>
        <img width="0" height="0" src="http://blog.salvoz.com/aggbug.ashx?id=a62d6486-760b-4891-8acb-df58f6124226" />
        <br />
        <hr />
This weblog is sponsored by <a href="http://www.salvoz.com">Adam Salvo</a>. 
</body>
      <title>Windows CE</title>
      <guid isPermaLink="false">http://blog.salvoz.com/PermaLink,guid,a62d6486-760b-4891-8acb-df58f6124226.aspx</guid>
      <link>http://blog.salvoz.com/2008/01/12/WindowsCE.aspx</link>
      <pubDate>Sat, 12 Jan 2008 21:25:34 GMT</pubDate>
      <description>&lt;p&gt;
Let this be my first post in my new Windows CE category. I have a feeling I will be
writing more stuff about WinCE in the coming months. I wanted to jot down some notes
from a couple of articles I read over at &lt;a href="http://www.opennetcf.com/"&gt;OpenNetCF&lt;/a&gt; for
future review. Most of the high level concepts I already knew, but it's nice to get
some details once in a while. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://community.opennetcf.com/articles/cf/archive/2007/09/21/improving-data-access-performance-with-data-caching.aspx"&gt;Data
Caching&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
No performance gain in keeping the data connection open for the life of an application.&lt;/li&gt;
&lt;li&gt;
Cache reads are two orders of magnitude faster then a database read. As the article
points out, this is interesting due to the fact that the database, and cached data
were both stored in RAM. 
&lt;/li&gt;
&lt;li&gt;
Several of the reader comments were interesting&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
The first time a SqlCE Connection is opened, the database is loaded into shared memory&lt;/li&gt;
&lt;li&gt;
One option is to have a connection opened for the life of the application, but not
to use it, this is just to keep the engine loaded. Then open/close connections in
your DAL as you normally would. This was recommended by Steve Lasker, a member of
the SQL CE dev team. Steve also points out that reusing a command object and changing
the text code hurt more then help, as you can't take advantage of query plans. Reusing
a command object can sometimes help with the garbage collector. 
&lt;/li&gt;
&lt;li&gt;
Another reader provided a example where it looks like he is doing an index scan and
getting faster results then directly querying the database. It's hard to tell without
running the sample code.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;a href="http://community.opennetcf.com/articles/cf/archive/2007/08/10/don-t-fear-the-garbage-collector.aspx"&gt;Garbage
Collector&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
GC suspends all threads while it performs necessary actions, such as freeing and moving
memory. Frequent GC's can have an adverse affect on performance.&lt;/li&gt;
&lt;li&gt;
Remote performance monitor, which I &lt;a href="http://blog.salvoz.com/2007/10/15/AnalyzingACompactFrameworkApplicationUsingRemotePerformanceMonitor.aspx"&gt;blogged
about&lt;/a&gt; before, is a valuable tool. This article provides a good example of how
to interpret some of the numbers. 
&lt;/li&gt;
&lt;li&gt;
Don't fear the GC, and take the time to understand what the numbers in remote performance
monitor mean. 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I'm also in search of a decent MVC and IoC framework for Windows CE. I'll probably
be posting more on this later. 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.salvoz.com/aggbug.ashx?id=a62d6486-760b-4891-8acb-df58f6124226" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.salvoz.com"&gt;Adam Salvo&lt;/a&gt;. </description>
      <comments>http://blog.salvoz.com/CommentView,guid,a62d6486-760b-4891-8acb-df58f6124226.aspx</comments>
      <category>Technology/Review For Future Projects</category>
      <category>Technology/WinCE</category>
    </item>
  </channel>
</rss>