Using PowerShell to automate the build process of your Windows Phone app
Published by on 13.03.2013 at 15:46

http://www.expressionblend.com/articles/wp-content/uploads/2013/03/Jeremey_wp.png

Another day another occasion to share a tip which comes with the development of my todo-list app 2Day. This time, I share a small PowerShell script I use in order to build the application. Of course the script will not work out of the box for you but it could be useful if you’re thinking about automating the generation of your application.

Background: managing multiple versions

Since release 1.5.0 there are two versions of 2Day: the lite version (free) and the standard version (paid). I switch from one configuration to another using two Build Configurations. When I want to build the Lite version I build using the Release Lite configuration while for the standard version I build in Release. The difference between the two is a conditional symbol.

2Day-Configurations

 

Read Jeremy's entire article here.





A Reactive Extension (Rx) use case in a Windows Phone app
Published by on 11.03.2013 at 12:07

http://www.expressionblend.com/articles/wp-content/uploads/2013/03/Jeremey_wp.png

While working on my todo-list application 2Day, I encountered a situation where Rx came to the rescue. Rx (Reactive Extension) is a framework which is available for a couple of years now. It is possible to use it the phone very easily. In this blog post, I share a piece of code which use Rx to implement a specific feature in 2Day.

2Day’s users have been requested a search feature. The idea is simple: give the user a new page where he can type text which then filters his tasks. Here is the feature in action in 2Day:

2Day - global search

Even though is seems very basic, I wanted to add an extra feature: perform the search a couple of milliseconds after the user actually stop typing. This prevents the search result to blink while the user types.

Read Jeremy's entire article here.





Windows 8: The Featured App Effect
Published by on 15.02.2013 at 14:11


Last week, my app "Physamajig" was a featured app for Windows 8. This means that it had a dedicated tile on the main Store hub which looked like this:

 

 

The app had real estate on the Games category like this for 5 days, from 2/8 through 2/12, and I received an email from Microsoft about a week before giving me a heads up that my app was going to be featured at that time. As you can imagine, having a featured app is a huge impact to the number of downloads and visibility of your app.

 

 

 

Read the full post






Tips and tricks when using voice recognition in a Windows Phone 8 app
Published by on 27.01.2013 at 18:40

While working (again) on 2Day, I encountered small issues with voice recognition. The next version of 2Day will bring support for both speech recognition (use your voice to set the title of a task) and voice commands (speak to your phone to perform operations, for example: “2Day add a reminder tomorrow at 9PM”).

While developing those new features I used two distinct API for voice recognition:

The first one provides no UI while the second one includes a default GUI which is uniform across apps and utilities:

Listenning

Issue 1: stop music playback automatically

 

 

Read the full post






The API behind the API
Published by on 27.01.2013 at 04:34

Despite what anyone might tell you, the Windows Runtime API is not a clean break from the past. Like .NET before it, WinRT includes a backdoor without which it would be practically useless. The Common Language Runtime’s backdoor was called Platform Invocation Services or P/Invoke for short. It was amazingly powerful, but also complex and troublesome. WinRT’s backdoor is a lot simpler. It’s called reinterpret_cast.

As I’ve already illustrated in The Road to Windows 8 and Windows 8, where’d you put my HWND?!, WinRT is projected into C++ through a set of extensions that, among other things, allows the compiler to insert code to automatically manage reference counts as if a COM smart pointer class were used. For example, every WinRT application (or at least those that run within an app container) has a CoreWindow:

auto w = CoreWindow::GetForCurrentThread();

If you were feeling verbose, you might write:

CoreWindow ^ cw = CoreWindow::GetForCurrentThread();

 

 

Read the full post






Updating the live tiles when the exits: WP8 weirdness
Published by on 27.12.2012 at 21:54

While working on the next version of my todo-list Windows Phone app 2Day, I encountered a strange issue with live tiles management I’m sharing in this blog post… tiles Background You can manage tiles of a Windows Phone application in several ways. You can setup the tile with a remote image URI that will be fetched and updated by the system. This is useful for example when the same tile is pushed to many users (for example in a news reader app). You can also setup the tile with a local image. In that case, you can generate the image dynamically on the phone based on specific user’s information. This is what the later option that is used in 2Day: 2Day tiles       Read the full post




Silverlight Spy December 2012 Update
Published by on 27.12.2012 at 16:16

Announcing the immediate availability of the Silverlight Spy December 2012 Update. This maintenance release fixes a number of user interface issues that occur after installing .NET Framework 4.5. Installing .NET 4.5 includes an in-place upgrade of the core .NET 4.0 assemblies having a set of updated WPF styles. Those new styles interfered with Silverlight Spy and this release addresses these issues. Furthermore Silverlight Spy now correctly identifies Silverlight 5 Update 1 and the Windows Phone 7.1.1 SDK update.

XAML Spy

If you are looking for Windows Phone 8, Windows Store and WPF support you probably want to take a look at XAML Spy, the successor of Silverlight Spy.

Download

Get the latest release of Silverlight Spy from the download page.





Hacking the Silverlight Unit Tests to support returning Task
Published by on 21.12.2012 at 23:05

The Silverlight/Windows Phone unit test framework has always supported running asynchronous tests – a feature that until recently wasn’t there in WPF without jumping some really ugly (and flaky) hoops. Basically you can write a silverlight and windows phone unit test like this:
[TestClass]
public class TestClass1 : SilverlightTest
{
    [TestMethod]
    [Asynchronous]     public void Test1()
    {
        DispatcherTimer timer = new DispatcherTimer() { Interval = TimeSpan.FromSeconds(2) };
        timer.Tick += (a, b) =>
        {
            timer.Stop();
            base.TestComplete();
        };
        timer.Start();
    }
}





Robot Work – Reducing the Windows Phone Localization Friction a bit
Published by on 12.12.2012 at 20:15

Windows Phone 8 now supports 3 different screen resolutions which is very nice since there are some great high resolution devices out there and the user has the choice and isn't forced into a one fits all model. However  there's also a downside for Windows Phone developers since now also 3 times the amount of screenshots have to be submitted to the Store. If an app has localized versions this adds up very quickly. For example, Pictures Lab supports 11 languages and the soon-to-released v5 update for WP8 also all 3 resolutions: 11 x 3 x 8 screenshots = 264! That's a crazy amount of mindless click-through work to take all those screenshots, not to mention the Dev Center submission process. Unfortunately there is no automated way or better support by the tools, so one has to do this ridiculous amount of manual work.  In a future version of the tools I'd really love to see some kind of macro recorder which records certain steps including screenshot actions and can then use the recorded steps to play this for all supported app languages and generate the remaining screenshots automatically.       Read the full post





Windows Phone and Direct2D
Published by on 02.12.2012 at 02:38

Windows Phone 8

I was quite surprised when the veil of secrecy over the Windows Phone 8 SDK was finally lifted and it was revealed that its API had in fact very little in common with the Windows 8 API.

Windows 8 essentially provides two APIs for writing (Metro) apps. There’s the XAML API and then there’s Direct3D. Yes, you can incorporate them in various ways but that’s beside the point. The first revelation was that Windows Phone 8 does not share Windows 8’s XAML API. There are various political/marketing/technical reasons for this that I won’t go into here, but needless to say I was not pleased. What a missed opportunity. I can only hope they will correct this very soon. But fair enough it is what it is so moving on.

 

 

Read the full post



< older posts