Thursday, December 01, 2022

Tech Advent Calendars - 2022

It seems that the idea of communities releasing posts on tech topics each day through December is becoming increasingly popular.

Here are the ones I know about

Festive Tech Calendar posts daily articles and videos on various topics.

.NET Advent Calendar posts daily on things related to .NET

.NET MAUI Advent Calendar posts (week) daily about .NET MAUI 

C# Advent Calendar reveals 2 new C# blog posts every day

PowerAdventKalender daily videos about the Power Platform [In German]


Advent of code is a series of small daily programming puzzles.

Know of any others?

Wednesday, November 23, 2022

MAUI App Accelerator v1.1 - Now with C# Markup support

Version 1.1 of MAUI App Accelerator is now available from the Visual Studio Marketplace.

The big change in this version is the inclusion of C# Markup as a 'Coding Style'.

Partial wizard screenshot showing all three Coding Style options

This adds a way of creating the UI entirely in C# and with no XAML.
Ok, that should probably come with a small asterisk, as the generated apps still include XAML files which define the default control styles. I'm not sure if this is the best way to go. Looking at various public projects, it seems there is mixed opinion on doing this. If you have thoughts on what MAA should do, I have an issue open on GitHub where I'd love your feedback

Exploring the creation of UI without using XAML has been an enlightening experience. It's caused me to think in new ways about creating the UI. It's also tied in with some of the thinking I've been doing recently about how to improve the way XAML is written.

The overarching thing I've seen when exploring creating UIs this way is that it's a technique that's still in its infancy. There's a lack of established patterns and "best practices." Lots of what I thought of as basic, core functionality is missing. There's a lack of consistency and conventions is how people create UIs this way. Also, lots of what I've seen seems to be based on ways of recreating in C# what would otherwise have been done in XAML. This seems to be missing out on some of the potential benefits of not using XAML. When writing C# to create a UI, I find I want to do things very differently from how I would in XAML, but I don't yet know if that would have any currently unforeseen consequences or be too hard for others to understand.
The UI code generated by MAA is still very simple. It's this way, so it's easy to remove (for those needing something different in their app) and understand for those who are learning--or want to know what can/can't/should/shouldn't be removed. 
I strongly suspect that people creating UIs with C# in a couple of years will be doing it differently from how I see it being done today.

I'll continue to watch the MAUI.Markup and CSharpForMarkup repositories, and hope to learn from them as more people start creating UIs this way.

Monday, November 21, 2022

Give a great first technical talk - Table of Contents

Want to know more about the book I'm writing about helping people give their first technical talk at a user group or meetup?

Here's the Table of Contents.

Hopefully, it gives you a good idea of what to expect 

  • Why give a technical talk?
  • You are not going to give a talk like you’ve seen many times before
  • You only need to answer 3 simple questions
  • Question 1. What did you make (or do)?
  • Question 2. Why did you do (or make) it?
  • Question 3. What did you learn from the experience?
  • Shorter talks are better
  • Anyone can give a talk
  • Your experiences (whatever they are) qualify you to speak
  • You speak for the audience’s benefit
  • You’ll get a lot out of speaking too
  • You already know everything you need to do this
  • You are telling a story
  • You are not the hero of this story
  • You don’t need to say everything
  • You want questions and discussion--and there will be some
  • You are not there to sell anything
  • You have nothing to fear. You are among friends
  • Your nerves are a good thing
  • You only need to do very minimal preparation
  • Do not start with PowerPoint (or Keynote)
  • Your first technical talk is just the start
  • Show and tell me how you get on
  • Help others give great technical talks too
  • Appendix 1. – Examples of talks given
  • Appendix 2. – Advice for meetup organizers
  • Appendix 3. – Advice for developer evangelists and marketers

Yes, there are a lot of chapters, but they're all very short.

More details to follow.....

Monday, November 14, 2022

What I learned from 14 years of organizing user groups and meetups

I'm unsure about my future involvement with organizing meetups and user groups.

However, I do know that over those years, I've learned a bunch of things that might be useful to other people who organize, attend, and/or speak at them.

There are 4 key components to organizing a meetup/user group

  1. Finding a venue
  2. Organizing speakers
  3. Telling people about upcoming meetings and persuading them to attend
  4. Running the actual event.

I can't help you with the first component but can do something for the others.

I think the key to creating a strong community where people want to attend regularly is to get attendees to talk about what they've worked on.

Over the years, the most requested subject for talks has been to hear from others about what they've made and what they learned in the process.
Introductions to technologies and basic demos have their place but seeing actual projects and hearing about overcoming the challenges of creating them can be much more interesting and informative. They also have the possibility of providing unique information. Such talks aren't the things you can hear anywhere else and are unlikely to be something you can find a video of online.

Having these talks has a few potential benefits:

  • It provides more unique speakers.
  • It provides unique content.
  • It allows an opportunity to hear from peers.

That all sounds good, but how do you find people to share such experiences?

Well, as part of an event, as an organizer, I'm going to try and talk to as many attendees as possible. Not only is making people feel welcome part of my role as host, finding people with things in common and connecting them with others is much more likely to make them come again. It also gives me a chance to ask people what they've been working on. Then, if they've been doing something I think might be of interest to the group, I ask them if they'd be up for giving a short talk about it at a future meeting.

This simple behavior helps build connection amongst attendees which increases the likelihood that they'll come again, and it helps find interesting new speakers.

It's simple, and it works.

But giving a talk can be intimidating and a lot of preparation. So I don't ask people to do that. I ask them to spend five minutes answering three simple questions.
It takes minimal preparation, is easy to do, and produces great results.

It's been so successful that it's enabled over 100 people to give such talks.

This is the unique insight that I discovered, and I think is valuable to other group organizers.

So, I've written a short book about it.

It's going to be called: 

Give a Great First Technical Talk - Share your experiences at user groups and meetups

More details to follow soon.