Design is Not Adornment

Sometimes design (and designers) are thought of as the people that make stuff look pretty. While aesthetics is a part of design, it’s not its sole function.

Design is problem solving

When aesthetic considerations are placed above the problem or the design goal, user discomfort or dissatisfaction can occur.

Look at these images I took at a new local barbeque spot and notice the highlighted adornments.

More...

SHARE:

50 Apps by Christmas: Start Screen Splitter

This article is part of the 50 Apps by Christmas series

progress chart

Start Screen Splitter is a simple idea to help organise the tiles on the Windows Phone Start screen. The idea is to allow the user to create and pin wide tiles to vertically group tiles into different categories.

More...

SHARE:

Today I Became a Microsoft MVP

I’ve been awarded a Microsoft Most Valuable Professional award for the first time in my career.

I feel like it’s a real personal achievement for me. But why?

Recognition

The first is purely one of recognition, and while I suppose this could be considered somewhat egoistic, I guess we all like to be rewarded or recognised.

give each other more compliments; not in the vacuous, high-fiving, “team-building exercise” kind of way

I suppose that if you feel good whilst feeling like you’re helping others, then it’s nice win-win.

Confidence

The imposter syndrome seems to be an oft-quoted thing in our industry and I’m not ashamed to say that I sometimes suffer from this “phenomenon in which people are unable to internalize their accomplishments” [Wikipedia]. Recognition, such as direct compliments from individuals and awards such as the MVP scheme help to alleviate this. I think my article “5 Ways To Give Yourself A Break” was a reflection on this. Perhaps one thing we can do to make our industry more amazing is to give each other more compliments; not in the vacuous, high-fiving, “team-building exercise” kind of way; but in a genuine and sincere appreciation of others’ efforts.

Making Things Better

Things like access to other MVPs and having a more direct line to Microsoft to provide feedback will hopefully make the products and tools we all use better. It’s cool to think I may be able to participate in betas or other programs and provide feedback to make things better.

 

All in all, I feel like this is a significant milestone in my career and I hope to make the best of it in the coming year…

 

* Technically it’s from Oct 1st PST – but it’s the 1st here in Australia :)

SHARE:

Converting Chars to Doubles in C#

If we’ve got chars with numeric digits in them, we can convert them to numeric (double) values using the char.GetNumericValue method.

The following code:

double d = char.GetNumericValue('5');

Console.WriteLine(d);

Outputs the value: 5

So why does GetNumericValue return a double when a char can only be a single character and hold a single “number” (‘0’ to ‘9’)? Because char holds Unicode characters.

So the following code:

double d = char.GetNumericValue('⅔');

Console.WriteLine(d);

Outputs the value: 0.666666666666667

Hence the need for GetNumericValue to return a double.

 For more C# tips check out my Pluralsight courses: C# Tips and Traps and C# Tips and Traps 2.

You can start watching with a Pluralsight free trial.

SHARE:

Programmatically Closing the Onscreen Virtual Keyboard in Windows Phone Apps

If you have a TextBox control in your Windows Phone app, and you want to allow the user to enter text and then close the on-screen keyboard when the “enter key” is tapped you can do the following.

Simply set the focus to another (non TextBox) control such as the page itself.

Assuming the following XAML:

<TextBox Name="SplitterName" KeyUp="SplitterName_KeyUp"></TextBox>

In the event handler for SplitterName_KeyUp:

private void SplitterName_KeyUp(object sender, System.Windows.Input.KeyEventArgs e)
{
    if (e.Key == Key.Enter)
    {
        this.Focus();
    }
}

This code assumes the event handler is in the code-behind of the PhoneApplicationPage.  The this.Focus(); statement sets the focus to the page itself, which causes the on-screen keyboard to close.

SHARE:

What’s the Difference Between & and && in C# ?

My previous article “Non Short Circuiting C# Conditional Operators” garnered some comments which suggested to me that I should expand on it. There can sometimes be some confusion over the & and && operator in C# so hopefully this article goes some way to helping clarify the differences between them.

The && Operator

Works with: bools

The && operator performs a logical AND on Boolean values.

For example, the following code:

bool b1 = true;
bool b2 = false;

bool isBothTrue = b1 && b2;

Console.WriteLine(isBothTrue);

Outputs:

False

If we get our two bool values from the result of a couple of methods instead, and the first method returns false, the && operator won’t execute the second method. The following code:

More...

SHARE:

50 Apps By Christmas: Color Eye

This article is part of the 50 Apps by Christmas series

image

Color Eye is a Windows Phone 8 app that creates colour schemes by sampling live data from the camera.

screenshot

Working with Live Camera Data

As I’d not worked with the camera in a Windows Phone app before I needed to learn the basics. One of the best sources to get up to speed on a particular specific topic are the samples. I started with the Camera Grayscale Sample to learn how to “pump” the values from the camera and how to get an array of colour values.

More...

SHARE:

Finding Colour Inspiration: Paint Sample Cards

When designing an app or website it can be hard to come up with inspiration for colour ideas. One place to look is the local hardware/DIY store.

These stores usually have colour sample cards from the different paint manufacturers that are sometimes helpfully grouped into related/complimenting shades.

This image shows some cards from my local hardware store showing some purple and pink hues.

Paint Sample Cards

While it’s a low tech approach, it’s cool to see a whole load of colours “in the flesh” when these cards are laid out on the display stands.

 

If you’d like to learn more about colour choice and other design related topics such as Typography, check out my Pluralsight Introduction to Design course.

SHARE:

Non Short Circuiting C# Conditional Operators

Most of the time when writing C# programs we use the short-circuiting conditional operators. These operators do not continue evaluation once the outcome has been determined.

Take this code:

bool b = false && CheckName(name);

b = false & CheckName(name);

Here we’re performing a logical AND with the value false and the result of the CheckName method. Because we have a false, the logical AND can never be true.

The first statement using the short-circuiting AND operator (“&&”) will not execute the CheckName method because as soon as it’s determined the outcome (the first value is false and we are AND-ing) the remaining terms are not even evaluated.

More...

SHARE:

New Pluralsight Course: C# Tips and Traps 2

My latest Pluralsight course has just been released. It’s the follow-up course to the popular first C# Tips and Traps course.

Course Description

Whether you're still learning C# or you already have some experience, it's sometimes hard to know what you don't know. This is the follow-up course to C# Tips and Traps and is designed to further short-circuit your C# learning and provides a whole host of useful information about the sometimes under-used or unknown features of both the C# language and the .Net framework. It's suitable for those who are brand new to C# as well as experienced developers looking to "round off" their C# skills and "fill in the gaps".

Check out the course table of contents for more details.

You can start watching with a Pluralsight free trial.

SHARE: