Friday, September 9, 2011

"Hey, what's up with the daily tweet to @twitter @support...?"

My Twitter followers are bound to know I have some bones to pick with Twitter lately. For one, I really don't like the treacle like performance of #NewTwitter compared to #OldTwitter (even in Chrome, not just in IE8 and IE9). But this post is not about that.
Recently I have been starting to post (almost) daily tweets asking Twitter to support Mobypicture. As some people are bound to frown on this, I thought I'd write this blog post to explain why I do this, and when I plan to stop doing it.

My problem

Around the time I started these daily tweets, Twitter started rolling out their new "Recent Images" media gallery. This shows the most recent images a user tweeted (includes old style retweets, or course) on their profile and includes a link to a complete grid of such images.
While I think this is cool feature, I really did not like that only a couple of image publish websites are included in this view, like: TwitPic, PhotoBucket and yfrog, while the service that I use (the Dutch Mobypicture) is not included.
This means, that what Twitter calls "Recent Images by @peSHIr" on my profile, does not include any of my recent images, but only images by others that I happened to tweet a link to at one time. This is not what I want, obviously. I would like my Moby images to show up in this view. Or, if that is (currently) not possible, I want to disable the new image gallery so it does not show up on my profile.

So, ask the parties involved

To that end, I started tweeting my request. I also DM'ed Twitter Support and MobyPicture with more background information on my request. I have received a number of replies to this. For one thing, Moby replied they cannot help me put their images into the Twitter gallery (obviously).
Twitter seems to have misinterpreted my original request for "Moby support", and quite stoically referred me to the Moby support page. Nice one, Twitter; show us you care about your users... ;-) So I changed my daily request a bit, based on this responses.
Then, after more clarification by DM, I received the following DM response from Twitter:
You can turn off media here: https://support.twitter.com/articles/20169200-media-settings-and-best-practices
After asking around by DM some more, Twitter admitted this is not a response my question on how to disable the media gallery so it doesn't show up on my profile any more. Their eventual response to that (in two DMs) was this:
We appreciate your request and feedback and will share it with the rest of the team. Unfortunately the recent imaged gallery won't be removed from your profile unless you don't have any images posted in your Tweets. Sorry! https://support.twitter.com/articles/20169409

So, that's it?

So, in the meantime, even though I thanked Twitter support for they rather promptly responses, I feel screwed. Unless I go back and delete all tweets that include a supported image link in them, I'm "stuck" with the image gallery on my profile, a feature I would really like when it would include my Moby images. And I am not going to hunt down those tweets and delete them.
Also, even though as far as I can remember the inline media display in #NewTwitter at one time showed images posted on Mobypicture, with the (again originally 2 part DM) reply from Twitter support, it seems clear my Moby images are not expected to show up in my media gallery any time soon (or ever):
You're welcome. And again, as moby is not an official media partner of ours, we don't show their images in the details pane it's possible that we will consider a partnership in the future, but for now we are not affiliated. Thanks!

So, the world is stuck with my daily tweet

I feel I have no other course of action left, than continue my daily tweet asking for Mobypicture support in the current Twitter webinterface...
So, unless my images show up in my Twitter media gallery (or possibly until I get a way to turn it off so it does not show up on my profile any more) I will be repeating that daily tweet, reminding Twitter that I have not given up asking for this support.
If you use Mobypicture and Twitter as well, I want to ask you to do the same or RT my daily reminder. If enough people do so, it might be a reason for Twitter to start including these images.
Hopefully this blogpost clarifies the reason for that annoying daily tweet. And thank you for reading this far! ;-)

Monday, August 15, 2011

3D Masters app has more downloads than expected

As we know the App Hub download statistics take a couple of days to get processed, so it took a while to get going for my 3D Masters app. However, even though it seems to start trailing off a bit at the moment, so far there have only been a couple of days the app was not downloaded somewhere:

My other application only has about 40 downloads total (and none in the time frame shown above, hence the flat start of the cumulative line). And that one has been published since early november 2010!

Also, I would expect the actual target demographic for the app to not be heavy Windows Phone 7 users yet. So you can understand how I'm over the moon with these download numbers. ;-)

Update, early Januari 2012: still only a handful to go until the 400 downloads mark; that's almost additional 200 added in two months. Is that the word of mouth going around during the holiday season? New Nokia phones and advertising? I will try to get a graph out of the whole time it was published some time soon. And I really need to get cracking on the update for next July, when the 3D Masters 2012 event will be in Venlo again.

Wednesday, July 20, 2011

Quick WP7 app development

I have often wondered, with the certification process of a centrally controlled online application database and store principle that is often used right now, if fast reactions to events in the form of a new app were still possible. After all, you cannot quickly hack something together and put it on a website so people can install and use it.

While this post is by no means a thorough treatise of this subject, it does offer one concrete example that shows quick development turn-around is indeed still possible in a centralized store arrangement.

This past week has been a bit of rollercoaster for me, building and deploying a Windows Phone 7 app with background information for the 3D Masters 2011. As a bit of background, I'll sketch a timeline of how this app came to be. All times shown are in 24h CEST and approximate, accurate to within maybe half an hour. Here goes:

  • Fri, Juli 15th, 18:30: Meet friends for diner in Haarlem, before seeing the final Harry Potter.
  • 19:00: Received an mail from 3D Masters about availability of an iPhone app for the event.
  • 20:00: After emailing back and forth a bit with Jeff Barringer during diner, I decided to try and write a WP7 equivalent.
  • 20:50: Harry Potter begins, or rather: ends... ;-)
  • Sat, Juli 16th, 7:00: I start a new blank WP7 solution in VS2010 and get to work.
  • 22:00: Made nice progress. Basic app structure, icons, panorama background, start of About screen and the complete interactive map section are done. Made good progress on starting to capture the manoeuvre and pilot data from the 3DX website into two included XML files. I did do some grocery shopping along the way, so I maybe put in about 13 hours or so.
  • Sun, Juli 17th, 10:00: I return to my 3D Masters solution. Manually getting all the data into the two XML files took relatively long time (most of it during the end of todays session), but I also wrote basic ViewModels, ListBox data templates in my panorama control and all the plumbing needed to get selecting en showing the two detail pages to work. Luckily, showing the external descriptions and the movies just took one Task object each given the URLs in the data I had. ;-)
  • Mon, Juli 18th, 0:30: After completing the XML data and quickly tombstoning the show panorama item (so you return to the one you left after going into detail pages), I call it a night and try to submit my app to the App Hub. With some break time (had to leave that chair some time during the day), I put in about another 13 hours of development time.
  • 1:30: Then I found out that submitting new apps to App Hub was broken, possibly related to the scheduled down time that was announced for monday and is no doubt related to not only the new functionality that has shown up in App Hub, but to the approach of Mango as well. Very frustrated, I gave up, and went to bed.
  • 6:00: Up early for work. Tried to submit again, and got the XAP file and all the meta data in. Dreading that this might be too late, I went to work.
  • 20:00: Saw that app submission status was "Testing in progress".
  • 22:00: Noticed that the App Hub was showing the "down for maintenance" message.
  • Tue, Juli 19th, 17:00: Saw that my blog post was linked from the 3D Masters website, App Hub was back up and the status of my app was now "Certified", which is not mentioned in the App Hub forum thread about possible states.
    Fearing the app might not make it to Marketplace in time for the event, I at least made the XAP available so people with developer unlocked devices could sideload it at least, would that turn out to be the case.
  • 21:30: I noticed an email from the WP7 Marketplace Developer Support telling me there had been a problem processing my app submission. When I checked App Hub however, the status had now moved to Published, leaving me well confused.
  • Wed, Juli 20th (=today), 6:00: I was able to find my app in Marketplace on my phone and download and install it. Victory!
  • 11:00: Started to write this blog post, as I think this whole story might be interesting to some of the WP7 developers out there. Please don't be shy in the comments if you think it is. ;-)
  • Fri, Juli 22nd, 9:00: Start of the 3D Masters event that will end the next sunday around 17:00 in Venlo, NL. Will I see you there on saturday, perhaps?
  • 11:00: Thanks for all your interest; this turns out to be my most popular post since I did that Samsung Omnia Qwerty review two years ago. ;-)
  • Mon, 15th of August: Download numbers seem to start trailing off around 60 downloads.
  • Early november: In fact, the download graph from publishing the app until now seems to have an almost constant derivative until now, just having reached the 200 download mark.
  • Fri, 24th of August 2012: Unbelievable, really. Even though I missed the 3D Masters 2012 deadline (the app still shows hardcoded data from the 2011 event right now), the download graph keeps on going up steadily, now at around 2500 downloads and about 100 active users daily (according to Flurry statistics). Possible this active user bases keeps coming back to watch the movies while practising?

So yes, there you have it. Even though I do not recommend anybody to do this on a regular basis, if you really need to and you maybe get a bit lucky with the time your app takes to run the certification procedure you can have very quick new app results!

In this case that means: some 26 hours of development time, starting a week before app was needed, about 4½ days (or 108 hours) from inception of the endeavour to having the app on my phone, downloaded from Marketplace.

Q.E.D. (now, when was that vacation again...?)

(Oh, and lots of ideas for version 1.1 of course, for the next 3D Masters and other 3DX events...)

Monday, July 18, 2011

MetalScroll for VS2010?

Anyone who, like myself, loved MetalScroll in VisualStudio, knows that with WPF VS2010 it doesn't work anymore. However, there is an alternative: go to Tools, Extension Manager right now and install the Productivity Power Tools for VisualStudio if you haven't already. The Enhanced Scrollbar that is included will probably do what you want.

Next to the Full Map Mode shown above, it has two other modes you can easily switch to using a context menu. There are also some options for the scrollbar that you'll find in the usual place: the ever expanding VS Options dialog.

I think I actually like the Scroll Bar Mode best, as it looks most like a normal scrollbar with usefull pixel pointers on it. Switching to Full Map Mode is always just a right click away when I really need it.

Windows Phone app for the 3D Masters!

Friday night, while having diner with friends before seeing the final Harry Potter movie, I got an email from the 3D Masters organizers that there was an iPhone app containing all kind of useful information.

Of course, this would be of no use to me, as I have a Windows Phone. So I wrote an email asking about the availability of a WP7 app with the same information, asking if it would be ok if I were to write one myself.

Reactions to this were very positive, so I set out to work on it the following morning. At the moment (early monday morning), the app is finished, waiting to be uploaded into the App Hub. Which, unfortunately seems to do nothing but give me errors...

Around 6:00: The next morning the uploading seemed to work. I really hope that the 3D Masters app will still have enough time to pass testing and appear in the Marketplace before the actual event it is supposed to be used at starts, which is in (now) four days.

Around 22:00: Later that same evening the App Hub was down for announced maintenance. Last status update I saw for the 3D Masters app submission was "Testing in progress". This was around 20:00. I will track the progress of the App Hub update and wonder why I will be able to get a status update again...

Tuesday the 19th, around 17:00: Great to see that we are linked from the 3D Master website now. Thanks, Jeff!

However, it is not at all certain that the app will be online in the WP7 Marketplace in time for this weekend; it's status has been "Certified" now for quite a number of hours. As a workaround, I'm making the XAP file available, so anyone with a developer unlocked WP7 device can sideload and already use it right now. So have a look, and be ready for the coming weekend no matter what happens in the certification process.

Tuesday the 19th, around 21:30: Strangly enough, App Hub status now says "Published", even though I got an email saying "We were unable to process the application submission for [app]. An error has occurred with your submission. [etc]", telling me to check the App Hub website.

Wednesday the 20th, around 6:00: I found my app in Marketplace and installed it. If you don't see it yet, that's probably because of the CDN technology that is involved. I know it can take up to even a couple of days before everyone actually see the app in their Marketplace app on their phone. So, unless you get very unlucky with CDN issues, you should be able to use the 3D Masters Windows Phone 7 app this weekend!

Enjoy it, and see you next saturday in Venlo!

Thursday, June 30, 2011

Easily exclude generated proxies from your code coverage

This is just a quick heads-up that many of you might already know about: partial classes easily enable you to add an attribute to an existing class by just adding an empty partial class definition for the same class in another source code location that just has that attribute on it.

Adding an attribute like this can be used to exclude the generated code of a webservice proxy from unit test code coverage by adding a DebuggerNonUserCode attribute to the relevant classes, like so:

// Add DebuggerNonUserCode attribute to generated
// proxy classes to exclude it from code coverage.

namespace Your.ServiceProxy.Namespace
{
 using System.Diagnostics;
 [DebuggerNonUserCode] public partial class YourWebService { }
 [DebuggerNonUserCode] public partial class SomeServiceDto { }
 [DebuggerNonUserCode] public partial class AnotherServiceDto { }
 // et cetera
}

As long as the service keeps using the same classnames, this solution even enables you to regenerate your proxy without losing the code coverage exclusion of the proxy (if you put this code in place not touched on regeneration).

Nifty, huh? ;-)