Note: this post is based on notes for my talk in front of Microsoft MVPs at CEE MVP Community Connection II 2017 in Budapest. So, there’s a slight overemphasis on the MVP angle which could be translated to a broader community.

In this post, I’m going to tell you two fairy tales. They may get a little depressing at some points, but as all fairy tales they have a happy ending…

Imagine a world where every new Windows development framework had all the features of the previous one and then some. Can you? Close your eyes maybe that will help. Well, neither can I…

The reality is that every new technology brings new things but always lacks some core features of the previous one.

Actually, my most popular art project from back in 2009 was precisely about that…

So what do Microsoft and we do after every new platform release?

That’s right. Microsoft releases a semi-official toolkit to close the gaps between feature rich but no longer hip technology and a brand new shiny thing. For a year after Windows 10 was released, there was no such thing for UWP.

But then, on August 17th, 2016 UWP Community Toolkit was unveiled.

The UWP Community Toolkit — in their own words — is a collection of helper functions, custom controls, and app services. It simplifies and demonstrates common developer tasks building UWP apps for Windows 10.

You can find all about it at uwpcommunitytoolkit.com.

And you can also download an excellent demo app from the Microsoft Store to see everything that the Toolkit has to offer.

The project was initiated by David Catuhe and the Partner Application Experience (PAX) team within Windows and is now led Nikola Metulev.

Microsoft’s Developer Marketing

Let’s switch gears for a bit, and I’ll tell you the second fairy tale. You may need to close your eyes again…

So, imagine a world where every Microsoft product gets equal attention from Microsoft’s developer marketing machine in the field… How are you doing?… Now fast-forward to 2016.

Pretty much the only thing we want to talk about these days is Azure. Don’t get me wrong, I love Azure. I use Azure. It’s just that there were very few Microsoft-driven opportunities to talk about anything else but Azure in the last couple of years.

Add it to the fact that Windows phone is dead. And you got yourself a pretty demotivated group of 300-something Windows Development MVPs.

So, what do you do when you still love the technology but have very few opportunities to spread the love? You guessed it right, and this is where our two fairy tales converge…

You contribute to an open source project, and there’s no more high-profile project in the Windows Development space than UWP Community Toolkit.

If you read the initial release blog post, you will see a list of community members who contributed to the project.

“We are excited about the contributions that several community members already submitted in this first release, including Morten Nielsen, Scott Lovegrove, Pedro Lamas, Oren Novotny, James Croft, Diederik Krols, Hermit Dave, Thomas Nigro, Laurent Bugnion, Samuel Blanchard and Rudy Hyun.”

On that list, every single person is either MVP, RD or a former MVP who works for Microsoft now. Well, this is not precisely true, because at the time this was posted at least two contributors on that list weren’t MVPs yet. But that’s, in no small part, how they become MVPs.

Leading up to the initial toolkit release, most of the contributions to it were made by Microsofties. However, in just a month since its release, the scales have flipped, and it was the community contributing more than Microsoft.

“Currently, over 80% of contributors are from the community, and most contributions come from the community.”

— Nikola Metulev

At this point over 80% of the contributors are from the community and making most of the contributions.

How to start contributing to the project?

If you find a bug in some part of the toolkit, you can create an issue on its GitHub page, but preferably you can just take the code, fix the bug and submit a Pull Request.

Willing to contribute your time and expertise, but have nothing particular in mind? Go to Toolkit’s GitHub page, then Issues and filter issues with “help wanted” label. You will find a bunch of issues you can help solve. And, apparently, there are t-shirts!

Finally, if you have a new feature in mind, you should start by creating a UserVoice entry about it and discussing it with the community and stakeholders. Only after you get a universal approval, you should start coding. Then don’t forget to add documentation, a sample in the sample app, unit tests and then submit a Pull Request. You can find the whole guide for contributing to the project on its GitHub page. And remember, only start coding when you get approval for your idea. Unless you don’t mind wasting your time. Ask me how I know this…

Back in 2010, I’ve created an open source charting library for Windows Phone. Once the toolkit was released, I had an idea of porting this library to UWP for inclusion in the toolkit. I’ve read contribution guidelines and knew that I should ask first, but I wasn’t sure how difficult it would be to port and didn’t want to commit to doing it before I did my research. Long story short, in a couple of weekends I was able to port the code and resolve all the major issues. So I went ahead and proposed my work for inclusion in the toolkit…

I was commended for my work but was told by David in some murky terms that this is not something they are looking to include in the toolkit right now. I tried to figure out the real reason behind this rejection through other channels but only got some shady smiles and “no comment.” It all got clear 3 months later.

Turns out Microsoft was already working with Telerik on open-sourcing their UWP controls which include charts among other things. Now the rejection became clear and made total sense and was just another reminder to… get stakeholder approval before committing your time.

To summarize

Contributing to an open source project lets you work with the newest technologies on a product thousands of developers will use, and, possibly, get awarded with MVP Award or have your MVP status renewed in the process. Or you can just use the toolkit to build your next great app.

And when you do, you can come to us at AdDuplex to monetize or advertise it.

—

Btw, while I have you here… Get my book “Conferences for Introverts.”