Friday, December 22, 2017

Cherry picking work is slow and unproductive

The IT Director would work with the sales team and choose a set of new features, functionality, and prioritized bug fixes to include in the next release of the software the company made. Individual developers would then choose an individual item to work on from the list. When they'd done that one they'd pick another. When they were all done the release was ready. Then I came along. "Rather than...

Monday, October 09, 2017

The end of Windows Mobile/Phone just leaves more questions

Of course we'll continue to support the platform.. bug fixes, security updates, etc. But building new features/hw aren't the focus. 😟 https://t.co/0CH9TZdIFu — Joe Belfiore (@joebelfiore) October 8, 2017 With posts like this, it seems that Microsoft is starting to publicly acknowledge the end for Windows Phone/Mobile. So should we just shut up and move on? It's not that clear-cut. There are still...

Thursday, October 05, 2017

Optimizing the comparison of a variable with multiple options in C#

Yesterday, I wrote about my thoughts around optimising the comparison of a variable with multiple options and how I prefer to optimize for readability over theoretical or potential performance issues. After some discussion on twitter about how my sample code might be optimized I thought it was worth doing some proper analysis. The big potential optimizations are The removal of LINQ Not creating...

Wednesday, October 04, 2017

Comparing a variable with multiple options in C#

In a code review recently there was some debate about how to compare a variable with multiple values. I'm writing this to put all my thoughts on the subject into one place and in a coherent (hopefully) manner. As an example, consider this `if` statement. if (new[] { MyEnum.Value1, MyEnum.Value2 }.Contains(someVariable)) It's the equivalent of "if (X or Y) = Z". Also, consider...

Tuesday, May 30, 2017

What is a "bug bash"?

Disclaimer: I'm thinking this through as much as anything. Don't expect any amazing conclusions but I'd be interested to hear your thoughts and opinions on this. Microsoft uses the term "bug bash" (example - but I first heard them use this a few years ago) to mean to hunt for bugs. Everyone...

Wednesday, April 26, 2017

3 reasons to use the MVVM pattern

MVVM (Model - View - ViewModel) is a separation pattern that was based on the MVP (Model - View - Presenter) pattern. It's very popular in XAML and some web development camps but is frequently abused. As a separation pattern MVVM aims to provide 3 specific benefits: #1 Collaborative working By...

Tuesday, April 25, 2017

Book Update: New Title and 50% off *TODAY ONLY*

The updated cover
My book has a new title: Usability Matters: Practical UX for Mobile Developers and other Accidental Designers. Feedback tells us that this better fits the content and better communicates this is a book for mobile developers. Not a book for people who currently consider themselves designers or UX experts. For...

Sunday, April 02, 2017

Sunday, March 12, 2017

Playable ads - a cynical response

This week, Microsoft announced support for playable ads for Windows apps. I totally believe this is a good thing, but I have some cynical observations to the announcement. Some of you who read this will be aware of my cynical take on things and have even reported to liking my alternative points of...

Monday, March 06, 2017

Quickly add some text for testing

Sometimes I need a lot of text in a control to test something. For something very short I'll just mash the keyboard a few times but when I need something longer a bit more effort is required. I thought there needs to be something that can generate some text (say, some Lorem Ipsum) when it's needed. My initial reaction was 'how hard can it be to make such a thing'? But then I caught myself...

Tuesday, February 28, 2017

What is 5G?

An innocent question from a "normob" recently and I thought it was worth answering publicly. 5G is the fifth generation (the 'G' stands for Generation) of mobile data network. This is the way that data (rather than voice) is transmitted between mobile devices. It will allow for even faster data...

Monday, January 16, 2017

Launch a store installed app from the command line

How to launch an app from the store Use the name of the install folder: ">start shell:AppsFolder\{folder}!App". e.g '>start shell:AppsFolder\Microsoft.WindowsStore_8wekyb3d8bbwe!App' Or, if it has one, use the app's one own URI scheme: ">start {scheme}:". e.g '>start ms-settings:' Applies To : Windows 10 Starting a normal app from the command line (or a script, or a scheduled...

Wednesday, January 04, 2017

Tuesday, January 03, 2017