<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rssdatehelper="urn:rssdatehelper"><channel><title>bpk.cc</title><link>http://www.bpk.cc</link><pubDate></pubDate><generator>umbraco</generator><description>Generic Collection Of .NET Stuff</description><language>en</language><item><title>Why ReSharper is evil</title><link>http://www.bpk.cc/2012/2/8/why-resharper-is-evil.aspx</link><pubDate>Wed, 08 Feb 2012 22:33:07 GMT</pubDate><guid>http://www.bpk.cc/2012/2/8/why-resharper-is-evil.aspx</guid><description><![CDATA[ 
<p>From time to time, I install a trial of ReSharper. Because
colleagues and fellow developers all over the world praise this
tool as if it is pure magic. Now, in my case ReSharper's magic was
always to slow my Visual Studio down to a nearly unusable speed and
to crash it very regularly. Also, it flooded my IDE with wrong
error messages that you could only get rid off by restarting Visual
Studio. To me it seems that with ReSharper, you spent most of your
time waiting, restarting your IDE and praising this tool for some
sadomasochistic reason.</p>

<p>Agreed, with new Dual- and Quardcore machines spreading through
our dev dungeons and surely some optimizations by JetBrains
Resharper got to a more usable speed level during the last years.
It is also more stable than ever, what does not mean much, though.
That's why I try to install it again from time to time, just to
check if things got better.</p>

<p>Now, while it indeed got speedier and more stable, ReShaprer is
more evil than ever: it's more intrusive, it's
<strong>scareware</strong> like many of the "security suites" out
there that frequently bombard you with warnings and "informations"
that should show you how important it is that you have this
software installed and how screwed you are if you don't use it.</p>

<p>Even worse, it very often makes catastrophic refactoring
recommendations that, unfortunately, many of the ReSharper users
out there gladly adopt without thinking about consequences because
they trust in a tool they really shouldn't trust in.</p>

<p>Of course I have examples for you. Because just after installing
ReShaprer, it flooded my project with hundreds of warnings like
every scareware would do to make itself important. "Gosh! I'm such
a bad programmer!" you might think when looking at the mess and you
will be glad that this tool will at least camouflage this by fixing
your bad code. No, trust me, you're a good programmer. ReSharper
just want you to believe you are bad and only ReShaprer can help
you out.</p>

<h3>Now … why ReSharper is evil:</h3>

<h3>ReSharper is evil because it urges you to remove used code</h3>

<p><a
href="/media/2771/Windows-Live-Writer_Why-I-hate-ReSharper_12726_image_2.png">
<img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"
 title="image" border="0" alt="image"
src="/media/2776/Windows-Live-Writer_Why-I-hate-ReSharper_12726_image_thumb.png"
 width="640" height="256" /></a></p>

<p>Here you see a standard XAML file on a Windows Phone project.
ReSharper urges me to remove the ApplicationBar's from the XAML
because they aren't used. If I would do this now, my project will
build fine, but will crash like a flying penguin at runtime because
this XAML markup IS used. Not in the XAML, but in code behind:</p>

<p><a
href="/media/2781/Windows-Live-Writer_Why-I-hate-ReSharper_12726_image_4.png">
<img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"
 title="image" border="0" alt="image"
src="/media/2786/Windows-Live-Writer_Why-I-hate-ReSharper_12726_image_thumb_1.png"
 width="640" height="44" /></a></p>

<p>ReSharper doesn't check this, but nevertheless urges you to
remove code. This is marked as a <strong>Warning</strong> by
ReSharper, so it's clear a developer coming by this will remove it
in good belief. That's catastrophic because this, in worst case, is
an error that might come up no earlier than in customer's hands as
it won't break your Build and it might be hidden deep inside your
application.</p>

<p>You really want to trust a tool that comes up with such
horrible, bad checked recommendations?</p>

<h3>ReSharper is evil because it will tell you that your perfectly
fine code is wrong</h3>

<p><a
href="/media/2791/Windows-Live-Writer_Why-I-hate-ReSharper_12726_image_6.png">
<img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"
 title="image" border="0" alt="image"
src="/media/2796/Windows-Live-Writer_Why-I-hate-ReSharper_12726_image_thumb_2.png"
 width="640" height="46" /></a></p>

<p>ReSharper thinks here is somewhere a redundant check. No there
isn't. It will just cost you time to think about an error where
there isn't any.</p>

<h3>ReSharper is evil because it enforces inconsistent formatting
guidelines</h3>

<p>Just as ReSharper is evil, underscores in modern C# code are
evil. Or at least a relict, to be fair. So it's fine that ReSharper
wants you to remove underscores from event handler methods:</p>

<p><a
href="/media/2801/Windows-Live-Writer_Why-I-hate-ReSharper_12726_image_8.png">
<img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"
 title="image" border="0" alt="image"
src="/media/2806/Windows-Live-Writer_Why-I-hate-ReSharper_12726_image_thumb_3.png"
 width="640" height="41" /></a></p>

<p>But then, ReShaprer wants you to use the saved underscores for
instance fields:</p>

<p><a
href="/media/2811/Windows-Live-Writer_Why-I-hate-ReSharper_12726_image_10.png">
<img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"
 title="image" border="0" alt="image"
src="/media/2816/Windows-Live-Writer_Why-I-hate-ReSharper_12726_image_thumb_4.png"
 width="640" height="40" /></a></p>

<p>No, C# coding guidelines suggest to just use camelCase and no
Hungarian-like notations.</p>

<h3>ReSharper is evil because it forces you to castrate your fine
self-describing code</h3>

<p>ReSharper thinks that the "var" keyword should be used instead
of a complete type name left-side of the declaration:</p>

<p><a
href="/media/2821/Windows-Live-Writer_Why-I-hate-ReSharper_12726_image_12.png">
<img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"
 title="image" border="0" alt="image"
src="/media/2826/Windows-Live-Writer_Why-I-hate-ReSharper_12726_image_thumb_5.png"
 width="640" height="34" /></a></p>

<p>JetBrains sais that the use of the var-keyword is well-argued
here but: the left side is where you would normally look for the
type in this declaration. It makes your code more readable than to
have to search for the type on the initializer side. I understand
that you have to write a lot of extra-chars for this benefit and
using var on the left side would be easier. And that's
understandable … but there's no reason that you have to refactor it
later on if you have this already written like that. Don't make
code less readable than it was just because ReSharper makes you
believe that's better coding.</p>

<p>That's one of many examples where ReShaprer bombards you with
unnecessary recommendations just to make itself more important. It
would be OK if this recommendations were more subtle, but with all
those curly underlining of such unimportant "errors", ReSharper is
much too intrusive and distracts developers from really important
things.</p>

<p>This is called advertising.</p>

<h3>ReSharper is evil because it thinks it knows better what you
want to do than you</h3>

<p><a
href="/media/2831/Windows-Live-Writer_Why-I-hate-ReSharper_12726_image_14.png">
<img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"
 title="image" border="0" alt="image"
src="/media/2836/Windows-Live-Writer_Why-I-hate-ReSharper_12726_image_thumb_6.png"
 width="320" height="42" /></a></p>

<p>If you assign a value to your variable only in the constructor
of a class, ReSharper wants you to make this field read only.
Seriously, wtf? I know when I want a field to be readonly. I have
good reasons when I do that. And even if I don't use this field
currently anywhere else than in the constructor, I or someone else
might in the future. If it's not ok to write to this field I will
make it readonly.</p>

<p>It's just another example of the flood of self-advertising of
ReSharper. Same functionality more hidden or just on demand - ok,
why not. But offensive like that including curly underlining? Oh
my.</p>

<h2>So, finally …</h2>

<p>… these are just the things that came to my eye in the first 15
minutes after I installed ReSharper. There will be a lot more and I
might add more examples in this post in the future. From
destructive code refactorings that kill your app to all those
unnecessary and over-prominent suggestions to change your code -
ReSharper remains a very problematic tool.</p>

<p>If you want to use all the (many) good features of ReSharper,
you will have to spend a lot of time in fine-tuning it and turning
off all the crap it does to advertise itself. Very often you also
have to disable good functionality to "fix" bad things ReSharper
does, like the suggested XAML removal above - it's useful that
ReSharper shows you code that is deprecated / unused - but you have
to turn it of because you can't trust it.</p>

<p>If you use ReSharper anyhow, use it wisely and don't put
ReSharper over your own coding skills. While it is very helpful,
not to say essential,&nbsp; in many on-demand refactoring
scenarios, most of the "live" checks should be used with extreme
caution or even turned off. For coding and styling guidelines
better go with tools like FXCop.</p>

<h3>Update 1: Even more examples</h3>

<p><a
href="/media/2853/Windows-Live-Writer_Why-I-hate-ReSharper_12726_image_18.png">
<img
style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px"
 title="image" border="0" alt="image"
src="/media/2858/Windows-Live-Writer_Why-I-hate-ReSharper_12726_image_thumb_8.png"
 width="440" height="75" /></a></p>

<p>ReSharper tells me about a possible null reference exception
where I just checked just for that one line earlier. Unnecessary
curly lines everywhere distracting me from more important things.
Don't like.</p>

<p>Also, the only way to get rid of this curly underlining in this
case is to make the LINQ query more complicated and unreadable or
to disable null reference checks in general.</p>
]]></description></item><item><title>feed7 2.3 update</title><link>http://www.bpk.cc/2011/11/5/feed7-23-update.aspx</link><pubDate>Sat, 05 Nov 2011 19:41:31 GMT</pubDate><guid>http://www.bpk.cc/2011/11/5/feed7-23-update.aspx</guid><description><![CDATA[ 
<p>Another bugfix update was released for feed7 a couple of days
ago. Version is now 2.3 and it fixes issues with app crashes when
sending articles to Instapaper or ReadItLater. There are no new
features or other fixes in this release, but the next feature
update is already in the making and we will have some very nice
improvements and great new features for that.</p>
]]></description></item><item><title>New Google Reader UI and feed7</title><link>http://www.bpk.cc/2011/11/1/new-google-reader-ui-and-feed7.aspx</link><pubDate>Tue, 01 Nov 2011 12:53:55 GMT</pubDate><guid>http://www.bpk.cc/2011/11/1/new-google-reader-ui-and-feed7.aspx</guid><description><![CDATA[ 
<p>Google has launched a new UI for Google Reader that also affects
some of Readers features. The good news is: it won't affect feed7 -
unless you are using the "share" feature as this has been removed
from Google Reader.</p>

<p>If you are still using this feature within the app, feed7 won't
crash and it won't do any harm. But it will be useless now as
Google Reader doesn't support this feature anymore.</p>

<p>We will remove the possibility to share items over Google Reader
with our next (bigger) update that most likely will see the light
of day in December.</p>

<p>Google promotes to use Google+ and it's +1 feature to share
articles with friends now but it's rather unlikely we will support
this in feed7, at least in the near future. It of course also
depends on your feedback if you need this feature integrated in
feed7, so let us know what you think.</p>

<p>Besides that, we will have another small bugfix update on
Marketplace this week that fixes issues with sharing items over
Instapaper and Read It Later. No new features will be introduced
with this update and it is not related to the changes in Google
Reader.</p>
]]></description></item><item><title>feed7 updated: details on update 2.1 and 2.2</title><link>http://www.bpk.cc/2011/10/27/feed7-updated-details-on-update-21-and-22.aspx</link><pubDate>Thu, 27 Oct 2011 01:43:20 GMT</pubDate><guid>http://www.bpk.cc/2011/10/27/feed7-updated-details-on-update-21-and-22.aspx</guid><description><![CDATA[ 
<p>Since feed7 2.0 has launched I have already published two
updates to Marketplace. There are no new features in these updates
but a couple of important bugfixes. The complete release notes can
be found below, but the most important changes are that settings
won't get lost during data migration anymore when upgrading from
version 1.x to version 2.0 and that Live Tiles should start working
again now for all of you that had issues since upgrading to version
2.</p>

<p><strong>Version 2.1.0.225 Release Notes:</strong></p>

<blockquote>
<p>Fix: Migration from v1.x to v2.0 can cause drop of 1.x
settings<br />
Fix: Wrong description for feed multiselect view star button</p>
</blockquote>

<p><strong>Version 2.2.0.227 Release Notes:</strong></p>

<blockquote>
<p>Fix: When resuming from tombstoned state, UriMappings were not
initialized which results in crash<br />
Fix: Resuming the app from a tombstoned state does not show
contents of folders list<br />
Fix: Sync client changes were not saved for background agent
settings<br />
Fix: Article duplicates can appear when syncing multiple times in
the same session<br />
Fix: Due to DNS problems after a DNS server change, live tiles for
web sync stopped working<br />
Fix: Race condition during update of live tiles in web sync
mode<br />
New: Support for YouTube short URI format youtu.be</p>

<p>Updated assemblies:<br />
TileUpdateAgent.dll v1.1.0.2 -&gt; v1.2.0.3</p>
</blockquote>

<p>Update 2.2 is just going live on Marketplace and should appear
on your devices in the next couple of hours.</p>
]]></description></item><item><title>feed7 2.0 is available on Marketplace!</title><link>http://www.bpk.cc/2011/10/23/feed7-20-is-available-on-marketplace!.aspx</link><pubDate>Sun, 23 Oct 2011 00:37:11 GMT</pubDate><guid>http://www.bpk.cc/2011/10/23/feed7-20-is-available-on-marketplace!.aspx</guid><description><![CDATA[ 
<p>feed7 2.0 was in development since early this year and a lot of
work and time went into this release. I'm very happy that this
project is finally done and now available as a free update on
Marketplace.</p>

<p>Here's the direct link to feed7 on Marketplace:</p>

<p style="text-align: center"><a
title="http://www.windowsphone.com/en-US/apps/99aa9113-47f4-df11-9264-00237de2db9e"
 href="http://www.windowsphone.com/en-US/apps/99aa9113-47f4-df11-9264-00237de2db9e">
http://www.windowsphone.com/en-US/apps/99aa9113-47f4-df11-9264-00237de2db9e</a></p>

<p>The main target of the 2.0 release was to replace the existing,
XML-file based local caching engine by something faster and more
flexible that scales good for users that want to cache several
thousand articles offline on their device. The development started
when Mango was far in the future and I tried to replace the caching
engine by some technology that already existed at this time - for
example SQLite for Windows Phone 7 or some of the object-based
databases that were available at this time.</p>

<p>A lot of work went into it and the result was unfortunately
nothing. The database solutions available early this year performed
so bad that each and everyone was a lot more worse than my own
custom-developed solution. Finally, when SQL Server CE support was
confirmed for the "Mango" release, I stopped development on version
2.0 and decided to delay feed7 2.0 until Mango is out.</p>

<p>It was the right decision. SQL Server CE outperforms any other
solution by far. It is&nbsp; not as fast at runtime as my
implementation was , but it greatly improves startup performance
and also scales well with larger local caches and also makes sync
faster. It required a nearly complete rewrite of the whole app as I
wanted to behave feed7 just like in the 1.x version, just like as
"nothing's happened" … but because the approach with a database is
so different to what I have done, everything's changed under the
hood now while the UI should feel just the same for you as always.
Just faster. And packed with Mango features.</p>

<p>So here's what's new beside the new caching engine:</p>

<h3>New feature: Image caching</h3>

<p>Also something I had to delay in favor of overall application
performance: you can now enable image caching in settings and feed7
will download all images it finds within feed articles. So now you
can read your articles offline, but this time also with all images
displayed. Of course this feature will slow down sync as analyzing
articles for images takes some time, and of course image
downloading will also cost time and bandwidth at least on the
initial sync - and yes it also will take some serious amount of
space on your device - but it's worth it if you're often reading
your articles while out of coverage, for example on a plane. You'll
see, after the initial sync and download is done, image sync works
pretty well and fast. And as it's completely disconnected from your
reading or sync experience, it also won't come into your way.</p>

<h3><a
href="/media/2705/Windows-Live-Writer_feed7-2.0-is-available-on-Marketplace_FB_unreadcheck_2.png">
<img
style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 10px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px"
 title="unreadcheck" border="0" alt="unreadcheck" align="left"
src="/media/2710/Windows-Live-Writer_feed7-2.0-is-available-on-Marketplace_FB_unreadcheck_thumb.png"
 width="240" height="400" /></a>New feature: Multiselect</h3>

<p>It's always helpful if you can perform bulk operations on your
articles. Just want to mark some of them starred for later
reference? Until now, you had to open each article and add a star
in article view.</p>

<p>Now, you can multiselect items (see image on the left)&nbsp;
just like in the official mail client of Windows Phone 7: Tap on
the left side of an item to open Checkbox mode, check all items you
want to change and select your operation from the AppBar - like
mark read, star and unstar. The options change depending on the
view you are in.</p>

<p>It's a great feature and we will improve it even more in future
release.</p>

<h3>Performance, performance, performance</h3>

<p>feed7 improves performance in many areas:</p>

<p>It <strong>starts in just 1/3 of the time</strong> while not
slowing down as your local cache grows. It's <strong>memory usage
is just about 50 % of version 1.x</strong> or even less.
<strong>Google Reader sync performance is also greatly
improved</strong> and also uses <strong>a lot less
bandwidth</strong> during sync.</p>

<p>We also optimized some workflows like when adding feeds.</p>

<h3>Full "Mango" support</h3>

<p>feed7 2.0 supports everything that's great about Windows Phone
7.5 "Mango":</p>

<ul>
<li><strong>Multitasking</strong> (fast app switching)</li>

<li><strong>Greatly improved scrolling performance</strong> in
lists</li>

<li><strong>Pinnable feeds &amp; folders</strong> - pin your
favorite feeds or even folders to your homescreen - with full Live
Tile support that shows the count of new items within those
folders!</li>
</ul>

<h3>New article view</h3>

<p>Article view was completely overhauled and displays your
articles now in a more readable way. Images use as much space as
possible on screen so you won't have to resize them to better see
their contents. The font is a bit larger. We added some structuring
to the text so important parts stand out more. It's a great
improvement over version 1.x!</p>

<h3>And many more …</h3>

<p>As always when an app is nearly completely rewritten, there's so
much more in it than you can ever write down. Fixes, improvements,
optimizations, … you'll find plenty of them.</p>

<h3>One word on Live Tiles</h3>

<p>They also work completely different now. If you are using Google
Reader, your unread counts on your live tiles are now queried from
Google Reader directly over a new Background Agent that is executed
by Windows Phone every 30 minutes. You don't need help from my
server anymore for this.</p>

<p>For all users that don't use Google Reader but web (direct) sync
with feeds, my server is still required. But it also works
differently: until now, my server sent push messages to your device
with the unread count for your live tile. Now also the Background
Agent is pulling this data every 30 minutes from my server.</p>

<h3>Go download now!</h3>

<p>It's already live for a couple of days - if you don't have it
yet, get it … and let me know how you like it!</p>

<p>Have fun!</p>
]]></description></item><item><title>feed7 2.0 for “Mango” update preparations</title><link>http://www.bpk.cc/2011/10/2/feed7-20-for-“mango”-update-preparations.aspx</link><pubDate>Sun, 02 Oct 2011 02:32:47 GMT</pubDate><guid>http://www.bpk.cc/2011/10/2/feed7-20-for-“mango”-update-preparations.aspx</guid><description><![CDATA[ 
<p>It took longer than expected, but the feed7 2.0 update now is
finally just around the corner. While it is not a rewrite from
scratch, it's close - feed7 comes with a complete new,
database-based caching engine that required rewriting or at least
reviewing every single line of code - but fear not, on the surface
it will look &amp; behave just like version 1 - but is now faster,
supports more content to be cached without loosing performance and
requires just about 1/3 of the memory earlier versions did.</p>

<p>Besides supporting Mango goodness like fast app switching aka
multitasking there are also some other new features: image caching,
search, pinnable feeds and folders on your home screen and more. So
- this is more than just an update for Mango. It's a real big
update and it requires some preparation:</p>

<ul>
<li>Beginning in the next 24 hours, we are rolling out a
<strong>public beta</strong> to Marketplace. feed7 2.0 was in a
friendly user test for a while now but now everyone can try it out.
If you want to participate, let us know your Live Id (send it to <a
href="mailto:support@feed7app.com">support@feed7app.com</a>) - we
will send you a direct download link. You don't have to be a
Developer to participate - everyone with a Mango-enabled device
can!</li>

<li>feed7 will be in public beta for 1 to 3 weeks - depending on
your feedback.</li>

<li>During this time, <strong>we will be disabling the current Live
Tile service. Live Tiles will stop working for V1.0 users! Live
Tiles will behave completely differently in V2.0 and there is no
easy migration scenario. Please mind that this Live Tile service
was in Beta until now anyhow, so we ask for your understanding we
won't have a soft migration this time.</strong> For users that
won't have the ability to upgrade to Mango anytime soon, this will
mean that they won't have a Live Tile for a longer time. But we're
looking into this to find a solution for those users.</li>

<li>feed7 2.0 final will launch some time in October, depending on
Beta feedback.</li>
</ul>

<p>That's it for now - please take your chance to join the beta and
give feedback!</p>
]]></description></item><item><title>feed7 1.8 August 2011 feature update</title><link>http://www.bpk.cc/2011/8/14/feed7-18-august-2011-feature-update.aspx</link><pubDate>Sun, 14 Aug 2011 01:08:35 GMT</pubDate><guid>http://www.bpk.cc/2011/8/14/feed7-18-august-2011-feature-update.aspx</guid><description><![CDATA[ 
<p>As promised, the latest update for feed7 is now available on
Marketplace. Current plans are that this is the last update for
Windows Phone 7.0 devices as I am already working day and night on
the coming update for Windows Phone 7.1 also known as "Mango". Each
and every device out there today will get the update to Mango, so
don't worry - every current customer will receive an update to
version 2.0 as soon as Mango is out.</p>

<p>Now back to this update. Here are the most important new
features and fixes you will find in this release:</p>

<h3>Application Bar color now changeable</h3>

<p><a
href="/media/2649/Windows-Live-Writer_feed7-1.8-August-2011-feature-update_615_image_2.png">
<img
style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 6px 10px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px"
 title="image" border="0" alt="image" align="left"
src="/media/2654/Windows-Live-Writer_feed7-1.8-August-2011-feature-update_615_image_thumb.png"
 width="220" height="46" /></a>Some people loved the orange color
of feed7's AppBar … but also some didn't. And most of them were
using AMOLED devices with very colorful screens. On such devices,
the orange was a too strong contrast to the else very color-reduced
and dark interface when using the dark Windows Phone 7 theme.</p>

<p>Anyhow, in a very theme-aware application like feed7, it was
time to make also the AppBar respect the user-selected theme. But
for everybody who loved the orange - or just wants another color
for the AppBar - you can change this color now in settings. The
theme color will be default (and is recommended - if you change
your theme, of course feed7 will also change its AppBar color).</p>

<h3>Auto-Sync on startup</h3>

<p><a
href="/media/2659/Windows-Live-Writer_feed7-1.8-August-2011-feature-update_615_image_4.png">
<img
style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 6px 0px 0px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px"
 title="image" border="0" alt="image" align="right"
src="/media/2664/Windows-Live-Writer_feed7-1.8-August-2011-feature-update_615_image_thumb_1.png"
 width="223" height="37" /></a>A very frequent and legitimate wish:
why do I always have to press "sync" manually on every app startup?
The long answer is: because a sync impacts performance and also
limits your options until it is finished. You won't be able to add
new feeds or change settings, for example. So having auto-sync on
every startup can also be annoying.</p>

<p>But of course there is no reason to not offer a setting for
that. feed7 1.8 has just that. But by default, it's
deactivated.</p>

<h3>Unstar all</h3>

<p>Already noticed that since the last update (version 1.7) feed7
changes the AppBar buttons while swiping through the different
lists (folders, unread items, …)? You got an "unstar all" on top
level that way, but only if you are in the unread items list.</p>

<p>This has been extended in this version and you now also have an
option for "unstar all" when you are in any starred items list.
Useful if you are using starring heavily for temporarily marking
interesting articles (for later reading for example).</p>

<p>It looks like this:</p>

<p><a
href="/media/2669/Windows-Live-Writer_feed7-1.8-August-2011-feature-update_615_image_10.png">
<img
style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px"
 title="image" border="0" alt="image"
src="/media/2674/Windows-Live-Writer_feed7-1.8-August-2011-feature-update_615_image_thumb_4.png"
 width="286" height="43" /></a></p>

<h3>A fix for Mango users</h3>

<p>Many of you are already using the Mango Beta on your devices.
Due to some breaking changes, feed7 wasn't able to authenticate if
you changed your password since your Mango update (or freshly
installed feed7 and had to enter the password for the first time).
This is fixed in this release … kind of a mini Mango update.</p>

<h3>Release notes</h3>

<p>For all other changes, please read the following release notes
for this update:</p>

<p><strong>feed7 1.8 Release Notes:</strong></p>

<p><strong>Fix</strong>: Due to incorrect handling of some article
unique IDs, some feed's articles could not be opened<br />
<strong>Fix</strong>: When using web sync mode, some older/special
feed formats weren't supported<br />
<strong>Fix</strong>: Users that already used WP7 7.1 (Mango) Beta
couldn't store the password correctly anymore<br />
<strong>Fix</strong>: Last sync info gets persisted earlier now so
sync skipping is now more effective when enabled<br />
<strong>Fix</strong>: Backward out animations are now always
working<br />
<strong>Fix</strong>: Opening a context menu always caused
erroneously a navigation afterwards<br />
<strong>Added</strong>: Unstar all in starred lists<br />
<strong>Added</strong>: Custom color settings for AppBar<br />
<strong>Added</strong>: Setting to automatically start a sync on
app startup<br />
<strong>Changed</strong>: Updated 3rd party components and changed
parts of the app to benefit from their new features<br />
<strong>Changed</strong>: Some preparations for Mango/feed7 2.0
update later this year</p>
]]></description></item><item><title>Catching up – feed7 1.7, 1.8 and 2.0 (Mango)</title><link>http://www.bpk.cc/2011/8/9/catching-up-–-feed7-17,-18-and-20-(mango).aspx</link><pubDate>Tue, 09 Aug 2011 15:00:45 GMT</pubDate><guid>http://www.bpk.cc/2011/8/9/catching-up-–-feed7-17,-18-and-20-(mango).aspx</guid><description><![CDATA[ 
<p>It was very busy here over the last couple of months and besides
some delayed updates for feed7, also the update details for the
April 2011 update are missing here.</p>

<p>But feed7 is gearing up and over the next couple of weeks there
will be a lot of new stuff coming out that will include all the
work that has been done since the last update, and that was mainly
targeted on the upcoming Windows Phone 7 Mango release.</p>

<p>But step by step, let's start with the missing release
information for feed7 1.7:</p>

<h3>feed7 1.7 April 2011 feature update</h3>

<p>I'm sure everyone already uses this version in the meantime.
While not obviously visible, this was a rather large update
containing a complete redone UI for (much) better scrolling
performance, (much) better performing and Metro-like
animations/page transitions, landscape support, a complete
localizable UI (with one additional language, German, included) and
much more. Here are the details:</p>

<p><strong>feed7 1.7 Release Notes:</strong></p>

<p><strong>Added</strong>: Full localization support for complete
UI implemented<br />
 <strong>Added</strong>: Localization to German added. More
languages will be added depending on customer demand<br />
 <strong>Added</strong>: Links in articles can now be opened
directly in WP7 browser, can be limited to YouTube video links
only<br />
 <strong>Added</strong>: Mark all read on top level<br />
 <strong>Added</strong>: Full landscape support added<br />
 <strong>Enhanced</strong>: Improved scroll performance in feed
lists to offer native-like WP7 experience<br />
 <strong>Enhanced</strong>: New page transitions that offer
native-like WP7 experience and faster, less diversionary
animations<br />
 <strong>Enhanced</strong>: Optimized startup time by reducing
amount of cached data<br />
 <strong>Fix</strong>: Due to some Google Reader API bugs,
duplicate articles were returned occasionally. feed7 handles them
now.<br />
 <strong>Fix</strong>: Opening articles from "all" lists caused
sometimes automatic re-opening of those items later<br />
 <strong>Fix</strong>: Some small UI glitches fixed that were not
compliant to WP7 design guidelines<br />
 <strong>Fix</strong>: Exception on startup when push notification
server is temporary unavailable<br />
 <strong>Fix</strong>: Under some circumstances saving tombstoning
data could cause a null reference exception</p>

<h3>feed7 1.8 update for NoDo coming</h3>

<p>While Mango is just around the corner, there will be one more
update for NoDo devices coming in the next couple of days. It will
add some requested features and some bug fixes that were reported
since the last update in April. Included are customizable
Application Bar colors, auto-sync on startup and some more UI
enhancements.</p>

<p>It was a long time since the last update - the reason is that we
needed to move some of the planned features to the feed7 2.0
release as we need the new Mango features for them.</p>

<p>There is also one bugfix in this release that already targets
Mango (for everyone that already uses feed7 on a Mango beta
device): when changing your password, it is currently stored
incorrectly on Mango devices. This update will fix this problem.
You won't have noticed this problem if you haven't changed your
password since your update to Mango on your device.</p>

<h3>feed7 2.0, the update for "Mango" - join the Beta!</h3>

<p>feed7 2.0 is in the making for months now and had been delayed
again and again because the planned new features weren't realizable
with the current-generation WP7 OS. It was impossible to work
around the limitations without having serious performance impacts.
But with the new Mango update everything is on track now, mainly
the "heart of the update", a new caching engine.</p>

<p>Shortly after the 1.8 update there will be a Beta for 2.0
available to everyone who already has the Mango Beta running on a
real device. Everyone who is interested in joining the Beta, please
contact feed7 support. While the first Beta release won't be
feature complete and you might not even notice huge differences,
there will be some key features of Mango implemented, like support
for fast app switching ("Multitasking").</p>
]]></description></item><item><title>HTTP Error 403 (Forbidden) when using ASP.NET MVC 3 on IIS 6</title><link>http://www.bpk.cc/2011/4/28/http-error-403-(forbidden)-when-using-aspnet-mvc-3-on-iis-6.aspx</link><pubDate>Thu, 28 Apr 2011 15:41:59 GMT</pubDate><guid>http://www.bpk.cc/2011/4/28/http-error-403-(forbidden)-when-using-aspnet-mvc-3-on-iis-6.aspx</guid><description><![CDATA[ 
<p>If you are trying to get an ASP.NET MVC 3 page running on IIS 6
- in my case I tried it with the great MVC 3 based CMS <a
href="http://www.orchardproject.net">Orchard</a> - and hit this 403
error when trying to open the web site the first time, here's a
possible solution:</p>

<p>ASP.NET 4 comes with a new feature that makes extensionless URLs
work out of the box in Internet Information Services 6. This
feature can be enabled in the registry. It <strong>should</strong>
be enabled by default, but in my case, it was not for some
reason.</p>

<p>So, make sure that in:</p>

<p>
<strong>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0</strong></p>

<p>the <strong>EnableExtensionlessUrls</strong> key is set to
<strong>1</strong>.</p>
]]></description></item><item><title>feed7 1.6 March 2011 Maintenance Update</title><link>http://www.bpk.cc/2011/3/14/feed7-16-march-2011-maintenance-update.aspx</link><pubDate>Mon, 14 Mar 2011 23:34:30 GMT</pubDate><guid>http://www.bpk.cc/2011/3/14/feed7-16-march-2011-maintenance-update.aspx</guid><description><![CDATA[ 
<p>During the next couple of days, an update for feed7 will be
rolled out to your devices. Unlike the previous two updates, this
is purely a maintenance update and brings no new features - but
some improvements.</p>

<p>For instance, feed7 handles text input now better and sets
actions if you press enter during some text input in forms (like
setting the focus on the next relevant input element or closing the
SIP (keyboard) automatically.</p>

<p>The biggest part of the update was support for the new Live Tile
Push Service 2.0 that will improve accuracy of your notifications
and also has a much nicer and upgrade-friendlier architecture.
While you won't notice much difference, a lot of work has gone into
that and it will be a lot easier and faster in the future to add
new features or changes to the service without loosing to much time
on backwards compatibility issues.</p>

<p>Speaking of backwards compatibility, the Live Tile Push Service
1.x for feed7 1.5 will be running side-by-side with the new version
until end of March so you don't have to upgrade to feed7 1.6
immediately to keep your live tile notifications working.</p>

<p>This client &amp; push service update is also a preparation for
feed7 2.0 that will arrive soon. Most of the changes in feed7 1.6
are actual changes in feed7 2.0 that were integrated into the 1.6
release.</p>

<p>Another important part of this update are changes that will
allow you to report app crashes directly to support. This will help
to react faster to issues that appear "in the wild". If an
unexpected error happens, you will be asked if you want so open a
ready to send E-Mail-message. Although I hope you will never see
this message, please make use of it. Another part is that feed7 now
integrates PreEmptive's Runtime Intelligence service that will also
help monitor the application in the wild.</p>

<p>So you see - this update focuses on improvements now and in the
future. While it brings no new features, it is a very important
update that caused a lot of work. Thus, the time since the last
update was longer than expected, but rest assured that work on
feed7 2.0 has run parallel to this release - so you should see the
new major release in mid-April.</p>

<p>As always, find the complete release notes below.</p>

<h3>Release notes feed7 1.6</h3>

<p><strong>Fix</strong>: Some fixes and enhancements to web sync
parsers for Atom, RSS and RDF feeds<br />
<strong>Fix</strong>: In some scenarios, feed7 stopped syncing
unstarred items with Google Reader<br />
<strong>Fix</strong>: More pessimistic unread/starred management to
prevent duplicates in unread or starred lists<br />
<strong>Fix</strong>: Problems during opening a push notification
channel could crash the app<br />
<strong>Changed</strong>: Integrated new February 2011 Silverlight
Toolkit and replaced some custom code by toolkit
functionality<br />
<strong>Changed</strong>: General code maintenance, mainly removing
deprecated code/functionality<br />
<strong>Changed</strong>: Subtle indentation for Google Reader
credentials on settings screen removed as this confused some
users<br />
<strong>Changed</strong>: Better text input (SIP) handling<br />
<strong>Changed</strong>: Integrated new push service features for
more accurate notifications<br />
<strong>Enhanced</strong>: Trial mode is now less restrictive, app
can be used without restrictions besides a trial info on main
page.<br />
<strong>Changed</strong>: In trial mode, push notifications are now
limited to a 5 day trial license starting from the first time of
use.<br />
<strong>Added</strong>: Global error handler for unexpected
exceptions that allows sending the error details to support by
mail<br />
<strong>Added</strong>: Added PreEmptive runtime intelligence to
report and analyze app usage</p>
]]></description></item><item><title>An update to feed7’s live tile push service … and feed7 2.0</title><link>http://www.bpk.cc/2011/2/13/an-update-to-feed7’s-live-tile-push-service-…-and-feed7-20.aspx</link><pubDate>Sun, 13 Feb 2011 02:19:14 GMT</pubDate><guid>http://www.bpk.cc/2011/2/13/an-update-to-feed7’s-live-tile-push-service-…-and-feed7-20.aspx</guid><description><![CDATA[ 
<p>I just released a major sever update today with some dramatic
changes on how this service works, so I'd like to tell you what to
expect from this update (besides possible service downtimes):</p>

<p>First of all, my decision to mark this service as "Beta" was
right - until now, the service didn't delivered the quality a final
software should have. I had some outages because of nasty bugs and
some conceptual flaws that caused some inaccurate data for some of
you. I fixed and updated the service frequently but as it turns
out, this was not good enough to deliver quality data to your
devices.</p>

<p>The reason is I underestimated the really bad data quality
really many of the feeds out there offer. Only very few feeds
deliver accurate published timestamps for their articles. Many of
them fail on correct time zone settings, others seem to have only
day-based timestamps without any time information and my absolutely
favorite feeds have article timestamps from far in the future
(months to years!).</p>

<p>While I tried to fix those inaccurate information on my side, it
was a never-ending story. So I decided to only rely on my very own
data now, and this is what the current update brings. Instead of
the published date, I now look at my own timestamp that I set when
my crawler finds a a new article. This is one way to optimize this
behavior, but because crawling is not real-time and we will always
have some gaps between what's on your devices and what's on my
server, I have implemented some additional data processing where I
need a little more information from the data cache state on your
devices. Unfortunately, this cannot be fixed server-side
immediately but requires a software update on your devices.</p>

<p>In the next one or two weeks, I plan to publish another small
feed7 update that will integrate the necessary features that are
now already available over the server side interface. Until then,
the new way I manage article timestamps should already improve the
live tile accuracy.</p>

<h3>feed7 2.0</h3>

<p>While I'm at it, the next feed7 update will not be a feature
update like the last one, it' will just be a small maintenance
update with some fixes and smaller changes. This is because I'm
already working on feed7 2.0 that will bring major changes to the
UI and to the caching engine, as well as some other long-awaited
features. There will be dramatic changes while the general way how
feed7 works (and looks) will not change (much), but I'm sure you
will love how fast and fluid feed7 will be.</p>

<p>Currently I'm having some issues with some 3rd party code but
they're working with me to resolve the issues. Anyhow, it will be a
couple of months until feed7 2.0 will be available as a final
release. Until then, feed7 1.x will of course be maintained and
will get some smaller updates.</p>
]]></description></item><item><title>Could Nokia and Windows Phone 7 be real?</title><link>http://www.bpk.cc/2011/2/10/could-nokia-and-windows-phone-7-be-real.aspx</link><pubDate>Thu, 10 Feb 2011 23:45:50 GMT</pubDate><guid>http://www.bpk.cc/2011/2/10/could-nokia-and-windows-phone-7-be-real.aspx</guid><description><![CDATA[ 
<p>As a Windows Phone 7 user <em>and</em> developer, I can't hope
for better news: Nokia switches to Windows Phone 7. At least if we
can believe some "analysts" and "insiders".</p>

<p>But would this decision bring anything good for Nokia? Would it
make any sense? Personally, I don't think so. And I also don't
think this will happen. Stephen Elop might have spent a couple of
years of his (much longer) IT career at Microsoft, but after
reading his internal memo, I'm sure he isn't stupid. And switching
from Symbian to Windows Phone 7 would be a <em>very</em> stupid
move.</p>

<p>Let me explain …</p>

<p>There's absolutely nothing wrong with Windows Phone 7. It's a
great OS, even in version 1, with a bright future and tons of
chances to finally bring mobile mojo to Redmond. But it's also a
very closed system. OEMs can't change anything more than the
default live tile color and decide to ship a few bundled apps. Such
a closed system works good when you are also shipping it on a
closed hardware platform, like we see it with iOS and iPhone. When
your mobile OS ships with many different phones from many different
manufactures, I believe this isn't so sexy anymore.</p>

<p>But you get some benefits, like the possibility to easily update
all devices out there very frequently with new features (do you
read me, Redmond?) and if you get this right, this still can
attract customers.</p>

<p>The real trouble starts if you want to switch the whole product
portfolio of a OEM to such a system. It becomes even worse if the
name of this OEM is Nokia, also known as the world leader in the
mobile phone business. Currently. Thus, Nokia has a somewhat large
product portfolio targeting everything from the ultra low cost
markets up to the high end multimedia and business smartphone
space. One thing they've always done is releasing new models like
crazy.</p>

<p>Symbian, as much as I always hated this OS, did a good job in
offering a platform that scaled well to all kinds of phones. Nokia
had some very different UIs sitting on top of Symbian. Much more
important, most of Nokia's customers even didn't know that there is
something called "Symbian" on their device. It was just "a Nokia".
Or "a Communicator".</p>

<p>Windows Phone 7 can't do all that for Nokia. It's to offensively
branded to Windows Phone, and it just can't scale down to lower
cost devices in the $ 100 area. Nokia would have a hard time even
differentiating top level devices enough from each other.</p>

<p>But then you say: of course! Elop is jumping from their burning
platform. 100 models in every flavor in the market isn't the right
way for doing mobile phone business anymore! They will change that
too! Probably. Hopefully. But you won't see a Nokia with 5
different Windows Phone 7 devices on the market. That way, they
could even stay on their burning platform.</p>

<p>Nokia has still a very loyal customer base. They're buying Nokia
because it's Nokia. Not because it's Symbian. Nokia should really
try everything to keep those customers happy.</p>

<p>So, what I <strong>actually think will happen</strong> is that
Nokia will announce that they are going to release some Windows
Phone 7 devices that will be used for covering the high end
smartphone market. With Nokia's first class hardware, this could be
a success indeed. It will be also a chance to gain ground in the US
where Nokia never was very strong. But they sure will not
<strong>switch</strong> to Windows Phone 7.</p>

<p>The most interesting part of tomorrows event will be the
question what's Nokia going to do about Symbian and MeeGo.
Personally, I think Symbian will survive in the low cost and mid
range portfolios. Windows Phone 7 can't replace Symbian there
currently, but maybe in the future - if Microsoft decides to make
Windows Phone 7 more adaptable to OEM's needs. MeeGo is also no
option for the low cost market and even not for mid-range so I
expect it to be dropped.</p>

<p>Android would be the best choice for Nokia as their future main
OS slowly replacing Symbian. Nokia could even adapt it to behave a
lot like Symbian to slowly guide longtime customers to the new
platform. But by all we know now, Android will not be an option for
Nokia.</p>

<p>To sum it up:</p>

<p><strong>My recommendation for Nokia:</strong></p>

<p>Use Android and Windows Phone 7 in a 2:1 ratio</p>

<p><strong>What most likely will happen:</strong></p>

<p>Nokia will stick to Symbian for mid- and low range devices, at
least for now, and will introduce some WP7 high end
smartphones.</p>

<p><strong>What definitely NOT will happen:</strong></p>

<p>Nokia replaces Symbian by Windows Phone 7.</p>

<p><strong>Weak point in my theory:</strong></p>

<p>Stephen Elop has discredited Symbian so much in his memo that
it's hard to believe he want to release even one more handset with
this OS. But on the other hand, if they're not switching to
Android, there's no other reasonable way to defend market share in
low- to midrange portfolios.</p>

<p>I'm exited about what will happen tomorrow.</p>
]]></description></item><item><title>January update brings live tile (and more) to feed7</title><link>http://www.bpk.cc/2011/1/26/january-update-brings-live-tile-(and-more)-to-feed7.aspx</link><pubDate>Wed, 26 Jan 2011 00:46:54 GMT</pubDate><guid>http://www.bpk.cc/2011/1/26/january-update-brings-live-tile-(and-more)-to-feed7.aspx</guid><description><![CDATA[ 
<p>Just a few hours ago, feed7 1.5 was published on Marketplace.
Over the next hours this update should show up on your devices.</p>

<p>As with the December update, I'd like to walk you through the
most important changes.</p>

<h3>Live Tile support (and the "Beta" story)</h3>

<p><a
href="/media/2541/Windows-Live-Writer_9479a4a4ff6c_150FE_image_4.png">
<img
style="border-bottom: medium none; border-left: medium none; margin: 6px 10px 5px 0px; padding-left: ; padding-right: ; display: inline; float: left; border-top: medium none; border-right: medium none; padding-top: "
 title="image" alt="image" align="left"
src="/media/2546/Windows-Live-Writer_9479a4a4ff6c_150FE_image_thumb_1.png"
 width="173" height="173" /></a>Having a "real", updating live tile
was the most requested feature for feed7. While this request is
absolutely valid, it is a hard task to accomplish on Windows Phone
7 due to the lack of multitasking support for 3rd party apps.</p>

<p>Knowing how important this feature is for many of you, I decided
to develop a cloud service (buzzwords to the rescue, right?) to
collect the required information's from all over the web and push
this info to your devices.</p>

<p>As this service will acquire a lot of resources, I currently
don't know how it performs with hundreds or even thousands of users
on it and how I will be able to fund this service with a one-time $
1,99 app. For a individual developer like me, this is a hard task
so I decided to put the "Beta" tag on this service for now. I will
tell you more about my plans for the future of this service in a
separate post soon.</p>

<p>In the meantime, all you need to know is that this service is
"beta" - so it might fail sometimes, it might change how it works
in the future or - in worst case - also might be removed from the
app again if I'm unable to handle the required load with my
financial resources.</p>

<p>And of course you need to know how it works: First of all, you
can enable it (opt-in) in the settings screen. After this the live
tile will always show you the <strong>amount of new
articles</strong> of all your feeds <strong>since your last
sync.</strong> So the counter will also be reset to 0 after every
sync. The maximum value is 99.</p>

<p><strong>Other important things to know:</strong></p>

<ul>
<li>The live tile count does not take your already read items in
Google Reader into account. Of course, this service works with
anonymous user data so it just can't know about your read or unread
items within Google Reader. It just knows about all articles of
your feeds that weren't synced to your device already.</li>

<li>Of course, it works for both, Google Reader users and also all
users that sync directly with feeds. It works completely
identical!</li>

<li>Currently, the live tile updates every 15 minutes. Most likely,
this will be changed to 30 minutes soon.</li>

<li>Please don't expect exact numbers. Don't wonder when the actual
count of new items is a little bit higher than the count on the
live tile suggested. You don't get instant notifications for every
new item. If the difference is high, please contact support,
though.</li>
</ul>

<h3>New sharing options</h3>

<p>Additionally to Instapaper and ReadItLater, you can now share
feed articles by:</p>

<ul>
<li>E-Mail</li>

<li>Text Message (aka short message/SMS)</li>

<li>Google Reader</li>
</ul>

<h3>Support for sharing when offline</h3>

<p>Every sharing option works also while you are offline. For
Instapaper, ReadItLater and Google Reader this means that when you
share your item over one of this services and you don't have a
network connection, feed7 will cache this sharing request and sends
it to the service after your next sync.</p>

<p>For E-Mail and text message, this is handled by the phone.</p>

<h3>Use always a white theme for article view</h3>

<p>Reading black text on white background is easier for your eyes
than white text on black background. So even if you use the dark
Windows Phone 7 theme, you can now enable using always a white
background on the article view over settings.</p>

<h3>What else?</h3>

<p>There is now a direct link to rate feed7 on the marketplace in
the AppBar of the main screen. Please make use of it!</p>

<p>Also, there are a lot of other changes &amp; fixes in this
release. Please see the following complete release notes to get the
big picture!</p>

<p><strong>Fix</strong>: RSS feeds without post unique IDs caused
feed7 to open wrong posts in those feeds when using web sync
mode<br />
<strong>Fix</strong>: Sometimes feed7 downloaded already cached
articles when using Google Reader<br />
<strong>Fix</strong>: Fixed issues with UI thread dispatching after
tombstoning (sending app to background)<br />
<strong>Fix</strong>: Since read/starred state changes in v1.4,
sometimes server states could override local changed states in
feed7<br />
<strong>Fix</strong>: Stability enhancements on HTTP client calls
in Reader Sync client<br />
<strong>Fix</strong>: When adding/editing/removing feeds or
folders, status message shows now correct status information<br />
<strong>Fix</strong>: Parsing of RSS RFC dates failed for some RSS
feeds in web sync mode<br />
<strong>Fix</strong>: When immideately going back to the app after
sending it to the background, feeds could get duplicated in
UI<br />
<strong>Added</strong>: Sharing of feed articles by E-Mail<br />
<strong>Added</strong>: Sharing of feed articles over Google
Reader<br />
<strong>Added</strong>: Sharing of feed articles by text
message<br />
<strong>Added</strong>: Sharing now has an offline queue for
Instapaper, ReadItLater and Google Reader sharing to <strike><br />
</strike><strong>Added</strong>: feed7 now supports showing new
feed articles since last sync on its live tile (Beta, opt-in)<br />
<strong>Added</strong>: Possibility to switch between theme aware
and white theme colors in posts viewer<br />
<strong>Added</strong>: Animations when going through items in
posts viewer<br />
<strong>Added</strong>: Possibility to start marketplace rating
task from main view AppBar to rate feed7<br />
<strong>Added</strong>: Mark all read/unread on folder level now
possible<br />
<strong>Added</strong>: Feed article view supports now opening
article's URL in external browser<br />
<strong>Changed</strong>: Better handling of read state so that
just opened posts aren't removed from lists during animations<br />
<strong>Changed</strong>: feed7 icon on home screen ("live tile")
is now theme aware<br />
<strong>Changed</strong>: Cache duration allows now up to be set up
to 1 year<br />
<strong>Changed</strong>: Better handling of missing network
connections with clearer error messages for the users<br />
<strong>Changed</strong>: Star app bar button now changes
appearance based on if an article is marked as star or not</p>
]]></description></item><item><title>feed7 December update brings many new features</title><link>http://www.bpk.cc/2010/12/17/feed7-december-update-brings-many-new-features.aspx</link><pubDate>Fri, 17 Dec 2010 20:41:59 GMT</pubDate><guid>http://www.bpk.cc/2010/12/17/feed7-december-update-brings-many-new-features.aspx</guid><description><![CDATA[ 
<p>feed7 was released in November. Since then, two small bugfix
updates were released. Now the first real feature update (version
1.4) was published to marketplace and is now available for download
to your devices.</p>

<p style="text-align: center;"><a
href="http://social.zune.net/redirect?type=phoneApp&amp;id=99aa9113-47f4-df11-9264-00237de2db9e">
<img src="/media/2331/Windows-Live-Writer_feed7-is-now-available-on-Windows-Phone-_14401_wp7_English_300x50_red_3.png" width="240" height="40" alt="wp7_300x50_red" style="border: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; background-image: none;"/></a></p>

<p>I got a lot of feedback on the first version and I tried to
implement the most requested into this first, large update. Also,
many changes or features that just didn't made it into V1 - because
there was not enough time - are now included.</p>

<p>I'd like to walk you through the most important new features so
you won't miss anything!</p>

<h3>Context menus</h3>

<p><a
href="/~/media/2441/Windows-Live-Writer_feed7-1.4-brings-many-new-features_A8C_image_6.png">
<img src="/media/2446/Windows-Live-Writer_feed7-1.4-brings-many-new-features_A8C_image_thumb_2.png" width="300" height="251" alt="Windows-Live-Writer/feed7-1.4-brings-many-new-features_A8C/image_thumb_2.png" style="display: block; float: none; margin-left: auto; margin-right: auto;"/></a></p>

<p>feed7 now offers context menus in all feed lists so you have
easy access to the most common tasks for feeds and folders. Just
tap and hold on an item to bring it up - like in native Windows
Phone applications.</p>

<h3>Edit feeds &amp; folders</h3>

<p>You now finally can edit feeds and folders. This was often
requested by users that use direct web sync instead of Google
Reader as they were not able to change a feed name or address
server side.</p>

<h3>Move feeds</h3>

<p>Also something that will really help web sync users - you now
can move your feeds anytime to other folders and not only during
folder creation.</p>

<h3>Much improved Google Reader sync speed</h3>

<p>Google Reader sync is now much faster! The complete sync process
was revised and optimized for more speed and a more bandwidth
friendlier behavior. You should notice up to 5 times faster sync
speeds after the initial sync. Speed will benefit if you sync often
and keep your unread states low!</p>

<h3>Share your feeds</h3>

<p><a
href="/~/media/2451/Windows-Live-Writer_feed7-1.4-brings-many-new-features_A8C_image_10.png">
<img src="/media/2456/Windows-Live-Writer_feed7-1.4-brings-many-new-features_A8C_image_thumb_4.png" width="300" height="84" alt="Windows-Live-Writer/feed7-1.4-brings-many-new-features_A8C/image_thumb_4.png" style="display: block; float: none; margin-left: auto; margin-right: auto;"/></a></p>

<p>feed7 now supports sharing feeds. Initially, you can send your
feeds to Instapaper and Read It Later, but more services are coming
soon. Stay tuned!</p>

<h3>Run &amp; sync under lock screen</h3>

<p><a
href="/~/media/2461/Windows-Live-Writer_feed7-1.4-brings-many-new-features_A8C_image_14.png">
<img src="/media/2466/Windows-Live-Writer_feed7-1.4-brings-many-new-features_A8C_image_thumb_6.png" width="300" height="54" alt="Windows-Live-Writer/feed7-1.4-brings-many-new-features_A8C/image_thumb_6.png" style="margin: 0px auto; display: block; float: none;"/></a></p>

<p>In settings, you can now opt-in to let feed7 run when your
screen is locked. Press sync, lock your phone &amp; come back later
when sync is finished!</p>

<h3>Import feeds from OPML files (web sync mode only)</h3>

<p>When you do not sync with Google Reader, OPML is ideal to import
larger feed lists into feed7. Who wants to type in 50 feed
addresses manually? Go to add new feeds and fill in a web address
where you have uploaded your OPML file and let feed7 do the
rest.</p>

<p>OPML import is currently straightforward but we will extend it
with more options (like selective import or support for folders) in
the future.</p>

<h3>What else?</h3>

<p>Another new setting is now available: you can decide to omit
sync for feeds that have been synced already within a given
timespan. It helps to save bandwidth and speeds up sync if you
update your feeds very often. When you are using Google Reader
sync, I recommend do leave this setting disabled as Reader sync is
optimized to skip feeds that have no new items. Also, Reader sync
speed benefits if you sync more often. In web sync mode, such
optimizations are not possible and this setting can be very
helpful.</p>

<p>An often requested change was to have the post view also respect
your phone's theme colors (currently, this view uses a white
background for better readability). This is now changed, although I
plan to give the user the choice how to display this view with a
future release. Please let me know what you think about this change
in comments or by sending in an E-Mail to the support E-Mail
address.</p>

<p>In addition, feed7 1.4 comes with a lot of important fixes and
optimizations. Please look at the following, complete release notes
to see everything that's changed.</p>

<p>Thanks to everyone who sent in feedback and I hope you like this
update.</p>

<p><strong>Fix</strong>: Another sync crashing issue with a few
Google Reader accounts fixed<br />
 <strong>Fix</strong>: Feeds list in Add Folder view is now
sorted<br />
 <strong>Fix</strong>: Adding feeds directly into folders failed in
some scenarios<br />
 <strong>Fix</strong>: Better support for some Atom feeds in direct
web sync mode<br />
 <strong>Fix</strong>: When navigating through items in feed item
view, items are now marked as read<br />
 <strong>Fix</strong>: Navigating through items in feed item view
will now be in correct date order<br />
 <strong>Fix</strong>: Feed &amp; Folder list now persists earlier
in the sync process to prevent data loss when disrupting first sync
process<br />
 <strong>Fix</strong>: During moving feeds, they sometimes lost
their folder association which led to display problems<br />
 <strong>Fix</strong>: Deleting feeds from subfolders did not work
in some scenarios<br />
 <strong>Fix</strong>: When using more than one Atom feed in direct
web sync mode, Atom feeds could get mixed up<br />
 <strong>Fix</strong>: Better support for ISO-8859-1 encoded feeds
in direct web sync mode<br />
 <strong>Added</strong>: Context menus<br />
 <strong>Added</strong>: Moving feeds to other folders now
possible<br />
 <strong>Added</strong>: Editing feeds and folders now
possible<br />
 <strong>Added</strong>: New setting to sync only feeds that
haven't been synced within a given timespan<br />
 <strong>Added</strong>: feed7 runs &amp; syncs now under the lock
screen, disableable in settings<br />
 <strong>Added</strong>: Import feeds from OPML file (direct web
sync mode only)<br />
 <strong>Added</strong>: Social Network Services, currently
supporting Instapaper and Read It Later<br />
 <strong>Added</strong>: Support for older RDF format in web sync
mode<br />
 <strong>Enhanced</strong>: Much faster, bandwidth-friendlier
Google Reader sync<br />
 <strong>Enhanced</strong>: Direct web sync now shows more detailed
sync status like in Google Reader sync mode<br />
 <strong>Enhanced</strong>: Some UI optimizations &amp; fixes, for
example: feed item view now also matches app/phone theme<br />
 <strong>Enhanced</strong>: Item/post view shows now the web link
of an item that has no content</p>
]]></description></item><item><title>compactRSS update on the way to your devices</title><link>http://www.bpk.cc/2010/12/8/compactrss-update-on-the-way-to-your-devices.aspx</link><pubDate>Wed, 08 Dec 2010 23:22:03 GMT</pubDate><guid>http://www.bpk.cc/2010/12/8/compactrss-update-on-the-way-to-your-devices.aspx</guid><description><![CDATA[ 
<p>Having enough of all that Windows Phone 7 buzz already? Here is
your cure with some news for good old Windows <em>Mobile</em> …
there is an update on the way to your classic Windows Mobile 6.x
Standard device for compactRSS. The update is currently waiting for
certification, so it will be available in a couple of days.</p>

<p>It will update your current version 1.5 to version 1.6, but
despite the rather large version step (for compactRSS versioning),
it's a rather small update with two fixes. In fact, the 6 is only
there because you can't publish an upgrade to marketplace without
increasing that number at least by 1.</p>

<p>Here's what's in it:</p>

<ul>
<li>Due to the limited encoding support on Windows Mobile devices,
some feeds with rather uncommon encodings could not be added to
compactRSS. With this update, compactRSS will be able to handle
most of them.</li>

<li>A user reported he had problems with HTTPS feeds. I looked at
it and as is the story with encodings, also certificates are not
very widely supported on Windows Mobile devices. Thus, untrusted
certificates were declined by compactRSS. I changed the behavior of
compactRSS to accept also certificates that were issued by
untrusted authorities, so there should be no issues with HTTPS
feeds anymore. Regarding security concerns that may arise - I think
they are negligible in this case.</li>
</ul>

<p>These fixes will not be incorporated to compactRSS 1.0! If you
are still using the free edition, please purchase compactRSS 1.6
from marketplace if you need them.</p>
]]></description></item><item><title>Can’t find feed7 on your device after installing or updating?</title><link>http://www.bpk.cc/2010/12/3/can’t-find-feed7-on-your-device-after-installing-or-updating.aspx</link><pubDate>Fri, 03 Dec 2010 16:10:19 GMT</pubDate><guid>http://www.bpk.cc/2010/12/3/can’t-find-feed7-on-your-device-after-installing-or-updating.aspx</guid><description><![CDATA[ 
<p>Because the first update of feed7 was unfortunately published to
a wrong marketplace category (Games), some users weren't able to
find feed7 anymore.</p>

<p>In any case, please just update feed7 to the latest version (on
marketplace this is version 1.3.0.0).</p>

<p>If your phone doesn't offer this update automatically, just
search for feed7 on the marketplace and select "Update" from there.
This update will correct any category issues.</p>

<p>After that, please restart your phone once. Now feed7 should
appear in your applications list as expected.</p>

<p><strong>Please be aware that the version information in feed7's
about box will be still 1.2.0.14</strong> - only the marketplace
version will display 1.3 currently. When publishing the first
feature update soon, I will also bring those version numbers in
sync again.</p>

<p>If you still have problems, please don't hesitate to contact
support by E-Mail or just leave a comment here.</p>

<h3>What's next?</h3>

<p>After fixing all initial issues, I'm now working on the first
feature update. It should be available in 1-2 weeks and will
contain the most requested features like moving feeds, renaming
feeds &amp; folders, context menus in addition to the AppBar menus,
and of course some fixes for bugs that were reported to me.</p>

<p>Please keep sending in feedback, it helps a lot to focus on
features you most care about.</p>
]]></description></item><item><title>Bugfix for feed7 sync crashes is on the way</title><link>http://www.bpk.cc/2010/11/26/bugfix-for-feed7-sync-crashes-is-on-the-way.aspx</link><pubDate>Fri, 26 Nov 2010 20:07:50 GMT</pubDate><guid>http://www.bpk.cc/2010/11/26/bugfix-for-feed7-sync-crashes-is-on-the-way.aspx</guid><description><![CDATA[ 
<p>Unfortunately, some of you have experienced crashes when syncing
feeds with your Google Reader account.</p>

<p>Thanks to some very helpful users that sent in their feed lists,
I was able to reproduce the bug and fix it. The update was already
submitted to the Marketplace. Depending on how long certification
will take at Microsoft, I expect the update to be available within
the next couple of days.</p>

<p>Again, thanks to everyone who sent this in, provided their feed
lists and took the time to discuss the problem with me. Without
that, it won't have been possible to track down the source of the
error so fast.</p>

<p>And to everyone who is affected by this bug: please accept my
apologies, I'm really sorry your first experience was an
unfortunate one.</p>
]]></description></item><item><title>feed7 is now available on Windows Phone 7 Marketplace!</title><link>http://www.bpk.cc/2010/11/25/feed7-is-now-available-on-windows-phone-7-marketplace!.aspx</link><pubDate>Thu, 25 Nov 2010 23:29:22 GMT</pubDate><guid>http://www.bpk.cc/2010/11/25/feed7-is-now-available-on-windows-phone-7-marketplace!.aspx</guid><description><![CDATA[ 
<p>I'm happy to announce that feed7 is now finally available <a
href="http://social.zune.net/redirect?type=phoneApp&amp;id=99aa9113-47f4-df11-9264-00237de2db9e">
on the Windows Phone 7 Marketplace</a>!</p>

<p style="text-align: center;"><a
href="http://social.zune.net/redirect?type=phoneApp&amp;id=99aa9113-47f4-df11-9264-00237de2db9e">
<img src="/media/2331/Windows-Live-Writer_feed7-is-now-available-on-Windows-Phone-_14401_wp7_English_300x50_red_3.png" width="240" height="40" alt="wp7_300x50_red" style="border: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; background-image: none;"/></a></p>

<p>It was very important for me to support Google Reader in feed7
as many use this service to organize their feeds on a central
account. By using feed7, you will benefit from that as it will sync
two-way with Google Reader and, for example, keeps your read states
or starred items in sync.</p>

<p><a
href="/media/2336/Windows-Live-Writer_feed7-is-now-available-on-Windows-Phone-_14401_f7main_2.png">
<img src="/media/2341/Windows-Live-Writer_feed7-is-now-available-on-Windows-Phone-_14401_f7main_thumb.png" width="210" height="350" alt="f7main" style="background-image: none; margin: 0px 15px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border: 0px;"/></a>Anyhow, many of you
don't want to use Google Reader or any other online service. feed7
is for you too - in fact, the experience of feed7 is exactly the
same. You can use Folders to organize your feeds even when you are
not using Google Reader. You can mark items as starred.
Everything's there too. And you will benefit from a much faster
sync speed without a connected online service.</p>

<p>In feed7, the decision is up to you.</p>

<p>Of course, feed7 caches your feed items on the device for
offline reading. It downloads the favicons for your feeds (where
available) for a better distinction between your feeds and feed
items. Everything is organized in all, unread and starred item
views, no matter in which view you are.</p>

<p>Of course, there are some missing features in V1 which will be
added over the coming weeks. Moving feeds to other folders is not
possible on the device just now (but is supported when you move
them in Google Reader). No social sharing features are currently
available. And I'm sure there will be bugs. Windows Phone 7 is new
and it was impossible to find a serious amount of beta testers.</p>

<p><strong>So please: If you try feed7 (a fee trial is available)
and experience any issues, or you miss any features, you have any
suggestions - send them in! The support mail address is listed
everywhere (on Marketplace or in the About page of the app,
accessible from the main screen app bar) or just leave a comment
below. We appreciate your feedback and we need it!</strong></p>

<p>I already noticed some ratings and comments on the Marketplace
reporting issues with crashes when syncing with Google Reader.
<strong>If you're one of them, first of all, I'm sorry - and:
please contact me!</strong> There are millions of Google Reader
accounts out there and we were just able to test with a handful of
them.</p>

<p>In the upcoming days, I will share more info's here and hope to
bring up the app's site on <a
href="http://www.feed7app.com">http://www.feed7app.com</a> soon. In
the meantime, just follow this blog to be up do date with the
latest &amp; greatest about feed7.</p>

<p>Thank you very much!</p>
]]></description></item><item><title>Announcing feed7 - a feed reader app for Windows Phone 7</title><link>http://www.bpk.cc/2010/9/14/announcing-feed7-a-feed-reader-app-for-windows-phone-7.aspx</link><pubDate>Tue, 14 Sep 2010 22:26:32 GMT</pubDate><guid>http://www.bpk.cc/2010/9/14/announcing-feed7-a-feed-reader-app-for-windows-phone-7.aspx</guid><description><![CDATA[ 
<p><a href="http://www.feed7app.com/"
title="feed7 - Feed Reader for Windows Phone 7"><img src="/media/2081/WindowsLiveWriter_3f9abbdcc0a2_12813_feed7blog_3.png" width="500" height="306" alt="feed7blog" style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px"/></a></p>

<p style="text-align: center">Soon more detais on <a
href="http://www.feed7app.com/">http://www.feed7app.com</a>!</p>
]]></description></item><item><title>compactRSS 1.5 is now available on Windows Marketplace for Mobile</title><link>http://www.bpk.cc/2010/8/14/compactrss-15-is-now-available-on-windows-marketplace-for-mobile.aspx</link><pubDate>Sat, 14 Aug 2010 13:45:48 GMT</pubDate><guid>http://www.bpk.cc/2010/8/14/compactrss-15-is-now-available-on-windows-marketplace-for-mobile.aspx</guid><description><![CDATA[ 
<p>compactRSS 1.5 has successfully completed the certification
process and is <a
href="https://marketplace.windowsphone.com/details.aspx?appId=e8398dc9-eca8-45bc-930f-544a10bdb5e3&amp;retURL=/Default.aspx">
now available</a> on Windows Marketplace for Mobile.</p>

<p>It has been released to most English and German-speaking markets
and is already available in the United States, Austria, Germany and
Switzerland. Within the next few days it should also pop up in the
UK, Canada and Australia while others will follow in the next
weeks.</p>

<p>If you do not live in one of those countries, you can still
switch to any of the above markets on your phone (go to Settings in
your Marketplace app) and buy it there.</p>

<p>As always, <strong>your feedback is very welcome.</strong>
Please use the support E-Mail address shown on marketplace or use
the contact form on this website (or leave a comment). There will
be frequent updates for compactRSS and your feedback will
absolutely be taken into account when developing bug fixes or new
features.</p>
]]></description></item><item><title>compactRSS 1.5 Beta available for download</title><link>http://www.bpk.cc/2010/8/9/compactrss-15-beta-available-for-download.aspx</link><pubDate>Mon, 09 Aug 2010 23:16:50 GMT</pubDate><guid>http://www.bpk.cc/2010/8/9/compactrss-15-beta-available-for-download.aspx</guid><description><![CDATA[ 
<p><strong>UPDATE: compactRSS 1.5 final has now&nbsp;been sent to
certification and the download links have been
removed.</strong></p>

<p>As mentioned in my <a
href="/2010/8/8/compactrss-goes-windows-marketplace-for-mobile.aspx">
previous post</a>, compactRSS will be soon available on Windows
Marketplace for Mobile and will come with some nice new
features.</p>

<p>One big part is localization. compactRSS 1.5 will come with 2
available languages, English and German. Also, some major code
refactoring has happened and the performance should be noticeably
better already now.</p>

<p>If you want to try it out, please feel free to download the 1.5
Beta from the <a href="/products/compactrss.aspx">product page</a>.
Please be aware that the localization to German is still in the
works and therefore not complete.</p>

<p>Feedback is very welcome - please use the contact form on this
website to send it to me.</p>
]]></description></item><item><title>compactRSS goes Windows Marketplace for Mobile</title><link>http://www.bpk.cc/2010/8/8/compactrss-goes-windows-marketplace-for-mobile.aspx</link><pubDate>Sun, 08 Aug 2010 23:16:38 GMT</pubDate><guid>http://www.bpk.cc/2010/8/8/compactrss-goes-windows-marketplace-for-mobile.aspx</guid><description><![CDATA[ 
<p>As you may have heard, Windows Phone 7 hits the store shelves
this fall. This will change the game in the Windows Mobile world
for the customers but even more for the developers. In both cases
this means huge improvements, but only in the case of the
developers this means also a lot of work.</p>

<p>compactRSS, as you know it by now, won't run on Windows Phone 7
devices and I'm currently working on its successor for Windows
Phone 7 (currently named "Vanilla" or "Feed Vanilla", but that is
just a working title), of course completely written from scratch.
It looks great but there's still a long road ahead … but I hope to
have this little tool up on the Marketplace already when the first
customers get their hands on WP7 devices.</p>

<p>Talking about Marketplace, you might also know that Microsoft
changes the game even here. On Windows Phone 7, you can't buy or
download your applications from anywhere else than the Marketplace.
This also means: no more free downloading and installing compactRSS
from this website.</p>

<p>I'm preparing now for all those changes. This includes that I
will also switch the current compactRSS for Windows Mobile 6.0, 6.1
and 6.5 to the Marketplace and remove the download from this
website within the next couple of days. If you want to get a free
copy, get it now :) …</p>

<p>Windows Marketplace for Mobile isn't free for me or any other
developer. There are annual membership fees as well as fees for
each and every application I want to publish. Thus, I can't offer
you my software for mobile devices for free anymore. Of course, the
price will be fair and I also hope everybody who likes compactRSS
will be fair to purchase it from there to support the ongoing
development of this software. "Fair price" means no more than € 5,-
- but you can expect it to be even lower than that.</p>

<p>Purchasing compactRSS will upgrade your compactRSS 1.0
installation to compactRSS 1.5 - so you will also get some
additional reward with a few additional features and changes that I
have implemented to prepare for a launch on the official Windows
Marketplace for Mobile. This includes:</p>

<ul>
<li><strong>Support for localization</strong>. Version 1.5 will
include two initial languages: <strong>English and German</strong>
(currently only English). Other languages may follow depending on
customer needs.</li>

<li>Removed currently implemented update functionality (wasn't
online for some time now anyhow) because the <strong>automatic
update process will be handled by the Marketplace in the
future</strong>.</li>

<li>Removed most of the tracing code from the standard release
binaries for performance and memory footprint improvements. When
launching to a broader audience, it makes no sense to deploy
tracing features to all users.</li>

<li>Additional <strong>performance and stability
improvements</strong>.</li>

<li>Implemented required features to support hosting this
application on Windows Marketplace for Mobile.</li>
</ul>

<p>FAQs (I will extend this section if additional FAQs pop up):</p>

<ul>
<li><strong>I don't want to purchase version 1.5 … will there be
updates and/or fixes for version 1.0?<br />
</strong> I will continue to support version 1.0 and fix any
serious bugs that might be encountered in the future. On the other
hand, new features are rather unlikely.</li>

<li><strong>How much will compactRSS cost on the Windows
Marketplace for Mobile?<br />
</strong> I am planning a fair price point of US-$ 3,95 - please
notice that this is subject to change until launch.</li>

<li><strong>When will it be available?<br />
</strong> Within the next weeks.</li>
</ul>
]]></description></item><item><title>WCF Error: An error occurred while loading attribute 'XmlSerializerFormatAttribute' on method x in type y</title><link>http://www.bpk.cc/2010/6/29/wcf-error-an-error-occurred-while-loading-attribute-'xmlserializerformatattribute'-on-method-x-in-type-y.aspx</link><pubDate>Tue, 29 Jun 2010 13:43:49 GMT</pubDate><guid>http://www.bpk.cc/2010/6/29/wcf-error-an-error-occurred-while-loading-attribute-'xmlserializerformatattribute'-on-method-x-in-type-y.aspx</guid><description><![CDATA[ 
<p>If you are developing a WCF service with .NET 3.5 and come
across the following error message:</p>

<p><strong>WCF Error: An error occurred while loading attribute
'XmlSerializerFormatAttribute' on method <em>x</em> in type
<em>y</em></strong></p>

<p>I have a very simple solution for you: make sure you have
installed .NET Framework 3.5 Service Pack 1 on all your
machines.</p>

<p>I have searched for hours for a solution to this error. It
appeared just on one single WCF call whereas all others were
working fine.</p>

<p>Finally I came across this <a
href="http://social.msdn.microsoft.com/Forums/en/wcf/thread/7d2b9c3b-61ff-443b-bee7-38d28f54c466?prof=required">
MSDN forums post</a> that pointed me in the right direction.</p>

<p>So If you develop your software on 3.5 SP1 systems and then
deploying it to 3.5 systems without SP1, it's very likely you will
fix your problem by installing SP1.</p>
]]></description></item><item><title>A very ugly (but working) alternative to ScriptErrorsSuppressed in WPF Browser Control</title><link>http://www.bpk.cc/2010/5/16/a-very-ugly-(but-working)-alternative-to-scripterrorssuppressed-in-wpf-browser-control.aspx</link><pubDate>Sun, 16 May 2010 01:08:26 GMT</pubDate><guid>http://www.bpk.cc/2010/5/16/a-very-ugly-(but-working)-alternative-to-scripterrorssuppressed-in-wpf-browser-control.aspx</guid><description><![CDATA[ 
<p>I recently worked on an application that needed to automate a
website in the background. It fills out some forms, invokes some
buttons and checks if all the navigation works fine.</p>

<p>Needless to say, the user of the application should not even
notice that there is a website in the background.</p>

<p>I needed to use the webbrowser control as the website is a
really fantastic example of how to NOT implement a web site.
Everything the user does causes JavaScripts to execute and it's a
nightmare (if not impossible) to solve this by sending custom POST
requests to the webserver.</p>

<p>So I went with the webbrowser control which works really fine
when used to fill out forms and invoke buttons in context of the
website. It's still a lot of spaghetti code that comes together but
it actually works.</p>

<p>For V2 of the application, i switchted from WinForms to WPF. The
first thing I've learned was that it is really no good idea to use
the WPF webbrowser control as it lacks some features of the
WinForms control. One of them was the
<strong>ScriptErrorsSuppressed</strong>-Property that prevents
webpages from displaying MessageBoxes (not only caused by
ScriptErros).</p>

<p>The solution is of course to use a WinFormsHost inside your WPF
window and place a WinForms webbrowser control inside of it. But
while you now have access to a much more complete API and can SET
the ScriptErrorsSuppressed property, this property has actually no
effect.</p>

<p>No matter what you are told in some dev forums (for example: it
only works when the application runs in full trust) - it never
works. Never ever. Don't waste your time. I spent hours trying
dozens of different "solutions" to get this working, still each and
every MessageBox popped up and remindet the user that there is some
browser automation happening in the background.</p>

<p>As there is no clean solution on this and everything looks like
Microsoft is not interested in changing this situation, I decided
to go the ugly way with a dirty hack - I use COM Interop to the
Win32 API call GetLastActivePopup that returns the window handle of
the last popup a given window has created. This also works for
MessageBoxes that are created by webbrowser control.</p>

<p>The trick now is to launch a worker thread every time you do
some browsing and let this thread check frequently if your browser
window raises any popups. If so, use another COM call to destroy
this popup immediately.</p>

<p>I have very good results using this technique. That means: it
works reliable and the end-user doesn't even notice that there's
something going one most of the time as the check happens every 10
ms in my configuration. This short interval does not cause any
performance issues or more than regular CPU load during
execution.</p>

<h3>Everything you need is here</h3>

<p>The good news is: it is possible to use this out-of-the-box and
you can use my code 1:1 in your project.</p>

<p>Firstly, here's the class that contains all the logic. Include
it just like below in your project:</p>

<pre class="brush: csharp;">
private class PopupHandler
{
    #region Interop

    [DllImport("user32.dll")]
    static extern IntPtr GetLastActivePopup(IntPtr hWnd);

    [DllImport("user32.dll", CharSet = CharSet.Auto)]
    static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);

    static uint WM_CLOSE = 0x10;

    #endregion

    public IntPtr OriginalWindowHandle { get; private set; }

    private bool isCanceled = false;

    public PopupHandler(IntPtr originalWindowHandle)
    {
        this.OriginalWindowHandle = originalWindowHandle;
    }

    public void Cancel()
    {
        isCanceled = true;
    }

    public void Execute(object windowHandle)
    {
        while (!isCanceled)
        {
            // Find a possible open IE popups/alert and close it
            IntPtr lastPopupHandle = GetLastActivePopup(OriginalWindowHandle);
            
            if (lastPopupHandle.ToString() != "0" &amp; OriginalWindowHandle != lastPopupHandle)
                SendMessage(lastPopupHandle, WM_CLOSE, IntPtr.Zero, IntPtr.Zero);   // Sends close Message to popup

            // Sleep a little to prevent full CPU load
            Thread.Sleep(10);
        }
    }
}
</pre>

<p>&nbsp;</p>

<p>Next, here is an example how to call this class in a
multithreaded way:</p>

<pre class="brush: csharp;">
// Launch Popup Handler Thread
WindowInteropHelper wih = new WindowInteropHelper(this);

PopupHandler popupHandler = new PopupHandler(wih.Handle);
Thread popupHandlerThread = new Thread(popupHandler.Execute);
popupHandlerThread.Start();

// Now do your navigation
// this.browser.Navigate(@"http://www.google.at");
</pre>

<p>&nbsp;</p>

<p>And that's it. This will do all the work.</p>

<p>Short explanation: this in the above context is the WPF window.
To get the window handle of a WPF window, we need to use the
WindowInteropHelper class. And with wih.Handle we pass the window
handle to the PopupHandler class, and actually this information is
all the PopupHandler class needs to do its job.</p>

<p><strong>Just one important notice: a WPF window does not get a
window handle until it was showed at least one time. So you *will*
have to call myWindow.Show() at least once before using this class.
It's ok if you call myWindow.Hide() immediately after that.
Consider setting the default window state to minimized to prevent
the user seeing some flickering on the screen.</strong></p>

<p>What is left for you to do? Of course, you want to stop this
thread after you have completed browsing. The PopupHandler class
has a handy Cancel-Method for that. Just call it when you are
finished.</p>

<p>I hope this helps some fellow developers to save many valuable
hours of their lives :)</p>

<p>Of course if anyone out there can come up with a cleaner
solution, please let me know!</p>
]]></description></item><item><title>New compactRSS release – Live Search is now working again</title><link>http://www.bpk.cc/2010/5/6/new-compactrss-release-–-live-search-is-now-working-again.aspx</link><pubDate>Thu, 06 May 2010 23:36:09 GMT</pubDate><guid>http://www.bpk.cc/2010/5/6/new-compactrss-release-–-live-search-is-now-working-again.aspx</guid><description><![CDATA[ 
<p>Just as I was not able to take care of bpk.cc in the last
months, I was also not able to take care of compactRSS as much as I
wanted.</p>

<p>But as bpk.cc is now up and alive again, it's also time to push
out a new release of compactRSS with a few bugfixes.</p>

<p>The most important fix of course is that Live Search works again
now (and is now rebranded to the new "Bing" brand). While Microsoft
seemed to have fixed the issue with empty results for a couple of
months, the problem popped up again (and was never fixed).</p>

<p>Now I digged deeper into the Bing API and found a solution that
brings you a permanent fix. At least I hope so (seriously,
Redmond!).</p>

<p>Here's the complete list what have been fixed in release
<strong>1.0.12.26</strong>:</p>

<ul>
<li><strong>Web search for feeds&nbsp;is now&nbsp;working
again<br />
</strong>Searching by using Live Search returned no result over the
last couple of months</li>

<li><strong>Rebranded "Live Search" to "Bing"</strong></li>

<li><strong>Dropped support for Live Search 1.x API<br />
</strong>You cannot fallback to the 1.x API in compactRSS now by
setting the relevant flag in the config file. Live Search / Bing
API 2.0 is now the only supported version.</li>

<li>"<strong>Trace" menu entry is now removed completely if tracing
is not enabled<br />
</strong>Until now, it was just disabled ("grayed out"). In fact,
this menu entry was never meant to be seen by the end-user.</li>

<li><strong>Fixed wrong header text in OPML Import explorer
window</strong></li>

<li><strong>A few other small fixes or optimizations</strong></li>
</ul>

<p>As the update service is currently still not available, you will
have to manually download the setup (cab) file to your phone from
this website and execute it. It will update the old version
automatically so you won't have to remove your current installation
of compactRSS at least.</p>

<p>Version 1.0.12.26 will be available shortly for download from
the <a href="/products/compactrss.aspx">product page</a> and the <a
href="/downloads.aspx">download section</a> of
this website.</p>
]]></description></item><item><title>Simple Solution for ToObservableCollection() for LINQ Queries</title><link>http://www.bpk.cc/2010/4/14/simple-solution-for-toobservablecollection()-for-linq-queries.aspx</link><pubDate>Wed, 14 Apr 2010 00:53:19 GMT</pubDate><guid>http://www.bpk.cc/2010/4/14/simple-solution-for-toobservablecollection()-for-linq-queries.aspx</guid><description><![CDATA[ 
<p>When working with Windows Presentation Foundation and MVVM, you
will have to deal a lot with ObservableCollections. And if you also
love LINQ, like I do, you will soon come over a very annoying
limitation:</p>

<p>LINQ queries always return an IEnumerable which can be very
easily "converted" to a generic List:</p>

<pre class="brush: csharp;">
var result = from x in y
             select x;

return result.ToList();
</pre>

<p>Sadly, there isn't anything like ToList() for an generic
Observable Collection - something like ToObservableCollection() as
you might expect.</p>

<p>Luckily, there is such cool stuff like Extension Methods in .NET
and it is very easy for us to extend the type IEnumerable with an
ToObservableCollection() method that just works as simple as
ToList():</p>

<pre class="brush: csharp;">
public static ObservableCollection&lt;TSource&gt; ToObservableCollection&lt;TSource&gt;
    (this IEnumerable&lt;TSource&gt; source)
{
    ObservableCollection&lt;TSource&gt; collection = 
        new ObservableCollection&lt;TSource&gt;();

    if (source != null)
    {
        foreach (var item in source)
            collection.Add(item);
    }
    else
        collection = null;

    return collection;
}
</pre>

<p>Just put this class into your project and IEnumerable will be
extended with this method immediately. Now we can write:</p>

<pre class="brush: csharp;">
var result = from x in y
             select x;

return result.ToObservableCollection();
</pre>

<p>If this doesn't work for you, just make sure that you put this
class in the same namespace where you want to use this extension
method (or that you import this namespace).</p>
]]></description></item><item><title>compactRSS finally available for download again</title><link>http://www.bpk.cc/2010/4/6/compactrss-finally-available-for-download-again.aspx</link><pubDate>Tue, 06 Apr 2010 02:06:59 GMT</pubDate><guid>http://www.bpk.cc/2010/4/6/compactrss-finally-available-for-download-again.aspx</guid><description><![CDATA[ 
<p>I'd like to drop a short note that <strong>compactRSS</strong>
is now available for download again in the freshly unlocked <a
href="/downloads.aspx">download section</a> of this website. You
find also a direct link to this page in the top menu.</p>

<p>It's the same version as on the old website, so nothing has
changed since then.</p>

<p>The product/info page to compactRSS will also return soon. In
the meantime, this should keep you served, no matter if you're new
to compactRSS or if you used it already and just need the latest
update (as unfortunately the bpk Update Service went down with the
shutdown of the old website, too, and won't return in the near
future).</p>

<p>To install or update, just download the file from the download
page directly with your phone.</p>
]]></description></item><item><title>Welcome back to bpk.cc!</title><link>http://www.bpk.cc/2010/3/28/welcome-back-to-bpkcc!.aspx</link><pubDate>Sun, 28 Mar 2010 20:14:22 GMT</pubDate><guid>http://www.bpk.cc/2010/3/28/welcome-back-to-bpkcc!.aspx</guid><description><![CDATA[ 
<p>For a serious amount of time, bpk.cc hasn't offered a public
website. While all relevant services that you might have been
consuming here (like E-Mail services) were always available, I
decided to completely re-design the main web presence of this
site.</p>

<p>The reason for this was that the formerly used software to run
this site, <a
href="http://www.dotnetblogengine.net/">BlogEngine.NET</a>, didn't
satisfy all my needs. While this .NET based blogging platform was
absolutely fine for blogging, it lacked the power of a
fully-featured CMS.</p>

<p>But besides blogging, bpk.cc should also serve its visitors with
information's and download possibilities to products (or services)
that I want to offer here, like compactRSS that some of you might
still use on their good old Windows <strong>Mobile</strong> devices
(although Windows <strong>Phone</strong> is now the next best thing
out there, served as <strong>7 series</strong>, please).</p>

<p>So for all those pretty things (and more) I searched for
something more suitable out there. Namely a fully-featured CMS.</p>

<p>As it turned out, that is pretty hard in .NET land. There are
great products available, but most of them cost a ton of money
which I just can't afford. Even the lower-priced ones are not
really an option for a private, non-commercial site.</p>

<p>For sure, there are also a ton of .NET-based, free or/and open
source CMS out there. While some were never an option (I never
liked DotNetNuke and its sisters which are powerful but somehow
old-fashioned and over-modularized), some looked really interesting
- like <strong>Umbraco</strong>.</p>

<p>Umbraco really shines with a fresh approach to content
management. Mainly, it appealed to my because <strong>there just
aren't any modules</strong> like in probably 99 % of each and every
other CMS out there. It gives you a nice framework, some
out-of-the-box functionality ... but at the end ... its completely
up to the developer and/or designer what you pull out of it.</p>

<p>The flexibility is just unbelievable, but for sure you cant just
click a website together in 1 or 2 hours like you might know this
from hyped CMS software like Joomla.</p>

<p>Anyhow, as a .NET developer the decision to switch to Umbraco is
hard. Because you will mainly use XSLT to inject functionality into
your site. You can use ASP.NET user controls too, but it's not the
best practice for most of the tasks.</p>

<p>While XSLT is something that you <strong>will</strong> starting
to love while learning it, the tool support for writing XSLT is
inferior compared to core code development. Stepping away from most
of the ASP.NET concepts is also a tough step to take.</p>

<p>Anyhow, I'm glad my decision was Umbraco. It really redefines
the way I look at CMS systems.</p>

<p>Modules for a CMS is just the same thing as Apps for a phone: it
looks so good when you first see it, but you just can't stand that
stuff anymore in a very short amount of time.</p>

<p>That said, I will fill up this site with content over the next
weeks. Everyone who missed a download link for compactRSS over the
last months will be pleased to know that also this little, free
feed reader tool for your Windows Smartphone will return. And of
course there are exciting announcements to make regarding the
future of Windows Mobile (Phone) and the future of compactRSS.</p>

<p>Windows Phone 7 Series along with Silverlight and MVVM will be a
big topic here even beside compactRSS. I have written a lot of code
already for this toy and will share some of my code and earned
knowledge here.</p>

<p>So stay tuned, glad to be back online in blogosphere.</p>
]]></description></item></channel></rss>

