Roland Weigelt

Born to Code

  • UI/UX-Grundlagen: Vortragstermine

    Mein Vortrag “UI/UX-Grundlagen für Entwickler und andere Nicht-Designer”, den ich letztes Jahr auf der See# Party in Kreuzlingen (Schweiz) sowie bei der netug-niederrhein und “zu Hause” bei Bonn-to-Code.Net gehalten habe, wird in den nächsten Monaten an den folgenden Terminen zu sehen sein:

    Die Vorträge in Köln und Nürnberg dauern jeweils 60 Minuten. Bei den User Groups gibt es die “Maxi-Version”, deren Länge je nach Umfang der anschlie-ßenden Diskussion erfahrungsgemäß bei ca. 90-120 Minuten liegt.

    Vorschau

    Bei der diesjährigen See# Party am 20. August werde ich erstmalig meinen neuen UI-Vortrag “User Interface Patterns in Silverlight” halten. Wobei mit den “Patterns” nicht Architektur-Entwurfsmuster hinter der UI wie z.B. MVVM gemeint sind, sondern tatsächlich im wortwörtlichen Sinne Patterns im User Interface. Der Vortrag betrachtet z.B: einige scheinbar selbstverständliche Interaktionsmuster noch einmal etwas genauer. Konkrete Beispiele in Silverlight sorgen für eine gute Mischung von Theorie und Praxis.

  • dotnet Cologne 2011: Resttickets verfügbar!

    Die dotnet Cologne 2011 ist eigentlich schon seit Anfang des Monats ausgebucht. Andererseits ist es bei mehr als 300 Anmeldungen nur natürlich, dass manche Interessenten aus dem einen oder anderen Grund doch nicht an der Veranstaltung teilnehmen können und damit ihr Platz frei wird. Auch gibt es Rückläufer von Freikarten für die Sponsoren.

    So sind nun nach aktueller Rechnung insgesamt 15 Plätz frei, die wir natürlich noch belegen wollen.

    Deshalb werden wir am 27.4.2011 um 16:00 noch einmal die Anmeldung freischalten.

    Alle Teilnehmer, die dann einen der freien Plätze (zum Normalpreis von 55,-) ergattern, bitten wir um schnellstmögliche Überweisung. Wenn bis inkl. Dienstag 3. Mai kein Zahlungseingang festgestellt wurde, erfolgt eine automatische Abmeldung von der Veranstaltung. Es ist keine Bezahlung vor Ort möglich!

  • Live Coding in Presentations – Don’t Waste my Time!

    Over the years I have grown very sceptical of the “fewer slides, more demos” kind of presentations. I simply have seen too many presentations where things went downhill from the moment the speaker opened Visual Studio.

    In an internal presentation or at a user group meeting this is “unfortunate”. But if I fly halfway around the globe and then have to sit through such a talk, I might get a little upset (MIX11 WP7 boot camp, I’m looking at you).

    Dear speakers, if you plan to give a talk that contains any kind of “live” usage of Visual Studio, I kindly ask you to keep a few things in mind.

    First of all: Even though we developers work with Visual Studio every day, you have to be fully aware that using Visual Studio in front of an audience poses a significant risk:

    • Every bit of mistyping or misclicking is a distraction on the way from what you just said to what you wanted to show.
    • At some point, Visual Studio will make you and the audience wait for something to complete.
    • Visual Studio or some other technology may decide to stop working at the worst possible moment. In contrast, I cannot remember a crash of PowerPoint in any talk I’ve ever seen.
    • When writing code you may make mistakes that result in build errors – another distraction that disturbs the flow of your explanations.

    It is your job to minimize these risks. Everything that doesn’t work as expected is wasting the audience’s time. If you manage to recover quickly from problems, good for you. But solving an unexpected problem in a demo remains a distraction unless you specifically planned to show the solution to that problem.

    Also be aware that what you see differs significantly from what the audience sees. You may see the five important lines of code or the three files that were just added to the project. The audience sees an IDE with lots of panes covering the whole screen, interesting menu and toolbar items from plugins, the full project structure inside the Solution Explorer, and lots of source code besides the few lines you are currently talking about.

    Note that even with all these problems, I’m not advocating “all-slides” talks for programming topics. I have seen quite a few talks with a very effective usage of Visual Studio. All these had in common that the speakers had a good idea of when to use Visual Studio and when to rely on prepared slides.

    What exactly are you trying to show inside Visual Studio?

    • The “discoverability” of an API by showing Intellisense on it: Great!
    • The values of some object properties at specifc breakpoints in a debugging session: Great!
    • How easy it is to build something within minutes: Ok, but think about choosing a staggered approach of first coding some parts manually, then using code snippets to avoid repetitions, later maybe even using prepared code files if the audience can imagine they contain “more of the same”.
      Note that you start losing parts of your audience if you have to scroll a lot; some people may tune out and simply wait for you to hit F5.
    • Some files that were generated: If you’re already inside Visual Studio, just want to show that they were generated and will move on after a brief glance at their content (“see: here’s XML and here’s C# code”): OK.
      If you have to explain their exact purpose and their relationsships, think about preparing slides. A screenshot of (a part of) the Solution Explorer not only helps to focus on the files, it also allows you to highlight them and add call-outs that support what you are saying.
    • Features of the Visual Studio UI like dialogs, customization options, etc.: If you have to switch to Visual Studio just for that, better use one or more screenshots. Highlight important details and/or add call-outs.
    • Some code that is already complete: It depends. What part should the audience actually remember? Would it be possible to put that code on a slide? If there’s a chance, use the slides. And again: focus of attention, highlighting of important parts, call-outs for explanations.
      If you have to show the code inside Visual Studio, practice finding the locations instantly. Don’t stumble through file after file on stage just to notice you’re in the wrong project.

    Each of your demos can be split into the following parts; think about where and how you deal with them:

    • Preparation – you have to set up the environment before (the key part of) the demo can be started.
    • Establishing context – you have to give the audience enough information to understand what you will show them.
    • Show – demonstrate what the audience should see happen live.
    • Summary – explain what the audience just saw.
    • Conclusion – explain what the main takeaways are.

    In all really good presentations that I have seen, little or no preparation was visible to the audience (i.e. all required projects were loaded before the talk started), unless it was actually part of the demo. And the speakers used slides during the “context”, “summary” and “conclusion” phases (instead of having the IDE open and just talking), which kept them focussed.

    But this sounds like a lot of work?!

    Because it is. Good presentations are a lot of work. Regardless of whether you are using slides or Visual Studio. Just look at e.g. the live coding by Scott Hanselman during the MIX11 keynote. Don’t think for a second that he did this without lots of preparation and practice.

    Whenever you enter the stage at a conference, I expect that you are highly prepared and invested a lot of time into your presentation, period. Otherwise you’re wasting my time – with or without live coding.

  • My MIX11 Recap: Day 3

    There is always something sad about the last day of a conference. The sight of attendees with suitcases in the hallways, the noise of (de-)construction outside the session rooms during the talks and the overall fatigue after several conference days (not to mention the attendee party).

    But the last day of MIX11 turned out to be great with high-quality talks that made me forget my “last day blues”.

    Session: The Future of HTML5

    Session: Filling the HTML5 Gaps with Polyfills and Shims

    These were two interesting and informative sessions on what is not exactly my favorite topic. Having programmed (and debugged) large amounts of Javascript code in the past I must say that I’m not really a fan of the HTML5 hype. And while the sessions were well done, the information they provided didn’t really increase my enthusiasm for HTML5.

    Session: Mind Bending UX - UX Lightning Series

    The third session of the UX lightning series, and again a winner.

    • What Software can Learn from the World of Magic
    • Extending the Human DNA with Design
    • What Brains, Football and Hobbits teach us about Designer & Developer
    • Farming for Ideas: How to Be The Most Creative You

    Thought-proviking and funny. Needless to say the room was packed.

    Session: Good JavaScript Habits for C# Developers

    This great presentation showed how modern Javascript should be used and what C# developers often do wrong when moving from one “curly braces language” to another. Interesting that some of the concepts that would have seemed exotic just a few years ago now feel familiar to C# developers – a sign shows how much C# has evolved with the addition of lambdas and closures.

    Session: Advanced Features in Silverlight 5

    The last session of MIX11 and a great way to end a conference. Unfortunately many of the features shown are not in the beta bits, but nevertheless I’m excited about what’s coming to Silverlight. I really liked the presentation style which showed good preparation.

    Next up: My MIX11 Recap: Summary

  • My MIX11 Recap: Day 2

    Keynote

    The second keynote of MIX11 covered (mostly) Windows Phone 7, Silverlight 5 and Kinect. Before getting to upcoming Windows Phone features, Joe Belfiore explained what happened (or not happened) with the WP7 updates. While it sounded plausible, it also differed from the initial message regarding updates for WP7 and Microsoft’s control over it. My take-away from the presentation of the features of the “Mango” update: Lots of catching up to other phones OSes, some features (like deep linking) demonstrating a specific direction and vision behind Windows Phone. Promising, but Android and iPhone aren’t sleeping.

    Then, finally: Silverlight. Huge applause from the crowd. No wonder, because regardless who I talked to at MIX: Silverlight devs love their platform. The choice of an example site shown during this segment was odd: The Blue Angels’ website? Oh, yes, video. Hmm. But not exactly what I would use as a demo case for Silverlight. After that ScottGu showed a few Silverlight 5 features, but the Silverlight segment turned out to be rather short.

    The keynote ended with a segment on Kinect. Some cool demos here – man I wish they’d shown them on day 1 during the keynote that ended half an hour early. Nice surprise: Every attendee got a Kinect. Not a dumb idea, because if there’s a crowd that will not only hook up the gift to an XBox, but will also use the Kinect SDK for PCs (coming May 13th), then it’s the MIX11 attendees.

    When the keynote was over, something was still missing. There was no Bill Buxton, no UX content at all. Later I heard somebody say he felt that MIX was “hijacked by devs” and turned into a developer conference. I cannot disagree.

    Session: Building In Browser Experiences with Silverlight 5

    Not an exciting, but solid presentation showing off new features such as implicit data templates, custom markup extensions, binding within style setters, text layout and databinding debugging. I’m really looking forward to the final release of SL5.

    Session: Crafty UX - UX Lightning Series

    The second of the sessions from the UX lightning series. Word of mouth that had praised the first session quickly filled the room with people, and they were not to be disappointed.

    • 10 Minute UX Ninja
    • Conceptual Design – Tactics and Techniques
    • Phidgets & Real-Time Sensor Data Visualization
    • Prototyping Interfaces with Motion Graphics

    Interesting stuff, and the 10 minutes limit really made the presenters prepare their talks well – something that always pays off.

    Session: Back to Square One

    This was a pretty “fluffy” session, but that was to be expected from Nishant Kothary, who I first heard last year with “The Elephant in the Room”. Like last year the talk covered human factors. It was hurt a bit by the (way too long) story of the airline pilot who unexpectedly did the wrong thing. That was a pity because that story conveyed an important message: Under pressure to achieve a certain goal, people will do things that appear to be a good solution without checking all possible outcomes – something that happens often enough in user interfaces.

    Attendee Party

    Nice location, great DJ. At some point the loudness of the music didn’t really help to keep the promise of “a 72-hour conversation”.

    Next up: My MIX11 Recap: Day 3

  • My MIX11 Recap: Day 1

    Keynote

    With the pre-con day being somewhat underwhelming, the hopes were high for some energy from the keynote to get MIX11 truly started. In the end it not only failed to energize the crowd (judging by the comments on the hallways and on Twitter afterwards), but it also didn’t take the chance to reiterate a message that some commentators of the “Standards-based web, plug-ins and Silverlight” blog post seem to have missed (quote): “Neither plug-ins nor standards-based approaches, however, represent the single answer to client development”.

    Obviously Microsoft has to tout their capabilities in the shiny new world of HTML5, but I think it’s a huge mistake to let it happen that Silverlight is declared dead by people who have no idea how tough it is in the enterprise to roll out a new browser. Maybe these people also think that the IT departments are simply too dumb or lazy and that their fear of breaking mission-critical web applications from the IE6/7-era is completely unfounded.

    Session: HTML5 for Silverlight Developers

    Being a Silverlight developer, this session sounded like something I should attend - and it was. While not being perfect in terms of presentation (too many apples and oranges comparisons between HTML5 and Silverlight for my taste), it was interesting to see where HTML5 is today and were it is currently lacking.

    Session: Fonts, Form and Function: A Primer on Digital Typography

    Robby Ingebretsen rocks, period. Passion, competence and great presentation skills. Watch the video!

    Session: Inspiring UX - UX Lightning Series

    Four speakers, ten minutes each, slides advancing automatically. This sounded like an interesting concept and as user experience (UX) is an important part of my daily work, I thought this session would by worth checking out.

    • Why is that monkey wearing no pants?
    • 21st Century Design
    • Goodbye Mouse, Hello Touch
    • Lessons in Design

    After hearing these “presentation-lets”, I only had one wish: MORE! Others had the same feeling and Twitter exploded with praise, leading to crammed rooms during the other sessions of the UX Lightning Series in the following days.

    Ask the Experts

    Known from other conferences but this time with a “speed dating” twist and prepared questions as conversation starters, this simply didn’t work for me. I was hungry and wanted something to eat but food was only available at the (full) experts tables. And the Elvis-impersonator abusing the microphone didn’t help either. Let’s put is this way: I left the building before Elvis.

    Next up: My MIX11 Recap: Day 2

  • My MIX11 Recap: Open Source Fest

    On the evening of the pre-conference day Microsoft hosted the “Open Source Fest”. Open to all MIX attendees, this event allowed authors of open source software using current Microsoft technologies to present their projects.

    This was a very interesting evening and overall I would rate it as a success. But there were some things that should be adressed by the organizers in the future that prevented the event from being truly great:

    • It was loud. In a room crammed with tables full of computers and lots of people discussing the many projects that was inevitable. Maybe some movable walls (which also could be used to attach posters to it) would have helped, but the noise level was still tolerable. That was until…
    • Some “rat-pack” impersonators came on stage and began singing. I found this not only disturbing the discussions, it was also an insult to the presenters of the project. Did the organizers think that the projects alone weren’t interesting enough?
    • It was a bit too dark and the signs on the tables (showing the project’s name and the table number) were too small. Finding a specific project in the crowded room was difficult.

    These nitpicks aside, I would like to see another Open Source Fest next year. It was great to see the projects being presented with great enthusiasm by their creators and there are quite a few I’ll take a further look at in the next weeks.

    Next up: My MIX11 Recap: Day 1

  • My MIX11 Recap: Day 0 (“Boot Camp”)

    I started MIX11 with a day of "boot camps". Last year they were less dramatically called "workshops", but the overall concept remained the same: Two half-day sessions covering a specific topic each, with the promise that this topic can be covered in a different, more extensive way than in a typical session of 60 minutes. Last year's workshop day was worth its money (just for Robby Ingebretsen's fantastic "Design fundamentals for Developers" alone), unfortunately I cannot say the same about this year's boot camp day.

    The first session "Design, Content, Code: Start-to-finish" described the work on the new website of the Blue Angels (http://www.blueangels.navy.mil/, not online yet). That was interesting and offered some useful details, but the talk definitely lacked a critical review. Over the timespan of 3 hours (minus the breaks) condensing the content just a little bit here and there would have saved a noticeable amount of time. And this in turn would have created space for some more technical or (equally important) conceptual information.

    While the first session was OK(-ish), the second session "Windows Phone 7 Boot Camp" was a complete waste of time. The amount of actual content was laughable, the largest part was an introduction to Silverlight, barely touching WP7 specifics, and concepts in general were poorly presented.

    Am I a bit too harsh or did I have unreasonable expectations? Well, what I did expect was to see more or less a presentation like that of Microsoft Germany as part of their "MS TechTalk" series (3 hours, free of charge). I saw that presentation some time ago, so my naive assumption was that (after forgetting some of the details since) the bootcamp would freshen up my WP7 knowledge again to the same level.

    Unfortunately much time was wasted with "live coding" which I in general grow more and more critical of - but as that's not a simple "yes or no" issue, I'll cover that topic in a separate blog post.

    Taking into account that the boot camp day cost my company 350$ plus an additional night in a hotel room, we'll have a very hard look at the cost-benefit ratio of the pre-conference day in the future.

    Coming up: My MIX11 Recap: Open Source Fest

  • dotnet Cologne 2011: Anmelden auf die Warteliste lohnt sich!

    Die dotnet Cologne 2011, die große von den .NET User Groups Bonn und Köln organisierte Community-Konferenz rund um .NET, ist nach nicht einmal zwei Wochen theoretisch ausgebucht.

    Allerdings nur “theoretisch”, denn die Erfahrungen der vergangenen Jahre haben gezeigt, dass eine nicht geringe Zahl von Plätzen recht schnell wieder frei werden. Entweder weil die Teilnahme abgesagt oder aber (beinahe häufiger) nach Ablauf der Überweisungsfrist und einer anschließenden Mahnung schlicht und ergreifend nicht bezahlt wird.

    Diese freiwerdenden Plätze werden dann von der Warteliste in der Reihenfolge der Anmeldung gefüllt. Und das waren letztes Jahr eine ganze Menge!

    Deshalb gilt: Wer sich jetzt anmeldet hat noch sehr gute Chancen, nachzurücken – so z.B. bereits in einer ersten Runde Anfang April.

    Hier geht’s zur Anmeldung

  • Sponsor the Hottest .NET Community Event in Germany: dotnet Cologne 2011

    The “dotnet Cologne” conference organized by the NET usergroups Bonn and Cologne quickly has become the .NET community event in Germany. So when we opened the registration for dotnet Cologne 2011 on Monday, we expected some interest. But we didn’t expect the 200 “early bird” seats to be gone in less than three hours! And the registrations at normal price keep coming in, so it looks like this event will sell out even earlier than last year.

    In December I wrote about sponsorship opportunities at the dotnet Cologne 2011 – and why it’s a good idea to be a sponsor at this particular conference.

    If you are interested in becoming a sponsor: We still offer a wide variety of sponsorship packages in different sizes.

    At our new, larger, event location, we still have space for exhibition booths. Last year’s exhibitors were very happy and had many interesting conversations with the attendees. And this year we planned for longer breaks between sessions, which means event more time for presenting your products. And yes, German developers understand English demos.

    But maybe a booth is a bit too much for you. With the Bronze package, you can make sure the attendees receive promotional material of your company in their bags – for a fraction of what you’d pay at a commercial conference.

    Or you could sponsor a couple of licenses of your product for the raffle at the end of the day.

    If you want to learn more, just send an email to Roland.Weigelt at dotnet-koelnbonn.de and I’ll send you our sponsor information.