The Star Wars / Software Development Paradigm

In preparation of Star Wars Episode VII – The Force Awakens, I, like many others are watching the other 6 films.   An experience I am inflicting on, sharing with my partner with mixed success.

123 vs 456

My partner had never seen Star Wars Episodes 1, 2 and 3 (lucky her you may say, I might agree), and was actively against the idea of “wasting time” doing so.  As films in their own right, generally I could take them or leave them but I also understand the relative importance of knowing how Darth Vader came to be, and quite enjoy the completeness of watching them all in the correct order (that’s another story).

It occurred to me that in having this conversation, it was actually pretty similar to conversations I regularly find myself having at work… Continue reading “The Star Wars / Software Development Paradigm”

Fixed – Error Authorizing user with Halo 5: Guardians services

A good friend of mine was experiencing an issue with accessing the online features of Halo 5, and from doing a bit of googling, it appears he’s not the only one.

The error he was getting was:

Attention

Error Authorizing user with Halo 5: Guardians services.  You will be unable to access online modes.

We did manage to fix the issue however… Continue reading “Fixed – Error Authorizing user with Halo 5: Guardians services”

Universal App Tutorials Part 11 : Value Converters

One of the rules of using MVVM is that your model shouldn’t need to know anything about the UI Layer, and your View should be decoupled from the Model via the ViewModel.  It can often be necessary to have some form of conversion between what our Model understands and what the View would understand.  A common example would be converting a boolean flag to a Visibility State, this is where Value Converters come in.

Outcome

We’ll follow a slightly more domain specific example in this case, converting the TranslationDirection Enumeration Property to a Visibility State for our Morse Input User Control.

Continue reading “Universal App Tutorials Part 11 : Value Converters”

Development Team Leadership : First Steps Part 7

Honesty

Honesty is the best policy…

…unequivocally.  Trying to cover something up simply doesn’t work.  Everyone makes mistakes, even your boss, and if they’re worth working for, they’ll know that.

As the lead you should be the first to admit when you:

  • are not going to make a deadline;
  • did something silly that broke the build;
  • are wrong;
  • simply don’t know the answer to a question.

The last one is really important.

Continue reading “Development Team Leadership : First Steps Part 7”

Review : Write Modern Web Apps with the MEAN Stack by Jeff Dickey

I recently decided to push myself and delve into a new stack to broaden my horizons, having heard a lot from friends about how great JavaScript is and how it’s taking over the world, I decided it was finally time to get to grips with it, and an opportunity to have a play with Visual Studio Code at the same time.  I picked the MEAN stack to look into, for anyone not in the know, MEAN stands for :

  • MongoDB
  • Express
  • Angular
  • Node

Coming predominantly from a .NET background (as you may have guessed) this was obviously quite a shift. Continue reading “Review : Write Modern Web Apps with the MEAN Stack by Jeff Dickey”

Development Team Leadership : First Steps Part 6

Pragmatism – Take your time

I’m sure you’ll have heard the saying :

Rome wasn’t built in a day…

…and it’s fair to say that 99% of the time, neither will your app be.  Be realistic regarding what you can achieve and by when.  Everything about the Agile methodology points to being able to work sustainably, and getting better at doing so along the way.  There’s many articles about picking a vertical stripe or horizontal stripes through your architecture and delivering a concise set of functionality.  My advice would be, don’t let your chosen stripe get too fat.  If you can’t hit an imposed deadline, be honest and say ‘no’.

Continue reading “Development Team Leadership : First Steps Part 6”

Universal App Tutorials Part 10 : MVVM Light NavigationService

Despite the rise in popularity of Single Page Applications (SPAs) and supporting frameworks like Angular in the Web Development world, it might be nice if we had more than one page in our app, or at least had the option to.  Our app so far is contained within a single page, MainPage.xaml.  A common pattern is to have different pages for Settings or Publisher contact information.  Navigation has moved on since Windows Phone 7.5 when it was URI based, we will look at how it now works with Universal Apps with typing and the MVVM Light implementation of INavigationService. Continue reading “Universal App Tutorials Part 10 : MVVM Light NavigationService”

Development Team Leadership : First Steps Part 5

Saying No

One of the most important skills in leadership, is knowing how and when to say ‘no’.  It might sound trivial but it’s really far from it.  There’s an excellent chapter in The Clean Coder by Uncle Bob Martin.  I was fortunate enough to read this prior to having been put in a situation where I needed to say no and I found it  invaluable in hindsight, would highly recommend.

As a fresh Lead you will no doubt have a number of challenges in managing client expectations, and at points they will inevitably ask too much of both you and your team.  It’s times like these when you will gain the respect of the client for your honesty and integrity and the gratitude of your team for not putting them in awkward situations.

It’s easy to say yes, don’t fall into that trap, but just remember there’s a right way to do it. Continue reading “Development Team Leadership : First Steps Part 5”

Morse Coder Part 9 : Visual State Triggers

Intro

As we saw when we migrated our Universal Windows App to Windows 10 targetting Phones and PCs with the same set of markup presents us with a challenge…

Windows10-Phone.png

This UI is less than usable!  There are a new set of User Controls made available as part of Windows 10, for example the Relative Panel.  In this post we’ll look at ways we can make our UI adaptive based on the screen size we are targeting.

Outcome

By the end of this post we will have a single app that is usable on PCs, tablets, and Phones.  We’ll be looking into Visual State Triggers in order to alter the size of the text presented in our Input and Output TextBox and TextBlock controls.  Visual State Triggers apply transformations to the base XAML defined, we’ll be using this method to make our app responsive.

Continue reading “Morse Coder Part 9 : Visual State Triggers”

Development Team Leadership : First Steps Part 4

Push Yourself

Don’t be afraid to tackle situations that will push you out of your comfort zone, you’ll always be better for it.  If you’re :

  • nervous about a presentation, do it;
  • putting off an awkward conversation, have it;
  • unfamiliar with a technology, learn it.

…you get the picture.

There are of course limits, be sensible.  Start small, Rome wasn’t built in a day and so on, but each time you tackle something new your horizon has expanded slightly, you’ll be unstoppable.  Have confidence.

Continue reading “Development Team Leadership : First Steps Part 4”