<?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:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">
  <channel>
    <title>Rockford Lhotka - Windows Phone</title>
    <link>http://www.lhotka.net/weblog/</link>
    <description>Creator of the CSLA .NET framework</description>
    <language>en-us</language>
    <copyright>Marimer LLC</copyright>
    <lastBuildDate>Wed, 20 Mar 2013 03:56:18 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>rocky@lhotka.net</managingEditor>
    <webMaster>rocky@lhotka.net</webMaster>
    <item>
      <trackback:ping>http://www.lhotka.net/weblog/Trackback.aspx?guid=7243ebb2-0068-4f59-a35c-e0f54d6943b2</trackback:ping>
      <pingback:server>http://www.lhotka.net/weblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.lhotka.net/weblog/PermaLink,guid,7243ebb2-0068-4f59-a35c-e0f54d6943b2.aspx</pingback:target>
      <dc:creator>Rockford Lhotka</dc:creator>
      <wfw:comment>http://www.lhotka.net/weblog/CommentView,guid,7243ebb2-0068-4f59-a35c-e0f54d6943b2.aspx</wfw:comment>
      <wfw:commentRss>http://www.lhotka.net/weblog/SyndicationService.asmx/GetEntryCommentsRss?guid=7243ebb2-0068-4f59-a35c-e0f54d6943b2</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The final release of CSLA 4 version 4.5.20 is now available for download
</p>
        <p>
          <a href="http://www.cslanet.com/Download.html">http://www.cslanet.com/Download.html</a>
        </p>
        <p>
It is also available via NuGet.
</p>
        <p>
CSLA .NET is a software development framework that helps you build a powerful, maintainable
business logic layer for WinRT (Windows 8), WPF, Web, service-oriented, Windows Phone,
Silverlight, and workflow applications.
</p>
        <p>
This new release adds support for Windows Phone 8 to the existing support for .NET
4, .NET 4.5, Windows Runtime (WinRT), and Silverlight 5.
</p>
        <p>
It also includes some important bug fixes, and relatively minor enhancements in other
areas of the framework. So if you are using any previous version of 4.5 you really
should upgrade to this new release to realize these benefits.
</p>
        <p>
One other note: this release uses a new WIX-based installer, and so it shouldn’t have
the issues people encountered with the InstallShield-based installer used in the previous
release. As always, I generally recommend using NuGet to include the assemblies in
your projects, as that’s the simplest and most reliable approach.
</p>
        <img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=7243ebb2-0068-4f59-a35c-e0f54d6943b2" />
      </body>
      <title>CSLA 4 version 4.5.20 release available</title>
      <guid isPermaLink="false">http://www.lhotka.net/weblog/PermaLink,guid,7243ebb2-0068-4f59-a35c-e0f54d6943b2.aspx</guid>
      <link>http://www.lhotka.net/weblog/CSLA4Version4520ReleaseAvailable.aspx</link>
      <pubDate>Wed, 20 Mar 2013 03:56:18 GMT</pubDate>
      <description>&lt;p&gt;
The final release of CSLA 4 version 4.5.20 is now available for download
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.cslanet.com/Download.html"&gt;http://www.cslanet.com/Download.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
It is also available via NuGet.
&lt;/p&gt;
&lt;p&gt;
CSLA .NET is a software development framework that helps you build a powerful, maintainable
business logic layer for WinRT (Windows 8), WPF, Web, service-oriented, Windows Phone,
Silverlight, and workflow applications.
&lt;/p&gt;
&lt;p&gt;
This new release adds support for Windows Phone 8 to the existing support for .NET
4, .NET 4.5, Windows Runtime (WinRT), and Silverlight 5.
&lt;/p&gt;
&lt;p&gt;
It also includes some important bug fixes, and relatively minor enhancements in other
areas of the framework. So if you are using any previous version of 4.5 you really
should upgrade to this new release to realize these benefits.
&lt;/p&gt;
&lt;p&gt;
One other note: this release uses a new WIX-based installer, and so it shouldn’t have
the issues people encountered with the InstallShield-based installer used in the previous
release. As always, I generally recommend using NuGet to include the assemblies in
your projects, as that’s the simplest and most reliable approach.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=7243ebb2-0068-4f59-a35c-e0f54d6943b2" /&gt;</description>
      <comments>http://www.lhotka.net/weblog/CommentView,guid,7243ebb2-0068-4f59-a35c-e0f54d6943b2.aspx</comments>
      <category>CSLA .NET</category>
      <category>Windows Phone</category>
    </item>
    <item>
      <trackback:ping>http://www.lhotka.net/weblog/Trackback.aspx?guid=f2b1d727-81c8-49a4-8210-684b3d1633c3</trackback:ping>
      <pingback:server>http://www.lhotka.net/weblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.lhotka.net/weblog/PermaLink,guid,f2b1d727-81c8-49a4-8210-684b3d1633c3.aspx</pingback:target>
      <dc:creator>Rockford Lhotka</dc:creator>
      <wfw:comment>http://www.lhotka.net/weblog/CommentView,guid,f2b1d727-81c8-49a4-8210-684b3d1633c3.aspx</wfw:comment>
      <wfw:commentRss>http://www.lhotka.net/weblog/SyndicationService.asmx/GetEntryCommentsRss?guid=f2b1d727-81c8-49a4-8210-684b3d1633c3</wfw:commentRss>
      <slash:comments>4</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The strangest thing happened this evening.
</p>
        <p>
My wife’s best friend is visiting and we’re watching The Daily Show and the Colbert
Report on the Xbox using Hulu Plus – catching up on our backlog of funny.
</p>
        <p>
All of a sudden the TV goes blank, and then a picture appears on the screen. A picture
from the friend’s <em>phone</em>.
</p>
        <p>
WTF!?!
</p>
        <p>
So we stopped watching the shows and figured out what was going on (sort of).
</p>
        <p>
She has a Samsung phone – one of the ones that is a “rip off” of the iPhone, so it
is a pretty nice smart phone. And her phone is on our wifi.
</p>
        <p>
When looking at a picture on her phone there’s a button at the top of the screen that,
when tapped, sends the photo to the Xbox. It literally takes over the Xbox and shows
the picture. And you can pan through pictures on the phone and they each appear on
the Xbox (TV) – the images streaming from the phone to the Xbox.
</p>
        <p>
On one hand this is pretty cool, and I wonder why my Windows Phone can’t do this?
</p>
        <p>
On the other hand, it is a little scary to think that she was just playing around
with her phone and was able (albeit accidentally) to hijack my Xbox.
</p>
        <p>
Talk about a connected world!
</p>
        <img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=f2b1d727-81c8-49a4-8210-684b3d1633c3" />
      </body>
      <title>Xbox, phones, and pictures</title>
      <guid isPermaLink="false">http://www.lhotka.net/weblog/PermaLink,guid,f2b1d727-81c8-49a4-8210-684b3d1633c3.aspx</guid>
      <link>http://www.lhotka.net/weblog/XboxPhonesAndPictures.aspx</link>
      <pubDate>Sat, 09 Feb 2013 05:21:54 GMT</pubDate>
      <description>&lt;p&gt;
The strangest thing happened this evening.
&lt;/p&gt;
&lt;p&gt;
My wife’s best friend is visiting and we’re watching The Daily Show and the Colbert
Report on the Xbox using Hulu Plus – catching up on our backlog of funny.
&lt;/p&gt;
&lt;p&gt;
All of a sudden the TV goes blank, and then a picture appears on the screen. A picture
from the friend’s &lt;em&gt;phone&lt;/em&gt;.
&lt;/p&gt;
&lt;p&gt;
WTF!?!
&lt;/p&gt;
&lt;p&gt;
So we stopped watching the shows and figured out what was going on (sort of).
&lt;/p&gt;
&lt;p&gt;
She has a Samsung phone – one of the ones that is a “rip off” of the iPhone, so it
is a pretty nice smart phone. And her phone is on our wifi.
&lt;/p&gt;
&lt;p&gt;
When looking at a picture on her phone there’s a button at the top of the screen that,
when tapped, sends the photo to the Xbox. It literally takes over the Xbox and shows
the picture. And you can pan through pictures on the phone and they each appear on
the Xbox (TV) – the images streaming from the phone to the Xbox.
&lt;/p&gt;
&lt;p&gt;
On one hand this is pretty cool, and I wonder why my Windows Phone can’t do this?
&lt;/p&gt;
&lt;p&gt;
On the other hand, it is a little scary to think that she was just playing around
with her phone and was able (albeit accidentally) to hijack my Xbox.
&lt;/p&gt;
&lt;p&gt;
Talk about a connected world!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=f2b1d727-81c8-49a4-8210-684b3d1633c3" /&gt;</description>
      <comments>http://www.lhotka.net/weblog/CommentView,guid,f2b1d727-81c8-49a4-8210-684b3d1633c3.aspx</comments>
      <category>Windows Phone</category>
      <category>Xbox</category>
    </item>
    <item>
      <trackback:ping>http://www.lhotka.net/weblog/Trackback.aspx?guid=8da1c6bb-d8cd-4325-aaff-533f660668f0</trackback:ping>
      <pingback:server>http://www.lhotka.net/weblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.lhotka.net/weblog/PermaLink,guid,8da1c6bb-d8cd-4325-aaff-533f660668f0.aspx</pingback:target>
      <dc:creator>Rockford Lhotka</dc:creator>
      <wfw:comment>http://www.lhotka.net/weblog/CommentView,guid,8da1c6bb-d8cd-4325-aaff-533f660668f0.aspx</wfw:comment>
      <wfw:commentRss>http://www.lhotka.net/weblog/SyndicationService.asmx/GetEntryCommentsRss?guid=8da1c6bb-d8cd-4325-aaff-533f660668f0</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I have released a beta of CSLA .NET: version 4.5.11, working toward a final release
in a few weeks.
</p>
        <p>
CSLA .NET is an open source software development framework that helps you build a
reusable, scalable, and maintainable object-oriented business layer for your applications.
</p>
        <p>
This update includes a few interesting features/changes.
</p>
        <ol>
          <li>
Adds support for Windows Phone 8 (WP8) development on the Windows Phone Runtime (WinPRT)
platform 
</li>
          <li>
Simplifies support for ASP.NET MVC 3 and ASP.NET MVC 4, as well as ADO.NET EF 4 and
5 by splitting functionality into separate assemblies and nuget packages 
</li>
          <li>
Changes the local data portal to have the same behavior as a remote data portal for
async calls; specifically this means that the local data portal automatically shifts
all async requests onto a background thread from the thread pool 
</li>
          <li>
Transactional attribute now allows you to set the isolation level 
</li>
          <li>
Various bug fixes 
</li>
        </ol>
        <p>
You can get this prerelease version from nuget in Visual Studio, or you can download
the new Wix-based installer from the <a href="http://www.lhotka.net/cslanet/download.aspx">CSLA
download page</a>.
</p>
        <img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=8da1c6bb-d8cd-4325-aaff-533f660668f0" />
      </body>
      <title>CSLA 4.5 version 4.5.11 beta available</title>
      <guid isPermaLink="false">http://www.lhotka.net/weblog/PermaLink,guid,8da1c6bb-d8cd-4325-aaff-533f660668f0.aspx</guid>
      <link>http://www.lhotka.net/weblog/CSLA45Version4511BetaAvailable.aspx</link>
      <pubDate>Wed, 06 Feb 2013 23:36:07 GMT</pubDate>
      <description>&lt;p&gt;
I have released a beta of CSLA .NET: version 4.5.11, working toward a final release
in a few weeks.
&lt;/p&gt;
&lt;p&gt;
CSLA .NET is an open source software development framework that helps you build a
reusable, scalable, and maintainable object-oriented business layer for your applications.
&lt;/p&gt;
&lt;p&gt;
This update includes a few interesting features/changes.
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Adds support for Windows Phone 8 (WP8) development on the Windows Phone Runtime (WinPRT)
platform 
&lt;li&gt;
Simplifies support for ASP.NET MVC 3 and ASP.NET MVC 4, as well as ADO.NET EF 4 and
5 by splitting functionality into separate assemblies and nuget packages 
&lt;li&gt;
Changes the local data portal to have the same behavior as a remote data portal for
async calls; specifically this means that the local data portal automatically shifts
all async requests onto a background thread from the thread pool 
&lt;li&gt;
Transactional attribute now allows you to set the isolation level 
&lt;li&gt;
Various bug fixes 
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
You can get this prerelease version from nuget in Visual Studio, or you can download
the new Wix-based installer from the &lt;a href="http://www.lhotka.net/cslanet/download.aspx"&gt;CSLA
download page&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=8da1c6bb-d8cd-4325-aaff-533f660668f0" /&gt;</description>
      <comments>http://www.lhotka.net/weblog/CommentView,guid,8da1c6bb-d8cd-4325-aaff-533f660668f0.aspx</comments>
      <category>CSLA .NET</category>
      <category>Windows Phone</category>
      <category>WP8</category>
    </item>
    <item>
      <trackback:ping>http://www.lhotka.net/weblog/Trackback.aspx?guid=970ce9b2-a608-4c68-9784-bc0bb0ddc5b1</trackback:ping>
      <pingback:server>http://www.lhotka.net/weblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.lhotka.net/weblog/PermaLink,guid,970ce9b2-a608-4c68-9784-bc0bb0ddc5b1.aspx</pingback:target>
      <dc:creator>Rockford Lhotka</dc:creator>
      <wfw:comment>http://www.lhotka.net/weblog/CommentView,guid,970ce9b2-a608-4c68-9784-bc0bb0ddc5b1.aspx</wfw:comment>
      <wfw:commentRss>http://www.lhotka.net/weblog/SyndicationService.asmx/GetEntryCommentsRss?guid=970ce9b2-a608-4c68-9784-bc0bb0ddc5b1</wfw:commentRss>
      <slash:comments>6</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
With all the new terminology and conceptual surface area that comes with Windows 8,
I think it is important to have some clarity and consistency around the terms and
concepts.
</p>
        <p>
Here are some of the basic terms:
</p>
        <ul>
          <li>
            <strong>Windows 8</strong> – the new operating system that runs in a “dual mode”:
Desktop (Win32) and WinRT (Windows Runtime)</li>
          <li>
            <strong>Desktop</strong> – the Win32 OS API that supports today’s applications in
Win8 (basically Windows 7)</li>
          <li>
            <strong>WinRT</strong> – Windows Runtime: the new OS API that supports “modern” applications 
</li>
          <li>
            <strong>Windows RT</strong> – Windows 8 on ARM devices (note: Windows RT and WinRT
are not the same thing)</li>
          <li>
            <strong>Windows 8 UI style</strong> – a user experience design language often used
when building WinRT applications 
</li>
        </ul>
        <p>
Windows 8 basically includes two different operating systems. 
</p>
        <p>
One is the “old” Win32 OS we think of today as Windows 7. This is now called Windows
8 Desktop, and is available on Windows 8 Intel tablets, laptops, and desktops. This
is only partially available on ARM devices, and you should not expect to build or
deploy Win32 Desktop apps to ARM devices.
</p>
        <p>
The other is the new Windows Runtime (WinRT) “operating system”. This is a whole new
platform for apps, and is available on all Windows 8 machines (ARM, Intel, tablet,
laptop, desktop). If you want the widest reach for your apps going forward, you should
be building your apps for WinRT.
</p>
        <p>
Confusingly enough, “Windows 8” runs on Intel devices/computers. “Windows RT” is Windows
8 for ARM devices. The only real difference is that Windows RT won’t allow you to
deploy Win32 Desktop apps. Windows RT does have a Desktop mode, but only Microsoft
apps can run there. Again, if you want to build a Windows 8 app that works on all
devices/computers, build the app for WinRT, because it is consistently available.
</p>
        <p>
Windows 8 UI style describes a user experience design language for the look and feel
of WinRT apps. This isn’t a technology, it is a set of design principles, concepts,
and guidelines.
</p>
        <p>
Another source of confusion is that to build a WinRT app in Visual Studio you need
to create a “Windows 8 UI style” app. What makes this odd, is that this type of app
is targeting WinRT, and it is entirely up to you to conform to the Windows 8 UI style
guidelines as you build the app.
</p>
        <p>
“Windows 8 UI style” was called “Metro style”, but Microsoft has dropped the use of
the term “Metro”. I am skeptical that this new “Windows 8 UI style” term will last
long-term, because it obviously makes little sense for Windows Phone 8, Xbox, Windows
9, and other future platforms that may use the same UI style. But for now, this appears
to be the term Microsoft is using.
</p>
        <p>
Thinking about app development now, there are several options on the Microsoft platforms. 
<br /></p>
        <table border="0" cellspacing="0" cellpadding="2" width="637">
          <tbody>
            <tr>
              <td valign="top" width="113">
 </td>
              <td valign="top" width="207">
                <strong>Technologies</strong>
              </td>
              <td valign="top" width="315">
                <strong>Platforms</strong>
              </td>
            </tr>
            <tr>
              <td valign="top" width="113">
Full .NET 4.5</td>
              <td valign="top" width="207">
ASP.NET, WPF, Windows Forms, WCF, WF</td>
              <td valign="top" width="315">
Windows 7, Windows 8 Desktop, Windows Server 2008, Windows Server 2012</td>
            </tr>
            <tr>
              <td valign="top" width="113">
WinRT .NET 4.5</td>
              <td valign="top" width="207">
Windows 8 UI style apps</td>
              <td valign="top" width="315">
Windows 8 WinRT, Windows Phone 8, rumored for next-gen Xbox</td>
            </tr>
            <tr>
              <td valign="top" width="113">
Full .NET 4</td>
              <td valign="top" width="207">
ASP.NET, WPF, Windows Forms, WCF, WF</td>
              <td valign="top" width="315">
Windows 7, Windows Server 2008, Azure PaaS</td>
            </tr>
            <tr>
              <td valign="top" width="113">
Silverlight</td>
              <td valign="top" width="207">
Silverlight</td>
              <td valign="top" width="315">
Windows 7, Windows 8 Desktop, Windows Phone 7, Windows Phone 8</td>
            </tr>
          </tbody>
        </table>
        <img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=970ce9b2-a608-4c68-9784-bc0bb0ddc5b1" />
      </body>
      <title>Windows 8 Terminology and Concepts</title>
      <guid isPermaLink="false">http://www.lhotka.net/weblog/PermaLink,guid,970ce9b2-a608-4c68-9784-bc0bb0ddc5b1.aspx</guid>
      <link>http://www.lhotka.net/weblog/Windows8TerminologyAndConcepts.aspx</link>
      <pubDate>Fri, 03 Aug 2012 16:03:20 GMT</pubDate>
      <description>&lt;p&gt;
With all the new terminology and conceptual surface area that comes with Windows 8,
I think it is important to have some clarity and consistency around the terms and
concepts.
&lt;/p&gt;
&lt;p&gt;
Here are some of the basic terms:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Windows 8&lt;/strong&gt; – the new operating system that runs in a “dual mode”:
Desktop (Win32) and WinRT (Windows Runtime)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Desktop&lt;/strong&gt; – the Win32 OS API that supports today’s applications in
Win8 (basically Windows 7)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WinRT&lt;/strong&gt; – Windows Runtime: the new OS API that supports “modern” applications 
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Windows RT&lt;/strong&gt; – Windows 8 on ARM devices (note: Windows RT and WinRT
are not the same thing)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Windows 8 UI style&lt;/strong&gt; – a user experience design language often used
when building WinRT applications 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Windows 8 basically includes two different operating systems. 
&lt;/p&gt;
&lt;p&gt;
One is the “old” Win32 OS we think of today as Windows 7. This is now called Windows
8 Desktop, and is available on Windows 8 Intel tablets, laptops, and desktops. This
is only partially available on ARM devices, and you should not expect to build or
deploy Win32 Desktop apps to ARM devices.
&lt;/p&gt;
&lt;p&gt;
The other is the new Windows Runtime (WinRT) “operating system”. This is a whole new
platform for apps, and is available on all Windows 8 machines (ARM, Intel, tablet,
laptop, desktop). If you want the widest reach for your apps going forward, you should
be building your apps for WinRT.
&lt;/p&gt;
&lt;p&gt;
Confusingly enough, “Windows 8” runs on Intel devices/computers. “Windows RT” is Windows
8 for ARM devices. The only real difference is that Windows RT won’t allow you to
deploy Win32 Desktop apps. Windows RT does have a Desktop mode, but only Microsoft
apps can run there. Again, if you want to build a Windows 8 app that works on all
devices/computers, build the app for WinRT, because it is consistently available.
&lt;/p&gt;
&lt;p&gt;
Windows 8 UI style describes a user experience design language for the look and feel
of WinRT apps. This isn’t a technology, it is a set of design principles, concepts,
and guidelines.
&lt;/p&gt;
&lt;p&gt;
Another source of confusion is that to build a WinRT app in Visual Studio you need
to create a “Windows 8 UI style” app. What makes this odd, is that this type of app
is targeting WinRT, and it is entirely up to you to conform to the Windows 8 UI style
guidelines as you build the app.
&lt;/p&gt;
&lt;p&gt;
“Windows 8 UI style” was called “Metro style”, but Microsoft has dropped the use of
the term “Metro”. I am skeptical that this new “Windows 8 UI style” term will last
long-term, because it obviously makes little sense for Windows Phone 8, Xbox, Windows
9, and other future platforms that may use the same UI style. But for now, this appears
to be the term Microsoft is using.
&lt;/p&gt;
&lt;p&gt;
Thinking about app development now, there are several options on the Microsoft platforms. 
&lt;br /&gt;
&lt;/p&gt;
&lt;table border="0" cellspacing="0" cellpadding="2" width="637"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="113"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top" width="207"&gt;
&lt;strong&gt;Technologies&lt;/strong&gt;&lt;/td&gt;
&lt;td valign="top" width="315"&gt;
&lt;strong&gt;Platforms&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="113"&gt;
Full .NET 4.5&lt;/td&gt;
&lt;td valign="top" width="207"&gt;
ASP.NET, WPF, Windows Forms, WCF, WF&lt;/td&gt;
&lt;td valign="top" width="315"&gt;
Windows 7, Windows 8 Desktop, Windows Server 2008, Windows Server 2012&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="113"&gt;
WinRT .NET 4.5&lt;/td&gt;
&lt;td valign="top" width="207"&gt;
Windows 8 UI style apps&lt;/td&gt;
&lt;td valign="top" width="315"&gt;
Windows 8 WinRT, Windows Phone 8, rumored for next-gen Xbox&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="113"&gt;
Full .NET 4&lt;/td&gt;
&lt;td valign="top" width="207"&gt;
ASP.NET, WPF, Windows Forms, WCF, WF&lt;/td&gt;
&lt;td valign="top" width="315"&gt;
Windows 7, Windows Server 2008, Azure PaaS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="113"&gt;
Silverlight&lt;/td&gt;
&lt;td valign="top" width="207"&gt;
Silverlight&lt;/td&gt;
&lt;td valign="top" width="315"&gt;
Windows 7, Windows 8 Desktop, Windows Phone 7, Windows Phone 8&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=970ce9b2-a608-4c68-9784-bc0bb0ddc5b1" /&gt;</description>
      <comments>http://www.lhotka.net/weblog/CommentView,guid,970ce9b2-a608-4c68-9784-bc0bb0ddc5b1.aspx</comments>
      <category>Microsoft .NET</category>
      <category>Windows 8</category>
      <category>Windows Phone</category>
      <category>WinRT</category>
      <category>WP8</category>
    </item>
    <item>
      <trackback:ping>http://www.lhotka.net/weblog/Trackback.aspx?guid=2461dff3-e39c-4bd2-9279-12c349a04395</trackback:ping>
      <pingback:server>http://www.lhotka.net/weblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.lhotka.net/weblog/PermaLink,guid,2461dff3-e39c-4bd2-9279-12c349a04395.aspx</pingback:target>
      <dc:creator>Rockford Lhotka</dc:creator>
      <wfw:comment>http://www.lhotka.net/weblog/CommentView,guid,2461dff3-e39c-4bd2-9279-12c349a04395.aspx</wfw:comment>
      <wfw:commentRss>http://www.lhotka.net/weblog/SyndicationService.asmx/GetEntryCommentsRss?guid=2461dff3-e39c-4bd2-9279-12c349a04395</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
One of the primary goals for CSLA 4 version 4.3 (the next version we’ll be creating)
is to improve the performance of the MobileFormattter that is used for Silverlight
and Windows Phone applications. This is made all the more important, because it will
also be used in WinRT applications in the future.
</p>
        <p>
Sergey (a CSLA dev team member, and Magenic colleague) has been doing some heavy research
into this area, and we’d originally thought to do the changes as part of the 4.2 release.
It turns out that doing a really great job of optimization will require some breaking
changes – at least for people who aren’t using managed backing fields. So we are deferring
the bigger changes until 4.3.
</p>
        <p>
In the meantime, Sergey has blogged about <a href="http://dotnetspeak.com/index.php/2011/11/how-to-improve-performance-of-csla-for-silverlight/">how
to improve performance of MobileFormatter</a> in 3.8 and 4 (4.0, 4.1, or 4.2). These
are changes you can make to your CSLA codebase now if you want some of the performance
benefits without waiting for the “big change” that’ll come in 4.3.
</p>
        <img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=2461dff3-e39c-4bd2-9279-12c349a04395" />
      </body>
      <title>Improving CSLA 4 MobileFormatter behavior</title>
      <guid isPermaLink="false">http://www.lhotka.net/weblog/PermaLink,guid,2461dff3-e39c-4bd2-9279-12c349a04395.aspx</guid>
      <link>http://www.lhotka.net/weblog/ImprovingCSLA4MobileFormatterBehavior.aspx</link>
      <pubDate>Sat, 12 Nov 2011 18:41:27 GMT</pubDate>
      <description>&lt;p&gt;
One of the primary goals for CSLA 4 version 4.3 (the next version we’ll be creating)
is to improve the performance of the MobileFormattter that is used for Silverlight
and Windows Phone applications. This is made all the more important, because it will
also be used in WinRT applications in the future.
&lt;/p&gt;
&lt;p&gt;
Sergey (a CSLA dev team member, and Magenic colleague) has been doing some heavy research
into this area, and we’d originally thought to do the changes as part of the 4.2 release.
It turns out that doing a really great job of optimization will require some breaking
changes – at least for people who aren’t using managed backing fields. So we are deferring
the bigger changes until 4.3.
&lt;/p&gt;
&lt;p&gt;
In the meantime, Sergey has blogged about &lt;a href="http://dotnetspeak.com/index.php/2011/11/how-to-improve-performance-of-csla-for-silverlight/"&gt;how
to improve performance of MobileFormatter&lt;/a&gt; in 3.8 and 4 (4.0, 4.1, or 4.2). These
are changes you can make to your CSLA codebase now if you want some of the performance
benefits without waiting for the “big change” that’ll come in 4.3.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=2461dff3-e39c-4bd2-9279-12c349a04395" /&gt;</description>
      <comments>http://www.lhotka.net/weblog/CommentView,guid,2461dff3-e39c-4bd2-9279-12c349a04395.aspx</comments>
      <category>CSLA .NET</category>
      <category>Silverlight</category>
      <category>Windows Phone</category>
      <category>WinRT</category>
    </item>
    <item>
      <trackback:ping>http://www.lhotka.net/weblog/Trackback.aspx?guid=a5e273d3-6e8a-48ce-9adf-9f176cf34b2e</trackback:ping>
      <pingback:server>http://www.lhotka.net/weblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.lhotka.net/weblog/PermaLink,guid,a5e273d3-6e8a-48ce-9adf-9f176cf34b2e.aspx</pingback:target>
      <dc:creator>Rockford Lhotka</dc:creator>
      <wfw:comment>http://www.lhotka.net/weblog/CommentView,guid,a5e273d3-6e8a-48ce-9adf-9f176cf34b2e.aspx</wfw:comment>
      <wfw:commentRss>http://www.lhotka.net/weblog/SyndicationService.asmx/GetEntryCommentsRss?guid=a5e273d3-6e8a-48ce-9adf-9f176cf34b2e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.lhotka.net/weblog/content/binary/Windows-Live-Writer/CSLA-4-version-4.1-release_110AA/csla_logo1_32_2.png">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="csla_logo1_32" border="0" alt="csla_logo1_32" align="right" src="http://www.lhotka.net/weblog/content/binary/Windows-Live-Writer/CSLA-4-version-4.1-release_110AA/csla_logo1_32_thumb.png" width="112" height="32" />
          </a>I
am pleased to announce the release of CSLA .NET version 4.1 with support for .NET,
Silverlight and Windows Phone 7 (WP7).
</p>
        <p>
You can download CSLA 4 version 4.1 at <a href="http://www.lhotka.net/cslanet/download.aspx">http://www.lhotka.net/cslanet/download.aspx</a></p>
        <p>
Although there are numerous new features in version 4.1, the primary focus of this
release is Windows Phone 7. With CSLA 4 version 4.1 you can now author business classes
that run unchanged across the entire .NET platform:
</p>
        <ul>
          <li>
Windows Phone 7</li>
          <li>
Silverlight</li>
          <li>
WPF</li>
          <li>
ASP.NET MVC</li>
          <li>
ASP.NET Web Forms</li>
          <li>
WCF services (SOAP and REST)</li>
          <li>
asmx web services</li>
          <li>
Windows Forms</li>
        </ul>
        <p>
The ability to reuse your business layer on .NET, Silverlight and WP7 is incredibly
powerful, enabling you to extend your application to users on Windows, the web, and
now the phone.
</p>
        <p>
You can learn how to use CSLA 4 to build scalable, flexible, and maintainable applications
through the <a href="http://store.lhotka.net/Default.aspx?tabid=1560&amp;CategoryID=4&amp;List=1&amp;SortField=DateCreated+DESC%2cProductName&amp;Level=1&amp;ProductID=22">Using
CSLA 4 ebook series</a>. This ebook series is currently a work in progress and will
be finished in the first half of 2011.
</p>
        <img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=a5e273d3-6e8a-48ce-9adf-9f176cf34b2e" />
      </body>
      <title>CSLA 4 version 4.1 release</title>
      <guid isPermaLink="false">http://www.lhotka.net/weblog/PermaLink,guid,a5e273d3-6e8a-48ce-9adf-9f176cf34b2e.aspx</guid>
      <link>http://www.lhotka.net/weblog/CSLA4Version41Release.aspx</link>
      <pubDate>Wed, 19 Jan 2011 01:30:40 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.lhotka.net/weblog/content/binary/Windows-Live-Writer/CSLA-4-version-4.1-release_110AA/csla_logo1_32_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="csla_logo1_32" border="0" alt="csla_logo1_32" align="right" src="http://www.lhotka.net/weblog/content/binary/Windows-Live-Writer/CSLA-4-version-4.1-release_110AA/csla_logo1_32_thumb.png" width="112" height="32" /&gt;&lt;/a&gt;I
am pleased to announce the release of CSLA .NET version 4.1 with support for .NET,
Silverlight and Windows Phone 7 (WP7).
&lt;/p&gt;
&lt;p&gt;
You can download CSLA 4 version 4.1 at &lt;a href="http://www.lhotka.net/cslanet/download.aspx"&gt;http://www.lhotka.net/cslanet/download.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Although there are numerous new features in version 4.1, the primary focus of this
release is Windows Phone 7. With CSLA 4 version 4.1 you can now author business classes
that run unchanged across the entire .NET platform:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Windows Phone 7&lt;/li&gt;
&lt;li&gt;
Silverlight&lt;/li&gt;
&lt;li&gt;
WPF&lt;/li&gt;
&lt;li&gt;
ASP.NET MVC&lt;/li&gt;
&lt;li&gt;
ASP.NET Web Forms&lt;/li&gt;
&lt;li&gt;
WCF services (SOAP and REST)&lt;/li&gt;
&lt;li&gt;
asmx web services&lt;/li&gt;
&lt;li&gt;
Windows Forms&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The ability to reuse your business layer on .NET, Silverlight and WP7 is incredibly
powerful, enabling you to extend your application to users on Windows, the web, and
now the phone.
&lt;/p&gt;
&lt;p&gt;
You can learn how to use CSLA 4 to build scalable, flexible, and maintainable applications
through the &lt;a href="http://store.lhotka.net/Default.aspx?tabid=1560&amp;amp;CategoryID=4&amp;amp;List=1&amp;amp;SortField=DateCreated+DESC%2cProductName&amp;amp;Level=1&amp;amp;ProductID=22"&gt;Using
CSLA 4 ebook series&lt;/a&gt;. This ebook series is currently a work in progress and will
be finished in the first half of 2011.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=a5e273d3-6e8a-48ce-9adf-9f176cf34b2e" /&gt;</description>
      <comments>http://www.lhotka.net/weblog/CommentView,guid,a5e273d3-6e8a-48ce-9adf-9f176cf34b2e.aspx</comments>
      <category>CSLA .NET</category>
      <category>Windows Phone</category>
      <category>WP7</category>
    </item>
    <item>
      <trackback:ping>http://www.lhotka.net/weblog/Trackback.aspx?guid=1dc6dfd5-9814-45be-8535-1eb5c604ef87</trackback:ping>
      <pingback:server>http://www.lhotka.net/weblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.lhotka.net/weblog/PermaLink,guid,1dc6dfd5-9814-45be-8535-1eb5c604ef87.aspx</pingback:target>
      <dc:creator>Rockford Lhotka</dc:creator>
      <wfw:comment>http://www.lhotka.net/weblog/CommentView,guid,1dc6dfd5-9814-45be-8535-1eb5c604ef87.aspx</wfw:comment>
      <wfw:commentRss>http://www.lhotka.net/weblog/SyndicationService.asmx/GetEntryCommentsRss?guid=1dc6dfd5-9814-45be-8535-1eb5c604ef87</wfw:commentRss>
      <slash:comments>13</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I have a WP7 device: the <a href="http://htc.t-mobile.com/hd7">HTC HD7</a>.
</p>
        <p>
I’ve had it for a while now (since launch date in the US), but wanted to wait a little
before blogging about it to really get a good feel for what I do and don’t like.
</p>
        <p>
Also, by way of disclaimer, I’m coming to WP7 from Windows Mobile 6.5, so I can’t
compare and contrast to other modern phones like iPhone or Droid.
</p>
        <p>
In short, I really like Windows Phone 7, but there are better devices than the HD7
(unless you are on T-Mobile).
</p>
        <p>
Coming from an older phone like I did, the new WP7 phone OS is remarkable. Wonderful.
Truly a joy to use! And the HD7 has enough cpu, graphics and memory to make it fast
and very enjoyable.
</p>
        <p>
My only real issue is that the HD7 device’s camera button is so hard to push that
it is almost impossible to take a good picture, which makes the camera nearly useless.
That’s not the fault of WP7, that’s the fault of some HTC engineer with overdeveloped
finger muscles or something…
</p>
        <p>
The WP7 user experience is smooth and intuitive. It is loosely based on the Zune HD
user experience, but Microsoft clearly learned a lot from the Zune HD about what did
and didn’t work, and the phone’s user experience is consistently pleasant and easy.
</p>
        <p>
One of the most touted features of the phone are the the “live tiles” on the home
page. And they <em>are</em> nice. I’ve got mine customized to show phone, people,
email and weather on the very first page, with messages and a few other commonly used
items further down. There are a few other apps I’ve used now and then that I haven’t
put on the home page, because it is just as easy to get to them using the voice navigation.
</p>
        <p>
The cool thing though, is that the weather status and my wife’s Facebook status are
shown on that front page through the live tiles, so the most important information
is always right there <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.lhotka.net/weblog/content/binary/Windows-Live-Writer/Impressions-of-Windows-Phone-7_DE18/wlEmoticon-smile_2.png" /></p>
        <p>
I’ve downloaded some free and commercial apps from the Marketplace. That’s a seamless
experience, and includes seamless updates of the apps as they become available. My
only quibble with the Marketplace is that it doesn’t seem to filter between apps,
music, videos, etc. So sometimes searching for an app can be tedious because it seems
that a lot of songs use the same words in their titles, so it can take some time to
sift through the songs to find the app you want…
</p>
        <p>
In terms of apps, there are only three apps I am missing at this point:
</p>
        <ol>
          <li>
Bing (I want the voice-prompted navigation that comes with the Bing app – the built-in
Maps app is ok for maps, but horrible for actual driving navigation)</li>
          <li>
TripIt (the mobile web access is OK, but a smart client experience would be a lot
better)</li>
          <li>
EverNote (here the smart client (with offline caching of notes) is really important,
and the web interface is a poor substitute – enough so that I’m considering migrating
back to OneNote where I can share everything on my SkyDrive)</li>
        </ol>
        <p>
In terms of phone features, the only thing missing is tethering and/or using the phone
as a wifi hub. My 6.5 phone did both of those things and I used them constantly, so
losing this ability is a serious drawback. If I wasn’t such a Microsoft loyalist the
lack of tethering would probably have prevented me from getting this phone – but as
it is I’ve chosen to live with the pain.
</p>
        <p>
On the other hand, the way WP7’s “hubs” integrate together is wonderful. The People
and Pictures hubs, for example, automatically pull data from Facebook, Live, Outlook
and so forth – automatically bringing together nearly all the information I care to
see about everyone I interact with. This type of automatic data integration is amazingly
useful, and directly increases my productivity from a business and inter-personal
perspective.
</p>
        <p>
And of course the fact that the phone is a Zune device (and so can use <a href="http://www.lhotka.net/weblog/ZunenetRocks.aspx">my
beloved zune.net subscription</a>) is just icing on the cake. While I still carry
my Zune HD when traveling because it has enough memory to hold all my songs, I do
have a couple Smart DJ playlists synced to the phone for times when I’m sitting somewhere
and just need a little music. I always have the phone, but don’t always have the Zune
HD.
</p>
        <p>
Finally, there’s Netflix. The high-res screen on the phone makes watching video content
reasonably enjoyable. Not comparable to a TV or even laptop screen of course, but
certainly workable. So again, when I’m sitting somewhere and feel like a little diversion
there’s always Netflix content available.
</p>
        <p>
Would I recommend that someone get a WP7 device? Absolutely – WP7 is a joy to use!
</p>
        <p>
Would I recommend the HD7? Probably not, but if you are on T-Mobile you are kind of
stuck… And really, other than the stupid camera button, it is a perfectly decent phone
(I really like the large screen and overall form factor).
</p>
        <img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=1dc6dfd5-9814-45be-8535-1eb5c604ef87" />
      </body>
      <title>Impressions of Windows Phone 7</title>
      <guid isPermaLink="false">http://www.lhotka.net/weblog/PermaLink,guid,1dc6dfd5-9814-45be-8535-1eb5c604ef87.aspx</guid>
      <link>http://www.lhotka.net/weblog/ImpressionsOfWindowsPhone7.aspx</link>
      <pubDate>Sat, 11 Dec 2010 22:17:17 GMT</pubDate>
      <description>&lt;p&gt;
I have a WP7 device: the &lt;a href="http://htc.t-mobile.com/hd7"&gt;HTC HD7&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
I’ve had it for a while now (since launch date in the US), but wanted to wait a little
before blogging about it to really get a good feel for what I do and don’t like.
&lt;/p&gt;
&lt;p&gt;
Also, by way of disclaimer, I’m coming to WP7 from Windows Mobile 6.5, so I can’t
compare and contrast to other modern phones like iPhone or Droid.
&lt;/p&gt;
&lt;p&gt;
In short, I really like Windows Phone 7, but there are better devices than the HD7
(unless you are on T-Mobile).
&lt;/p&gt;
&lt;p&gt;
Coming from an older phone like I did, the new WP7 phone OS is remarkable. Wonderful.
Truly a joy to use! And the HD7 has enough cpu, graphics and memory to make it fast
and very enjoyable.
&lt;/p&gt;
&lt;p&gt;
My only real issue is that the HD7 device’s camera button is so hard to push that
it is almost impossible to take a good picture, which makes the camera nearly useless.
That’s not the fault of WP7, that’s the fault of some HTC engineer with overdeveloped
finger muscles or something…
&lt;/p&gt;
&lt;p&gt;
The WP7 user experience is smooth and intuitive. It is loosely based on the Zune HD
user experience, but Microsoft clearly learned a lot from the Zune HD about what did
and didn’t work, and the phone’s user experience is consistently pleasant and easy.
&lt;/p&gt;
&lt;p&gt;
One of the most touted features of the phone are the the “live tiles” on the home
page. And they &lt;em&gt;are&lt;/em&gt; nice. I’ve got mine customized to show phone, people,
email and weather on the very first page, with messages and a few other commonly used
items further down. There are a few other apps I’ve used now and then that I haven’t
put on the home page, because it is just as easy to get to them using the voice navigation.
&lt;/p&gt;
&lt;p&gt;
The cool thing though, is that the weather status and my wife’s Facebook status are
shown on that front page through the live tiles, so the most important information
is always right there &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.lhotka.net/weblog/content/binary/Windows-Live-Writer/Impressions-of-Windows-Phone-7_DE18/wlEmoticon-smile_2.png" /&gt;
&lt;/p&gt;
&lt;p&gt;
I’ve downloaded some free and commercial apps from the Marketplace. That’s a seamless
experience, and includes seamless updates of the apps as they become available. My
only quibble with the Marketplace is that it doesn’t seem to filter between apps,
music, videos, etc. So sometimes searching for an app can be tedious because it seems
that a lot of songs use the same words in their titles, so it can take some time to
sift through the songs to find the app you want…
&lt;/p&gt;
&lt;p&gt;
In terms of apps, there are only three apps I am missing at this point:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Bing (I want the voice-prompted navigation that comes with the Bing app – the built-in
Maps app is ok for maps, but horrible for actual driving navigation)&lt;/li&gt;
&lt;li&gt;
TripIt (the mobile web access is OK, but a smart client experience would be a lot
better)&lt;/li&gt;
&lt;li&gt;
EverNote (here the smart client (with offline caching of notes) is really important,
and the web interface is a poor substitute – enough so that I’m considering migrating
back to OneNote where I can share everything on my SkyDrive)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
In terms of phone features, the only thing missing is tethering and/or using the phone
as a wifi hub. My 6.5 phone did both of those things and I used them constantly, so
losing this ability is a serious drawback. If I wasn’t such a Microsoft loyalist the
lack of tethering would probably have prevented me from getting this phone – but as
it is I’ve chosen to live with the pain.
&lt;/p&gt;
&lt;p&gt;
On the other hand, the way WP7’s “hubs” integrate together is wonderful. The People
and Pictures hubs, for example, automatically pull data from Facebook, Live, Outlook
and so forth – automatically bringing together nearly all the information I care to
see about everyone I interact with. This type of automatic data integration is amazingly
useful, and directly increases my productivity from a business and inter-personal
perspective.
&lt;/p&gt;
&lt;p&gt;
And of course the fact that the phone is a Zune device (and so can use &lt;a href="http://www.lhotka.net/weblog/ZunenetRocks.aspx"&gt;my
beloved zune.net subscription&lt;/a&gt;) is just icing on the cake. While I still carry
my Zune HD when traveling because it has enough memory to hold all my songs, I do
have a couple Smart DJ playlists synced to the phone for times when I’m sitting somewhere
and just need a little music. I always have the phone, but don’t always have the Zune
HD.
&lt;/p&gt;
&lt;p&gt;
Finally, there’s Netflix. The high-res screen on the phone makes watching video content
reasonably enjoyable. Not comparable to a TV or even laptop screen of course, but
certainly workable. So again, when I’m sitting somewhere and feel like a little diversion
there’s always Netflix content available.
&lt;/p&gt;
&lt;p&gt;
Would I recommend that someone get a WP7 device? Absolutely – WP7 is a joy to use!
&lt;/p&gt;
&lt;p&gt;
Would I recommend the HD7? Probably not, but if you are on T-Mobile you are kind of
stuck… And really, other than the stupid camera button, it is a perfectly decent phone
(I really like the large screen and overall form factor).
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=1dc6dfd5-9814-45be-8535-1eb5c604ef87" /&gt;</description>
      <comments>http://www.lhotka.net/weblog/CommentView,guid,1dc6dfd5-9814-45be-8535-1eb5c604ef87.aspx</comments>
      <category>Windows Phone</category>
      <category>WP7</category>
    </item>
    <item>
      <trackback:ping>http://www.lhotka.net/weblog/Trackback.aspx?guid=fac2ec52-6b7b-4ead-b08e-06fda3c2d413</trackback:ping>
      <pingback:server>http://www.lhotka.net/weblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.lhotka.net/weblog/PermaLink,guid,fac2ec52-6b7b-4ead-b08e-06fda3c2d413.aspx</pingback:target>
      <dc:creator>Rockford Lhotka</dc:creator>
      <wfw:comment>http://www.lhotka.net/weblog/CommentView,guid,fac2ec52-6b7b-4ead-b08e-06fda3c2d413.aspx</wfw:comment>
      <wfw:commentRss>http://www.lhotka.net/weblog/SyndicationService.asmx/GetEntryCommentsRss?guid=fac2ec52-6b7b-4ead-b08e-06fda3c2d413</wfw:commentRss>
      <slash:comments>6</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Apparently music subscription services are struggling to gain traction
</p>
        <p>
          <a title="http://www.zdnet.com/blog/bott/more-itunes-alternatives-can-a-subscription-music-service-ever-succeed/2770?tag=nl.e539" href="http://www.zdnet.com/blog/bott/more-itunes-alternatives-can-a-subscription-music-service-ever-succeed/2770?tag=nl.e539">http://www.zdnet.com/blog/bott/more-itunes-alternatives-can-a-subscription-music-service-ever-succeed/2770?tag=nl.e539</a>
        </p>
        <p>
I can understand that, because I was an anti-digital-music person for a long time.
My thought was that I had no reason to pay for a music subscription when radio was
free.
</p>
        <p>
Of course radio isn’t free, and over time (as I’ve gotten older?) I find the DJ dialog
and commercials on radio to be increasingly annoying. To the point that radio costs
way too much – there’s less music than drivel and I just can’t take it.
</p>
        <p>
The other alternative is to buy CDs, rip them and create your own collection. That
way you “own” the music. And certainly compared to buying digital MP3s it is better
to buy the CD. I’ve “purchased” digital music several times over the years, and several
times I’ve had the originating company go out of business and so the DRM locked me
out of my “purchase”. And I’ve had hard drive failures, and so lost my “purchase”.
</p>
        <p>
Sure, a CD can get scratched, but if you buy a CD, rip it and then only use the digital
copy, you always have the pristine master source, even in the case of hard drive failure.
</p>
        <p>
However, a CD costs around $12, and zune.net costs $15/mo. So I can buy around 12-13
CDs each year, or I can spend the same money to have access to a few hundred thousand
songs. Even over my entire lifetime, at 12 CDs per year I’ll never get a collection
the size I have access to via zune.net.
</p>
        <p>
So radio is out (because it just sucks), and buying CDs isn’t really cost-effective.
</p>
        <p>
But there are streaming services like pandora and last.fm and others. They are free,
or at least cheaper than zune.net, so why not use them?
</p>
        <p>
I used to use pandora, but it started getting pretty flaky with its song selections.
Lately I’ve been using last.fm because they came with my xbox gold subscription (and
zune.net didn’t until recently). I like last.fm, they do a good job and they stream
to my xbox and my Windows Phone 7.
</p>
        <p>
However, streaming services don’t work when I’m on an airplane, in a hotel (you never
get good bandwidth in a hotel), in northern Minnesota camping or fishing, etc. Basically
they are for city people who don’t travel, not for people like me who travel and/or
spend a lot of time in rural areas.
</p>
        <p>
So how does zune.net differ from things like radio, CDs or streaming services?
</p>
        <p>
For about $15/mo you get this:
</p>
        <ol>
          <li>
Access to several hundred thousand songs via streaming</li>
          <li>
10 free purchases (DRM free) each month (basically I get to “buy” for free almost
an entire album every month)</li>
          <li>
Smart DJ, which does what pandora and last.fm do: creating a themed “radio station”
drawing music from my personal library plus the entire zune library (those hundreds
of thousands of songs)</li>
          <li>
The ability to sync Smart DJ playlists to my zune device or Windows Phone – so that
music is available when I’m entirely offline</li>
        </ol>
        <p>
So think about this. For just over the price of a CD I get (more or less) a CD’s worth
of music <em>I actually own</em> each month. I figure that’s $10 of the $15 covered
each month right there.
</p>
        <p>
But more importantly, for my other $5/mo I get unlimited streaming just like pandora
or last.fm – <em>and in a form that works when I’m entirely offline</em> like on an
airplane or sitting on a lakeshore in far northern Minnesota where there’s no cell
coverage, much less Internet.
</p>
        <p>
(it is this pure offline feature that even iTunes doesn’t have – and why zune.net
is (for me) the ultimate solution)
</p>
        <p>
In the end, yes, I understand the arguments against paying a subscription fee for
music. But when compared to the alternatives, it has become clear to me that none
of those arguments really hold water. The zune.net service is pretty much the perfect
way to consume music.
</p>
        <img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=fac2ec52-6b7b-4ead-b08e-06fda3c2d413" />
      </body>
      <title>Zune.net rocks</title>
      <guid isPermaLink="false">http://www.lhotka.net/weblog/PermaLink,guid,fac2ec52-6b7b-4ead-b08e-06fda3c2d413.aspx</guid>
      <link>http://www.lhotka.net/weblog/ZunenetRocks.aspx</link>
      <pubDate>Fri, 10 Dec 2010 16:59:08 GMT</pubDate>
      <description>&lt;p&gt;
Apparently music subscription services are struggling to gain traction
&lt;/p&gt;
&lt;p&gt;
&lt;a title="http://www.zdnet.com/blog/bott/more-itunes-alternatives-can-a-subscription-music-service-ever-succeed/2770?tag=nl.e539" href="http://www.zdnet.com/blog/bott/more-itunes-alternatives-can-a-subscription-music-service-ever-succeed/2770?tag=nl.e539"&gt;http://www.zdnet.com/blog/bott/more-itunes-alternatives-can-a-subscription-music-service-ever-succeed/2770?tag=nl.e539&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
I can understand that, because I was an anti-digital-music person for a long time.
My thought was that I had no reason to pay for a music subscription when radio was
free.
&lt;/p&gt;
&lt;p&gt;
Of course radio isn’t free, and over time (as I’ve gotten older?) I find the DJ dialog
and commercials on radio to be increasingly annoying. To the point that radio costs
way too much – there’s less music than drivel and I just can’t take it.
&lt;/p&gt;
&lt;p&gt;
The other alternative is to buy CDs, rip them and create your own collection. That
way you “own” the music. And certainly compared to buying digital MP3s it is better
to buy the CD. I’ve “purchased” digital music several times over the years, and several
times I’ve had the originating company go out of business and so the DRM locked me
out of my “purchase”. And I’ve had hard drive failures, and so lost my “purchase”.
&lt;/p&gt;
&lt;p&gt;
Sure, a CD can get scratched, but if you buy a CD, rip it and then only use the digital
copy, you always have the pristine master source, even in the case of hard drive failure.
&lt;/p&gt;
&lt;p&gt;
However, a CD costs around $12, and zune.net costs $15/mo. So I can buy around 12-13
CDs each year, or I can spend the same money to have access to a few hundred thousand
songs. Even over my entire lifetime, at 12 CDs per year I’ll never get a collection
the size I have access to via zune.net.
&lt;/p&gt;
&lt;p&gt;
So radio is out (because it just sucks), and buying CDs isn’t really cost-effective.
&lt;/p&gt;
&lt;p&gt;
But there are streaming services like pandora and last.fm and others. They are free,
or at least cheaper than zune.net, so why not use them?
&lt;/p&gt;
&lt;p&gt;
I used to use pandora, but it started getting pretty flaky with its song selections.
Lately I’ve been using last.fm because they came with my xbox gold subscription (and
zune.net didn’t until recently). I like last.fm, they do a good job and they stream
to my xbox and my Windows Phone 7.
&lt;/p&gt;
&lt;p&gt;
However, streaming services don’t work when I’m on an airplane, in a hotel (you never
get good bandwidth in a hotel), in northern Minnesota camping or fishing, etc. Basically
they are for city people who don’t travel, not for people like me who travel and/or
spend a lot of time in rural areas.
&lt;/p&gt;
&lt;p&gt;
So how does zune.net differ from things like radio, CDs or streaming services?
&lt;/p&gt;
&lt;p&gt;
For about $15/mo you get this:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Access to several hundred thousand songs via streaming&lt;/li&gt;
&lt;li&gt;
10 free purchases (DRM free) each month (basically I get to “buy” for free almost
an entire album every month)&lt;/li&gt;
&lt;li&gt;
Smart DJ, which does what pandora and last.fm do: creating a themed “radio station”
drawing music from my personal library plus the entire zune library (those hundreds
of thousands of songs)&lt;/li&gt;
&lt;li&gt;
The ability to sync Smart DJ playlists to my zune device or Windows Phone – so that
music is available when I’m entirely offline&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
So think about this. For just over the price of a CD I get (more or less) a CD’s worth
of music &lt;em&gt;I actually own&lt;/em&gt; each month. I figure that’s $10 of the $15 covered
each month right there.
&lt;/p&gt;
&lt;p&gt;
But more importantly, for my other $5/mo I get unlimited streaming just like pandora
or last.fm – &lt;em&gt;and in a form that works when I’m entirely offline&lt;/em&gt; like on an
airplane or sitting on a lakeshore in far northern Minnesota where there’s no cell
coverage, much less Internet.
&lt;/p&gt;
&lt;p&gt;
(it is this pure offline feature that even iTunes doesn’t have – and why zune.net
is (for me) the ultimate solution)
&lt;/p&gt;
&lt;p&gt;
In the end, yes, I understand the arguments against paying a subscription fee for
music. But when compared to the alternatives, it has become clear to me that none
of those arguments really hold water. The zune.net service is pretty much the perfect
way to consume music.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=fac2ec52-6b7b-4ead-b08e-06fda3c2d413" /&gt;</description>
      <comments>http://www.lhotka.net/weblog/CommentView,guid,fac2ec52-6b7b-4ead-b08e-06fda3c2d413.aspx</comments>
      <category>Windows Phone</category>
      <category>WP7</category>
      <category>Xbox</category>
      <category>Zune</category>
    </item>
    <item>
      <trackback:ping>http://www.lhotka.net/weblog/Trackback.aspx?guid=e6f95bde-85f6-42b1-a08a-98a430df2cae</trackback:ping>
      <pingback:server>http://www.lhotka.net/weblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.lhotka.net/weblog/PermaLink,guid,e6f95bde-85f6-42b1-a08a-98a430df2cae.aspx</pingback:target>
      <dc:creator>Rockford Lhotka</dc:creator>
      <wfw:comment>http://www.lhotka.net/weblog/CommentView,guid,e6f95bde-85f6-42b1-a08a-98a430df2cae.aspx</wfw:comment>
      <wfw:commentRss>http://www.lhotka.net/weblog/SyndicationService.asmx/GetEntryCommentsRss?guid=e6f95bde-85f6-42b1-a08a-98a430df2cae</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The first WP7 app built by Magenic is now in the WP7 app marketplace: GuestList.
</p>
        <p>
          <img style="WIDTH: 358px; HEIGHT: 296px" border="0" src="http://www.lhotka.net/weblog/content/binary/Marketplace.png" width="244" height="241" />
        </p>
        <p>
This app allows you to easily check in attendees at an event, using <a href="http://www.eventbrite.com/">EventBrite</a> as
the backend service. You create your event in EventBrite, users register through their
web site, and as they arrive at your event you get the attendee list on your phone,
and easily check them in right there.
</p>
        <p>
Chris Williams (Microsoft MVP and author of an upcoming WP7 developer book) did the
development on this project, with assistance from Donn Felker (author of a similar
app for Droid). Anthony Handley (from our Magenic Studios group) created the user
experience flow and look and feel.
</p>
        <p>
Very exciting stuff!
</p>
        <img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=e6f95bde-85f6-42b1-a08a-98a430df2cae" />
      </body>
      <title>Magenic&amp;rsquo;s first WP7 app</title>
      <guid isPermaLink="false">http://www.lhotka.net/weblog/PermaLink,guid,e6f95bde-85f6-42b1-a08a-98a430df2cae.aspx</guid>
      <link>http://www.lhotka.net/weblog/MagenicrsquosFirstWP7App.aspx</link>
      <pubDate>Wed, 27 Oct 2010 20:25:56 GMT</pubDate>
      <description>&lt;p&gt;
The first WP7 app built by Magenic is now in the WP7 app marketplace: GuestList.
&lt;/p&gt;
&lt;p&gt;
&lt;img style="WIDTH: 358px; HEIGHT: 296px" border=0 src="http://www.lhotka.net/weblog/content/binary/Marketplace.png" width=244 height=241&gt;
&lt;/p&gt;
&lt;p&gt;
This app allows you to easily check in attendees at an event, using &lt;a href="http://www.eventbrite.com/"&gt;EventBrite&lt;/a&gt; as
the backend service. You create your event in EventBrite, users register through their
web site, and as they arrive at your event you get the attendee list on your phone,
and easily check them in right there.
&lt;/p&gt;
&lt;p&gt;
Chris Williams (Microsoft MVP and author of an upcoming WP7 developer book) did the
development on this project, with assistance from Donn Felker (author of a similar
app for Droid). Anthony Handley (from our Magenic Studios group) created the user
experience flow and look and feel.
&lt;/p&gt;
&lt;p&gt;
Very exciting stuff!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=e6f95bde-85f6-42b1-a08a-98a430df2cae" /&gt;</description>
      <comments>http://www.lhotka.net/weblog/CommentView,guid,e6f95bde-85f6-42b1-a08a-98a430df2cae.aspx</comments>
      <category>Windows Phone</category>
      <category>WP7</category>
    </item>
    <item>
      <trackback:ping>http://www.lhotka.net/weblog/Trackback.aspx?guid=ea802058-8e77-4386-949d-63076bce6b31</trackback:ping>
      <pingback:server>http://www.lhotka.net/weblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.lhotka.net/weblog/PermaLink,guid,ea802058-8e77-4386-949d-63076bce6b31.aspx</pingback:target>
      <dc:creator>Rockford Lhotka</dc:creator>
      <wfw:comment>http://www.lhotka.net/weblog/CommentView,guid,ea802058-8e77-4386-949d-63076bce6b31.aspx</wfw:comment>
      <wfw:commentRss>http://www.lhotka.net/weblog/SyndicationService.asmx/GetEntryCommentsRss?guid=ea802058-8e77-4386-949d-63076bce6b31</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Good news on the WP7 front:
</p>
        <p>
          <a href="http://windowsteamblog.com/windows_phone/b/windowsphone/archive/2010/09/01/windows-phone-7-released-to-manufacturing.aspx">Windows
Phone 7 – Released To Manufacturing</a>
        </p>
        <p>
And we know that the dev tools are planned for release in just a couple weeks – so
this is all coming together fast.
</p>
        <img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=ea802058-8e77-4386-949d-63076bce6b31" />
      </body>
      <title>Windows Phone 7 &amp;ndash; Released To Manufacturing</title>
      <guid isPermaLink="false">http://www.lhotka.net/weblog/PermaLink,guid,ea802058-8e77-4386-949d-63076bce6b31.aspx</guid>
      <link>http://www.lhotka.net/weblog/WindowsPhone7NdashReleasedToManufacturing.aspx</link>
      <pubDate>Wed, 01 Sep 2010 20:47:02 GMT</pubDate>
      <description>&lt;p&gt;
Good news on the WP7 front:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://windowsteamblog.com/windows_phone/b/windowsphone/archive/2010/09/01/windows-phone-7-released-to-manufacturing.aspx"&gt;Windows
Phone 7 – Released To Manufacturing&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
And we know that the dev tools are planned for release in just a couple weeks – so
this is all coming together fast.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=ea802058-8e77-4386-949d-63076bce6b31" /&gt;</description>
      <comments>http://www.lhotka.net/weblog/CommentView,guid,ea802058-8e77-4386-949d-63076bce6b31.aspx</comments>
      <category>Windows Phone</category>
    </item>
    <item>
      <trackback:ping>http://www.lhotka.net/weblog/Trackback.aspx?guid=bacf77a7-36b5-4522-a827-8fb7dc3078da</trackback:ping>
      <pingback:server>http://www.lhotka.net/weblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.lhotka.net/weblog/PermaLink,guid,bacf77a7-36b5-4522-a827-8fb7dc3078da.aspx</pingback:target>
      <dc:creator>Rockford Lhotka</dc:creator>
      <wfw:comment>http://www.lhotka.net/weblog/CommentView,guid,bacf77a7-36b5-4522-a827-8fb7dc3078da.aspx</wfw:comment>
      <wfw:commentRss>http://www.lhotka.net/weblog/SyndicationService.asmx/GetEntryCommentsRss?guid=bacf77a7-36b5-4522-a827-8fb7dc3078da</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Lessons learned getting CSLA 4 to build and run in WP7.
</p>
        <ul>
          <li>
Obviously WP7 is based on SL3, so SL4 specific code won’t work (which caused most
of my <a href="http://www.lhotka.net/weblog/GettingCSLA4ToCompileForWP7.aspx">initial
build issues</a>). 
</li>
          <li>
Human error plays a big role – I created several new projects for WP7, and even though
they shared existing code files (via file linking), I forgot to set things like the
assembly names and default namespaces – obviously that caused issues with serialization
between client and server. Never underestimate the ability of the human to overlook
simple things… 
</li>
          <li>
Don’t underestimate the impact of the tiny screen. While WP7 can run code from a full-screen
app (the same business objects, etc), it is amazing how the need to fit into a tiny
screen can impact the way you build your application! 
</li>
          <li>
VS10 doesn’t support signing assemblies, but you can do it by manually editing the
csproj file. 
</li>
          <li>
VS10 doesn’t support resource files, but you can manually add a resx <em>to the main
project</em>, then drag it into the Properties folder, then set the file’s properties
(custom tool, etc) so it works correctly. 
</li>
          <li>
WP7 appears to throw different exceptions from .NET/SL for various things. There are
a number of cases where I’m having to catch and rethrow exceptions to get the expected
exception type – which is something I don’t need to do in .NET/SL. Since my unit tests
often check for expected exceptions (testing failure conditions), I’m seeing a lot
of these issues and having to tediously address them one by one. 
</li>
          <li>
VS10 crashes “for no reason” on some WP7 code. I have the same code in .NET, SL and
WP7 and can walk through code in the debugger, but sometimes WP7 crashes Visual Studio
– I assume this is due to the beta state of the tools. 
</li>
        </ul>
        <img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=bacf77a7-36b5-4522-a827-8fb7dc3078da" />
      </body>
      <title>WP7 upgrade notes</title>
      <guid isPermaLink="false">http://www.lhotka.net/weblog/PermaLink,guid,bacf77a7-36b5-4522-a827-8fb7dc3078da.aspx</guid>
      <link>http://www.lhotka.net/weblog/WP7UpgradeNotes.aspx</link>
      <pubDate>Wed, 01 Sep 2010 18:24:12 GMT</pubDate>
      <description>&lt;p&gt;
Lessons learned getting CSLA 4 to build and run in WP7.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Obviously WP7 is based on SL3, so SL4 specific code won’t work (which caused most
of my &lt;a href="http://www.lhotka.net/weblog/GettingCSLA4ToCompileForWP7.aspx"&gt;initial
build issues&lt;/a&gt;). 
&lt;/li&gt;
&lt;li&gt;
Human error plays a big role – I created several new projects for WP7, and even though
they shared existing code files (via file linking), I forgot to set things like the
assembly names and default namespaces – obviously that caused issues with serialization
between client and server. Never underestimate the ability of the human to overlook
simple things… 
&lt;/li&gt;
&lt;li&gt;
Don’t underestimate the impact of the tiny screen. While WP7 can run code from a full-screen
app (the same business objects, etc), it is amazing how the need to fit into a tiny
screen can impact the way you build your application! 
&lt;/li&gt;
&lt;li&gt;
VS10 doesn’t support signing assemblies, but you can do it by manually editing the
csproj file. 
&lt;/li&gt;
&lt;li&gt;
VS10 doesn’t support resource files, but you can manually add a resx &lt;em&gt;to the main
project&lt;/em&gt;, then drag it into the Properties folder, then set the file’s properties
(custom tool, etc) so it works correctly. 
&lt;/li&gt;
&lt;li&gt;
WP7 appears to throw different exceptions from .NET/SL for various things. There are
a number of cases where I’m having to catch and rethrow exceptions to get the expected
exception type – which is something I don’t need to do in .NET/SL. Since my unit tests
often check for expected exceptions (testing failure conditions), I’m seeing a lot
of these issues and having to tediously address them one by one. 
&lt;/li&gt;
&lt;li&gt;
VS10 crashes “for no reason” on some WP7 code. I have the same code in .NET, SL and
WP7 and can walk through code in the debugger, but sometimes WP7 crashes Visual Studio
– I assume this is due to the beta state of the tools. 
&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=bacf77a7-36b5-4522-a827-8fb7dc3078da" /&gt;</description>
      <comments>http://www.lhotka.net/weblog/CommentView,guid,bacf77a7-36b5-4522-a827-8fb7dc3078da.aspx</comments>
      <category>CSLA .NET</category>
      <category>Windows Phone</category>
    </item>
    <item>
      <trackback:ping>http://www.lhotka.net/weblog/Trackback.aspx?guid=31e28336-6271-439e-bbd8-1ee1836af5f1</trackback:ping>
      <pingback:server>http://www.lhotka.net/weblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.lhotka.net/weblog/PermaLink,guid,31e28336-6271-439e-bbd8-1ee1836af5f1.aspx</pingback:target>
      <dc:creator>Rockford Lhotka</dc:creator>
      <wfw:comment>http://www.lhotka.net/weblog/CommentView,guid,31e28336-6271-439e-bbd8-1ee1836af5f1.aspx</wfw:comment>
      <wfw:commentRss>http://www.lhotka.net/weblog/SyndicationService.asmx/GetEntryCommentsRss?guid=31e28336-6271-439e-bbd8-1ee1836af5f1</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I started by getting the CSLA 4 codebase (from Silverlight) to <a href="http://www.lhotka.net/weblog/GettingCSLA4ToCompileForWP7.aspx">compile
in WP7</a>.
</p>
        <p>
As an aside – working with WP7 is really a smooth experience. The emulator works quite
well, and the debugging experience is comparable to working with Silverlight. I can
see where it would be hard to debug/test things requiring touch or other device hardware,
but for basic app development the process is quite enjoyable.
</p>
        <p>
Then we got <a href="http://www.lhotka.net/weblog/UnitTestingForWindowsPhone7.aspx">UnitDriven
running in WP7</a> so I could run my unit tests.
</p>
        <p>
Then I spent some quality time fighting with reflection. Over the years, as .NET has
evolved alternatives for reflection, CSLA has adopted those alternatives; dynamic
methods and now lambda expressions. The specific things CSLA is doing can’t be easily
done using the DLR, or I’d consider using that approach.
</p>
        <p>
But WP7 is based on Silverlight 3, which predates the cool stuff in Silverlight 4.
That means that the lambda expression concepts used in CSLA 4 wouldn’t build in WP7
– so I basically put TODO comments in their place to get the codebase to compile.
Then I went back through and dug up the older 3.x code and tried to just plug it in,
replacing the TODO comments.
</p>
        <p>
That turned out to be a little harder than I expected. As part of replacing reflection,
we enhanced the functionality of some of the code in CSLA 4, and the 3.x code didn’t
handle all the same scenarios. I don’t want my WP7 code to be incompatible with the
.NET/SL implementations though, so this basically meant rewriting the 3.x reflection
code to support the CSLA 4 functionality. 
</p>
        <p>
After a few hours of work all my dynamic method calling unit tests now pass (except
for the one that proves that dynamic method invocation is faster than reflection –
obviously that one has no meaning in WP7 at the moment). That’s a relief, as it means
that essentially all the core functionality of CSLA 4 now works.
</p>
        <p>
With the notable exception of the data portal. It isn’t clear yet what’s failing,
but it appears to have something to do with type resolution. I know that Silverlight
and .NET don’t work the same in this regard, and I’m beginning to suspect that either
I need to revert some other code back to 3.x, or that WP7 doesn’t act the same as
Silverlight 3 or 4.
</p>
        <p>
In any case, this is all very encouraging. I am now quite confident that we’ll be
able to take CSLA 4 business classes from Silverlight and run them in .NET or on WP7
without change. Just think about building a business class and knowing that it can
be used to create Silverlight, ASP.NET MVC, WP7, WPF, WCF, Web Forms, Windows Forms
and asmx interfaces! Too cool!!
</p>
        <img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=31e28336-6271-439e-bbd8-1ee1836af5f1" />
      </body>
      <title>CSLA 4 WP7 progress update 2</title>
      <guid isPermaLink="false">http://www.lhotka.net/weblog/PermaLink,guid,31e28336-6271-439e-bbd8-1ee1836af5f1.aspx</guid>
      <link>http://www.lhotka.net/weblog/CSLA4WP7ProgressUpdate2.aspx</link>
      <pubDate>Wed, 11 Aug 2010 01:02:49 GMT</pubDate>
      <description>&lt;p&gt;
I started by getting the CSLA 4 codebase (from Silverlight) to &lt;a href="http://www.lhotka.net/weblog/GettingCSLA4ToCompileForWP7.aspx"&gt;compile
in WP7&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
As an aside – working with WP7 is really a smooth experience. The emulator works quite
well, and the debugging experience is comparable to working with Silverlight. I can
see where it would be hard to debug/test things requiring touch or other device hardware,
but for basic app development the process is quite enjoyable.
&lt;/p&gt;
&lt;p&gt;
Then we got &lt;a href="http://www.lhotka.net/weblog/UnitTestingForWindowsPhone7.aspx"&gt;UnitDriven
running in WP7&lt;/a&gt; so I could run my unit tests.
&lt;/p&gt;
&lt;p&gt;
Then I spent some quality time fighting with reflection. Over the years, as .NET has
evolved alternatives for reflection, CSLA has adopted those alternatives; dynamic
methods and now lambda expressions. The specific things CSLA is doing can’t be easily
done using the DLR, or I’d consider using that approach.
&lt;/p&gt;
&lt;p&gt;
But WP7 is based on Silverlight 3, which predates the cool stuff in Silverlight 4.
That means that the lambda expression concepts used in CSLA 4 wouldn’t build in WP7
– so I basically put TODO comments in their place to get the codebase to compile.
Then I went back through and dug up the older 3.x code and tried to just plug it in,
replacing the TODO comments.
&lt;/p&gt;
&lt;p&gt;
That turned out to be a little harder than I expected. As part of replacing reflection,
we enhanced the functionality of some of the code in CSLA 4, and the 3.x code didn’t
handle all the same scenarios. I don’t want my WP7 code to be incompatible with the
.NET/SL implementations though, so this basically meant rewriting the 3.x reflection
code to support the CSLA 4 functionality. 
&lt;/p&gt;
&lt;p&gt;
After a few hours of work all my dynamic method calling unit tests now pass (except
for the one that proves that dynamic method invocation is faster than reflection –
obviously that one has no meaning in WP7 at the moment). That’s a relief, as it means
that essentially all the core functionality of CSLA 4 now works.
&lt;/p&gt;
&lt;p&gt;
With the notable exception of the data portal. It isn’t clear yet what’s failing,
but it appears to have something to do with type resolution. I know that Silverlight
and .NET don’t work the same in this regard, and I’m beginning to suspect that either
I need to revert some other code back to 3.x, or that WP7 doesn’t act the same as
Silverlight 3 or 4.
&lt;/p&gt;
&lt;p&gt;
In any case, this is all very encouraging. I am now quite confident that we’ll be
able to take CSLA 4 business classes from Silverlight and run them in .NET or on WP7
without change. Just think about building a business class and knowing that it can
be used to create Silverlight, ASP.NET MVC, WP7, WPF, WCF, Web Forms, Windows Forms
and asmx interfaces! Too cool!!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=31e28336-6271-439e-bbd8-1ee1836af5f1" /&gt;</description>
      <comments>http://www.lhotka.net/weblog/CommentView,guid,31e28336-6271-439e-bbd8-1ee1836af5f1.aspx</comments>
      <category>CSLA .NET</category>
      <category>Windows Phone</category>
    </item>
    <item>
      <trackback:ping>http://www.lhotka.net/weblog/Trackback.aspx?guid=23df901b-3951-415c-9ff5-da0e7098b2db</trackback:ping>
      <pingback:server>http://www.lhotka.net/weblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.lhotka.net/weblog/PermaLink,guid,23df901b-3951-415c-9ff5-da0e7098b2db.aspx</pingback:target>
      <dc:creator>Rockford Lhotka</dc:creator>
      <wfw:comment>http://www.lhotka.net/weblog/CommentView,guid,23df901b-3951-415c-9ff5-da0e7098b2db.aspx</wfw:comment>
      <wfw:commentRss>http://www.lhotka.net/weblog/SyndicationService.asmx/GetEntryCommentsRss?guid=23df901b-3951-415c-9ff5-da0e7098b2db</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I am working on <a href="http://www.lhotka.net/weblog/GettingCSLA4ToCompileForWP7.aspx">CSLA
4 for Windows Phone 7</a>. Of course I want to get all my unit tests (or most of them
anyway) running on WP7.
</p>
        <p>
When we created CSLA .NET for Silverlight it was long before Silverlight 2 shipped,
and there was no workable unit test framework for Silverlight. Even today, it is tricky
to test async methods and features with mstest in SL. Perhaps most importantly however,
I wanted to have the same exact unit test code running in .NET and Silverlight – and
that’s a level of parity that is hard to achieve.
</p>
        <p>
So Justin created UnitDriven and we donated it to the community through codeplex: <a href="http://unitdriven.codeplex.com">http://unitdriven.codeplex.com</a>.
</p>
        <p>
And I have a few hundred unit tests for CSLA that rely on UnitDriven, so it isn’t
a trivial thing to think about switching to something else – so it is important that
UnitDriven work on WP7 too.
</p>
        <p>
Fortunately Justin was able to get this done in an evening. It turns out that the
only major change required was to the UI, because obviously the WP7 form factor is
very space constrained compared to a full-size screen.
</p>
        <p>
          <strong>The end result is that there’s a preview release of UnitDriven that works
on WP7 – you can download it from <a href="http://unitdriven.codeplex.com/">codeplex</a>. </strong>
        </p>
        <p>
Most of my CSLA unit tests are passing at this point, which gives us some confidence
that UnitDriven is working as expected. There are some UI issues still, especially
with long test names and some scrolling issues.
</p>
        <p>
But if you are looking for a way to write unit tests for your WP7 Silverlight code,
and especially if you want to use the same unit test code on .NET, Silverlight and
WP7, then <a href="http://unitdriven.codeplex.com/">UnitDriven</a> is something you
should consider.
</p>
        <img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=23df901b-3951-415c-9ff5-da0e7098b2db" />
      </body>
      <title>Unit testing for Windows Phone 7</title>
      <guid isPermaLink="false">http://www.lhotka.net/weblog/PermaLink,guid,23df901b-3951-415c-9ff5-da0e7098b2db.aspx</guid>
      <link>http://www.lhotka.net/weblog/UnitTestingForWindowsPhone7.aspx</link>
      <pubDate>Tue, 10 Aug 2010 19:22:31 GMT</pubDate>
      <description>&lt;p&gt;
I am working on &lt;a href="http://www.lhotka.net/weblog/GettingCSLA4ToCompileForWP7.aspx"&gt;CSLA
4 for Windows Phone 7&lt;/a&gt;. Of course I want to get all my unit tests (or most of them
anyway) running on WP7.
&lt;/p&gt;
&lt;p&gt;
When we created CSLA .NET for Silverlight it was long before Silverlight 2 shipped,
and there was no workable unit test framework for Silverlight. Even today, it is tricky
to test async methods and features with mstest in SL. Perhaps most importantly however,
I wanted to have the same exact unit test code running in .NET and Silverlight – and
that’s a level of parity that is hard to achieve.
&lt;/p&gt;
&lt;p&gt;
So Justin created UnitDriven and we donated it to the community through codeplex: &lt;a href="http://unitdriven.codeplex.com"&gt;http://unitdriven.codeplex.com&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
And I have a few hundred unit tests for CSLA that rely on UnitDriven, so it isn’t
a trivial thing to think about switching to something else – so it is important that
UnitDriven work on WP7 too.
&lt;/p&gt;
&lt;p&gt;
Fortunately Justin was able to get this done in an evening. It turns out that the
only major change required was to the UI, because obviously the WP7 form factor is
very space constrained compared to a full-size screen.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The end result is that there’s a preview release of UnitDriven that works
on WP7 – you can download it from &lt;a href="http://unitdriven.codeplex.com/"&gt;codeplex&lt;/a&gt;. &lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Most of my CSLA unit tests are passing at this point, which gives us some confidence
that UnitDriven is working as expected. There are some UI issues still, especially
with long test names and some scrolling issues.
&lt;/p&gt;
&lt;p&gt;
But if you are looking for a way to write unit tests for your WP7 Silverlight code,
and especially if you want to use the same unit test code on .NET, Silverlight and
WP7, then &lt;a href="http://unitdriven.codeplex.com/"&gt;UnitDriven&lt;/a&gt; is something you
should consider.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=23df901b-3951-415c-9ff5-da0e7098b2db" /&gt;</description>
      <comments>http://www.lhotka.net/weblog/CommentView,guid,23df901b-3951-415c-9ff5-da0e7098b2db.aspx</comments>
      <category>Silverlight</category>
      <category>Windows Phone</category>
    </item>
    <item>
      <trackback:ping>http://www.lhotka.net/weblog/Trackback.aspx?guid=13c38ccb-18d0-4452-872a-07a1f30b6106</trackback:ping>
      <pingback:server>http://www.lhotka.net/weblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.lhotka.net/weblog/PermaLink,guid,13c38ccb-18d0-4452-872a-07a1f30b6106.aspx</pingback:target>
      <dc:creator>Rockford Lhotka</dc:creator>
      <wfw:comment>http://www.lhotka.net/weblog/CommentView,guid,13c38ccb-18d0-4452-872a-07a1f30b6106.aspx</wfw:comment>
      <wfw:commentRss>http://www.lhotka.net/weblog/SyndicationService.asmx/GetEntryCommentsRss?guid=13c38ccb-18d0-4452-872a-07a1f30b6106</wfw:commentRss>
      <slash:comments>6</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Hopefully this can save someone some time. I spent a couple hours setting up a virtual
machine and installing the Windows Phone 7 dev tools, only to find that the phone
emulator won’t run in a virtual machine. It turns out that this is because the emulator <em>is
a virtual machine</em> and you can’t run a virtual machine in a virtual machine.
</p>
        <img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=13c38ccb-18d0-4452-872a-07a1f30b6106" />
      </body>
      <title>Don&amp;rsquo;t install WP7 in a virtual machine</title>
      <guid isPermaLink="false">http://www.lhotka.net/weblog/PermaLink,guid,13c38ccb-18d0-4452-872a-07a1f30b6106.aspx</guid>
      <link>http://www.lhotka.net/weblog/DonrsquotInstallWP7InAVirtualMachine.aspx</link>
      <pubDate>Tue, 16 Mar 2010 16:45:59 GMT</pubDate>
      <description>&lt;p&gt;
Hopefully this can save someone some time. I spent a couple hours setting up a virtual
machine and installing the Windows Phone 7 dev tools, only to find that the phone
emulator won’t run in a virtual machine. It turns out that this is because the emulator &lt;em&gt;is
a virtual machine&lt;/em&gt; and you can’t run a virtual machine in a virtual machine.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lhotka.net/weblog/aggbug.ashx?id=13c38ccb-18d0-4452-872a-07a1f30b6106" /&gt;</description>
      <comments>http://www.lhotka.net/weblog/CommentView,guid,13c38ccb-18d0-4452-872a-07a1f30b6106.aspx</comments>
      <category>Windows Phone</category>
    </item>
  </channel>
</rss>