Roland Weigelt

Born to Code

  • dotnet Cologne 2010 – jetzt wird’s ernst!

    Der Endspurt bei den Vorbereitungen für die dotnet Cologne 2010 am Freitag 28.5.2010 läuft. Stefan Lange, Albert Weinert, Melanie Eibl (vor einigen Wochen zum Orga-Team gestoßen und seitdem nicht mehr wegzudenken) und ich haken nach und nach die letzten Punkte auf der TODO-List ab.

    Die Konferenz ist seit langem ausgebucht, da hat dann auch die Verdopplung der Teilnehmerzahl gegenüber letztem Jahr nichts geholfen. Das ist einerseits natürlich erfreulich, andererseits ist es immer wieder schade, Interessenten abweisen zu müssen.

    Morgen (Donnerstag) wartet nochmal ein Tag mit allerletzten Vorbereitungen, Abends geht es zum von Microsoft organisierten regionalen CLIP & MVP Treffen, wo es auch ein erstes Wiedersehen mit einigen der Sprecher gibt.

    Die Vorfreude steigt…

  • SonicFileFinder 2.2 Released

    My colleague Jens Schaller has released a new version of his free Visual Studio add-in SonicFileFinder, adding support for Visual Studio 2010.

    As far as I can tell, there are no new features compared to version 2.1, but good to know that this add-in is now available for VS2010.

    For those who a wondering what SonicFileFinder is about: SonicFileFinder implements a command for searching and opening files in a Visual Studio solution, which is very nice especially in large projects.

    This may sound familiar to users of JetBrain’s ReSharper, which has a “Go To File” feature. But in my opinion SonicFileFinder does a better job overall:

    • While ReSharper (4.5) does a prefix search by default, SonicFileFinder searches for any occurrence of the entered text inside a file name. In a long list of file names (e.g. all starting with “Page…”), this allows me to focus on the part that makes the difference (e.g. “Render” in PageRenderBuffer.cs). In ReSharper I would have to type “*Render*”, which can be shortened to “*Render” (which isn’t even correct). Note that SonicFileFinder does support wildcards, of course.
       
    • SonicFileFinder remembers the last input (and thus the last result list) without a noticeable delay of the popup. If I want to search for something different, I can type right away, so this behavior doesn’t slow me down. But where it really shines is when I’m not even sure what file exactly I was looking for – I open one file, notice that it’s not the one I want, re-open the pop-up dialog and now I can choose another one from the result list without re-entering the search text.
    • SonicFileFinder allows me to open multiple files at one (nice for service interfaces and implementations).
    • SonicFileFinder lets me open either a Windows Explorer or Command Line window in the directory containing a specific file.
  • dotnet Cologne 2010

    Am 28.5 findet in Köln die dotnet Cologne 2010 statt, eine von der .NET User Group Köln und der von mir geleiteten Gruppe Bonn-to-Code.Net gemeinsam organisierten Konferenz zum Launch von Visual Studio 2010 und .NET Framework 4.

    Die Registrierung ist seit Anfang März möglich, und obwohl es bisher kaum konkrete Details zu den Sprechern und Vorträgen gab, haben sich bereits über 250 Teilnehmer angemeldet. Das zeugt von hervorragender Mund-zu-Mund-Propaganda, nicht zuletzt ein klares Zeichen für den Erfolg der letztjährigen dotnet Cologne 2009.

    Hinter den Kulissen brach ein wahrer Sturm von Vortragsvorschlägen über das Orga-Team (bestehend aus Stefan Lange, Albert Weinert und mir) herein. In mehreren Runden versuchten wir, die richtige Mischung zwischen einführenden und tiefgehenden Themen zu finden. Dabei wurde schnell klar, dass wir nicht mit den ursprünglich geplanten drei Tracks auskommen würden.

    Deshalb haben wir nach reiflicher Überlegung einen vierten Track eingerichtet, darüber hinaus bieten wir - nach dem Vorbild anderer Konferenzen - dieses Jahr auch Lunch-Sessions an.

    Seit heute steht nun ein Großteil der Vorträge offiziell fest, nur noch einige wenige Slots sind noch frei. Wer bisher mit der Anmeldung gezögert hat, sollte schnell einen Blick hineinwerfen und sich entscheiden. Denn ab einer der Marke von 300 Teilnehmern wird eine Warteliste eingerichtet. Zwar werden erfahrungsgemäß später einige Plätze wieder frei, aber wer ganz sicher einen Platz bei der dotnet Cologne 2010 haben möchte, sollte sich bald anmelden.

    Denn: Ein ganzer Tag vollgepackt mit Informationen, viele bekannte Namen der deutschen .NET-Community nicht nur auf der Sprecherliste-, sondern auch unter den Teilnehmern – und am Abend dann noch die Grillfete des dotnet Forum. Wer da nicht dabei ist, der wird wird echt etwas verpassen…

  • Looking Back at MIX10

    It’s the sad truth of my life that even though I’m fascinated by airplanes and flight in general since my childhood days, my body doesn’t like flying. Even the ridiculously short flights inside Germany are taking their toll on me each time.

    Now combine this with sitting in the cramped space of economy class for many hours on a transatlantic flight from Germany to Las Vegas and back, and factor in some heavy dose of jet lag (especially on my way eastwards), and you get an idea why after coming back home I had this question on my mind:

    Was it really worth it to attend MIX10?

    This of course is a question that will also be asked by my boss at Comma Soft (for other reasons, obviously), who decided to send me and my colleague Jens Schaller, to the MIX10 conference. (A note to my German readers: An dieser Stelle der Hinweis, dass Comma Soft noch Silverlight-Entwickler und/oder UI-Designer für den Standort Bonn sucht – aussagekräftige Bewerbungen bitte an Herausforderung@comma-soft.com)

    Too keep things short: My answer is yes.

    Before I’ll go into detail, let me ask the heretical questions whether tech conferences in general still make sense.

    There was a time, where actually being at a tech conference gave you a head-start in regard to learning about new technologies. Nowadays this is no longer true, where every bit of information and every detail is immediately twittered, blogged and whatevered to death. In the case of MIX10 you even can download the video-taped sessions shortly after.

    So: Does visiting a conference still make sense? It depends on what you expect from a conference. It should be clear to everybody that you’ll neither get exclusive information, nor receive training in a small group.

    What a conference does offer that sitting in front of your computer does not can be summarized as follows:

    • Focus
      Being away from work and home will help you to focus on the presented information. Of course there are always the poor guys who are haunted by their work (with mails and short text messages reporting the latest showstopper problem), but in general being out of your office makes a huge difference.
    • Inspiration
      With the focus comes the emotional involvement. I find it much easier to absorb information if I feel that certain vibe when sitting in a session. This still means that I have put work into reviewing the information later, but it’s a better starting point. And all the impressions collected at a (good) conference combined lead to a higher motivation – be it by the buzz (“this is gonna be sooo cool!”) or by the fear to fall behind (“man, we’ll have work on this, or else…”).
    • People
      At a conference it’s pretty easy to get into contact with other people during breakfast, lunch and other breaks. This is a good opportunity to get a feel for what other development teams are doing (on a very general level of course, nobody will tell you about their secret formula) and what they are thinking about specific technologies.

    So MIX10 did offer focus, inspiration and people, but that would have meant nothing without valuable content.

    When I (being a frontend developer with a strong interest in UI/UX) planned my visit to MIX10, I made the decision to focus on the "soft" topics of design, interaction and user experience. I figured that I would be bombarded with all the technical details about Silverlight 4 anyway in the weeks and months to come.

    Actually, I would have liked to catch a few technical sessions, but the agenda wasn’t exactly in favor of people interested in any kind of Silverlight and UI/UX/Design topics. That’s one of my few complaints about the conference – I would have liked one more day and/or more sessions per day.

    Overall, the quality of the workshops and sessions was pretty high. In fact, looking back at my collection of conferences I’ve visited in the past I’d say that MIX10 ranks somewhere near the top spot.

    Here’s an overview of the workshops/sessions I attended (I’ll leave out the keynotes):

    Day 0 (Workshops on Sunday)

    • Design Fundamentals for Developers
      Robby Ingebretsen is the man! Great workshop in three parts with the perfect mix of examples, well-structured definition of terminology and the right dose of humor. Robby was part of the WPF team before founding his own company so he not only has a strong interest in design (and the skillz!) but also the technical background.
       
    • Design Tools and Techniques
      Originally announced to be held by Arturo Toledo, the Rosso brothers from ArcheType filled in for the first two parts, and Corrina Black had a pretty general part about the Windows Phone UI. The first two thirds were a mixed bag; the two guys definitely knew what they were talking about, and the demos were great, but the talk lacked the preparation and polish of a truly great presentation.
      Corrina was not allowed to go into too much detail before the keynote on Monday, but the session was still very interesting as it showed how much thought went into the Windows Phone UI (and there’s always a lot to learn when people talk about their thought process).

    Day 1 (Monday)

    • Designing Rich Experiences for Data-Centric Applications
      I wonder whether there was ever a test-run for this session, but what Ken Azuma and Yoshihiro Saito delivered in the first 15 minutes of a 30-minutes-session made me walk out. A commercial for a product (just great: a video showing a SharePoint plug-in in an all-Japanese UI) combined with the most generic blah blah one could imagine. EPIC FAIL.
       
    • Great User Experiences: Seamlessly Blending Technology & Design
      I switched to this session from the one above but I guess I missed the interesting part – what I did catch was what looked like a “look at the cool stuff we did” without being helpful. Or maybe I was just in a bad mood after the other session.
       
    • The Art, Technology and Science of Reading
      This talk by Kevin Larson was very interesting, but was more a presentation of what Microsoft is doing in research (pretty impressive) and in the end lacked a bit the helpful advice one could have hoped for.
       
    • 10 Ways to Attack a Design Problem and Come Out Winning
      Robby Ingebretsen again, and again a great mix of theory and practice. The clean and simple, yet effective, UI of the reader app resulted in a simultaneous “wow” of Jens and me. If you’d watch only one session video, this should be it. Microsoft has to bring Robby back next year!

    Day 2 (Tuesday)

    • Touch in Public: Multi-touch Interaction Design for Kiosks & Architectural Experiences
      Very interesting session by Jason Brush, a great inspiration with many details to look out for in the examples. Exactly what I was hoping for – and then some!
       
    • Designing Bing: Heart and Science
      How hard can it be to design the UI for a search engine? An input field and a list of results, that should be it, right? Well, not so fast! The talk by Paul Ray showed the many iterations to finally get it right (up to the choice of a specific blue for the links). And yes, I want an eye-tracking device to play around with!
       
    • The Elephant in the Room
      When Nishant Kothary presented a long list of what his session was not about, I told to myself (not having the description text present) “Am I in the wrong talk? Should I leave?”. Boy, was I wrong. A great talk about human factors in the process of designing stuff.
       
    • An Hour with Bill Buxton
      Having seen Bill Buxton’s presentation in the keynote, I just had to see this man again – even though I didn’t know what to expect. Being more or less unplanned and intended to be more of a conversation, the session didn’t provide a wealth of immediately useful information. Nevertheless Bill Buxton was impressive with his huge knowledge of seemingly everything. But this could/should have been a session some when in the evening and not in parallel to at least two other interesting talks.

    Day 3 (Wednesday)

    • Design the Ordinary, Like the Fixie
      This session by DL Byron and Kevin Tamura started really well and brought across the message to keep things simple. But towards the end the talk lost some of its steam. And, as a member of the audience pointed out, they kind of ignored their own advice when they used a fancy presentation software other then PowerPoint that sometimes got in the way of showing things.
       
    • Developing Natural User Interfaces
      Speaking of alternative presentation software, Joshua Blake definitely had the most remarkable alternative to PowerPoint, a self-written program called NaturalShow that was controlled using multi-touch on a touch screen. Not a PowerPoint-killer, but impressive nevertheless. The (excellent) talk itself was kind of eye-opening in regard to what “multi-touch support” on various platforms (WPF, Silverlight, Windows Phone) actually means.
       
    • Treat your Content Right
      The talk by Tiffani Jones Brown wasn’t even on my planned schedule, but somehow I ended up in that session – and it was great. And even for people who don’t necessarily have to write content for websites, some points made by Tiffani are valid in many places, notably wherever you put texts with more than a single word into your UI.
    • Creating Effective Info Viz in Microsoft Silverlight
      The last session of MIX10 I attended was kind of disappointing. At first things were very promising, with Matthias Shapiro giving a brief but well-structured introduction to info graphics and interactive visualizations. Then the live-coding began and while the result was interesting, too much time was spend on wrestling to get the code working. Ending earlier than planned, the talk was a bit light on actual content, but at least it included a nice list of resources.

    Conclusion

    It could be felt all across MIX10, UIs will take a huge leap forward; in fact, there are enough examples that have already. People who both have the technical know-how and at least a basic understanding of design (“literacy” as Bill Buxton called it) are in high demand. The concept of the MIX conference and initiatives like design.toolbox shows that Microsoft understands very well that frontend developers have to acquire new knowledge besides knowing how to hack code and putting buttons on a form.

    There are extremely exciting times before us, with lots of opportunity for those who are eager to develop their skills, that is for sure.

  • Computer Books to Read on a Lonely Island

    I recently had the pleasure to visit this place:

    20100304_Velidhu

    On an island of approx 300x200 meters, snorkeling, swimming, eating, sleeping and relaxing is pretty much all you do. And reading, lots of reading:

    20100304_SilverlightBook

    Two [computer] books that passed my personal “good to read far away from the keyboard” test are:

    • “Clean Code: A Handbook of Agile Software Craftsmanship”
      Robert C. Martin

      I had this on my bookshelf for quite some time, but never did more than quickly scan the chapters. When you talk to people who have read this book, they usually say “you will not agree on everything the book says, but it is an important book to read” – now I’m one of them.
      I won’t go into more detail here; the reviews on e.g. Amazon pretty much capture what this book is about, so I recommend you take a look there.
       
    • “Pro Silverlight 3 in C#”
      Matthew MacDonald

      Unlike “Clean Code”, this may not a book that would come to one’s mind as something that could be read well away from the computer – after all, it’s dealing with a specific technology and not general concepts.
      But this book does the walkthrough through the various code samples so well that you don’t need Visual Studio to follow what’s going on. I never had the feeling “Wait, where does this thing come from? If I only could hit F12” (which was what happened to me with one of the early books on WPF).
  • Mix10 – I’ll be there!

    In exactly one month I’ll be sitting in a plane to Las Vegas and I’m excited already! My colleague Jens Schaller (of SonicFileFinder fame), who already visited last year’s conference and really enjoyed it, will also be at Mix10.

    Mix10_SeeYou_blk_240

  • Welcome 2010

    Things that have happened

    • I’m no longer responsible for maintaining GhostDoc, SubMain has taken over the development and this has freed up a considerable amount of time. Some of this time went into playing more computer games, a larger portion went into seriously digging into WPF.
       
    • The dotnet Cologne 2009, a community conference organized by the neighboring .NET user group Cologne and Bonn-to-Code.Net (which I founded exactly 4 years ago) became a huge success. In fact, almost too much of a success - we had to close registration a full month before the conference and the rooms sometimes were pretty crowded. There are plans for a dotnet Cologne 2010, but it’s too early to go into details.

    Things I have learned

    • The concept of “open space” / “unconference” can actually work. I attended the .NET Open Space 2009 in Leipzig and what I experienced blew away my initial skepticism. One thing to keep in mind is that this approach is not really a replacement for a conference in classic style – in my opinion the two styles supplement each other.
       
    • The more I learn about Silverlight and WPF, the more I start to see how much I don’t know yet. While the actual amount of concepts to learn is finite, knowing how to combine these to achieve a specific goal is something completely different.
       
    • Not much of a big surprise, just an observation: The lambda expressions introduced in C# 3.0 slowly but surely start to influence the way I think about/plan my code and (small scale) architecture.

    Things I’m looking forward to

    • Visual Studio 2010 when/if it’s released in good quality (please MS, take your time to get this release right, I still remember VS2005 before the SP!). I’m especially looking forward to the extensions for the editor that are now possible; when I saw the first samples, I was immediately reminded of one of my old blog posts back from 2003. Looks like we’re finally getting there!
       
    • Silverlight 4 and WPF 4: The basic concepts of WPF and Silverlight are promising, but at the same time there are still many quirks and missing pieces. It’s nice to see Microsoft is pushing hard to close the gaps, at the same time I still see a long way to go (enough work for version 5, 6 and 7). Performance is improving from version to version, but still can be a source of frustration. And I’m definitely looking forward to the day when Silverlight is a bit more specific about errors than just telling me AG_E_SOMETHING – but I guess I’ll have to wait for something after version 4 for that.
  • Goodbye 2009

    I wish everybody out there health, success and overall happiness in 2010.

  • Bonn: Vortrag über “Dynamic Languages” aus erster Hand

    Sehr kurzfristig hat sich die Gelegenheit ergeben, Harry Pierson, Program Manager bei Microsoft im IronPython Team, für einen Vortrag nach Bonn zu holen – da sagt man natürlich nicht Nein, wenn man die Chance hat.

    Am 17.11.2009 um 19:00 (Einlass ab 18:30) wird Harry über dynamische Sprachen im Microsoft .NET Umfeld sprechen:

    As you may know, Microsoft is developing IronPython and IronRuby, .NET implementations of the popular open-source programming languages Python and Ruby. While it's clear that Microsoft wants to attract existing Python and Ruby developers to .NET, the role of IronPython and IronRuby for existing .NET developers is less clear. What value is there for a .NET developer in learning IronPython? What are the tradeoffs between IronRuby and a more traditional .NET language like Microsoft Visual C# or Visual Basic? Harry Pierson, new PM for IronPython, discusses where dynamic languages fit in the.NET developer's toolbox.

    Veranstaltungsort sind die Räume der Comma Soft AG, nur wenige Minuten von der A59 Ausfahrt Pützchen entfernt (Anfahrtsbeschreibung). Dort finden auch regelmäßig die Treffen der Bonner .NET User Group “Bonn-to-Code.Net” statt, das nächste übrigens bereits eine Woche später.

  • .NET Open Space 2009 in Leipzig – Ich war dabei!

    Es ist eine Sache, ob man von anderen Leuten erzählt bekommt, dass ein bestimmtes Konzept funktioniert. Es ist eine ganz andere Sache, wenn man es tatsächlich erlebt.

    So geschehen beim .NET Open Space 2009 in Leipzig an diesem Wochenende. Ich hatte zwar die Berichte über den Erfolg der letztjährigen Veranstaltung im Hinterkopf, eine gewisse Skepsis konnte ich mir trotzdem nicht verkneifen, wie denn ein “Open Space” in der Praxis aussehen würde.

    Würde es funktionieren, wenn ein Haufen Entwickler morgens zusammensteht, sich auf die Sessions des Tages einigt und dann einfach loslegt? Nach dem Wochenende lautet die Antwort ganz klar: JA!

    Ein kleiner, aber feiner Punkt dabei war, dass die Vorschläge für Sessions nicht unbedingt in der Form “Ich beschäftige mich mit Thema X, darüber könnte ich etwas erzählen” sein mussten – erlaubt waren auch Themenwünsche. So entstammten im Endeffekt nicht wenige Vorschläge der Frage “Wie geht Ihr eigentlich mit dem Thema Y um?”. Die Diskussionen waren insgesamt sehr interessant und selbst wenn man irgendwo am Anfang dachte “ok, das gibt nichts mehr”, ergaben sich plötzlich wertvolle Gespräche.

    Ich selbst hatte zwei Themen (auch eher als Frage) vorgeschlagen:

    • WPF/Silverlight GUIs für Business-Anwendungen
      Das Thema dümpelte mit durchaus interessanten, aber recht allgemeinen Betrachtungen vor sich hin, bis plötzlich Lothar Grieb und ein Kollege ein Notebook mit einer Silverlight Business-Anwendung aus der Tasche zog, die im Laufe des Wochenendes durch eine ganze Reihe Details noch mehrfach für offene Münder sorgte.
       
    • WPF/Silverlight Performance
      Mit einer Reihe erfahrener WPF/Silverlight besetzt, war dies die Session bei der ich am meisten gerlernt habe. Der Arbeitsbereich User Interfaces und User Experience enthält eine Zusammenstellung von Links zum Thema.

    Die zwei Tage waren im Nu vorbei; was mir aufgefallen ist, dass innerhalb der jeweils einstündigen Sessions gar nicht die übliche “Konferenzmüdigkeit” zwischen Minute 30 und 50 eintrat, dafür war man viel zu involviert.

    Ich bin jedenfalls jetzt vom Konzept endgültig überzeugt. Und die Umsetzung (Veranstaltungort, Orga, Essen, Drumherum) war einfach Klasse, herzlichen Dank dafür an Torsten Weber, Alexander Groß, Stefan Lieser und Marcel Hoyer sowie weitere fleißige Helfer im Hintergrund.

    Wenn es sich zeitlich einrichten lässt, bin ich nächstes Jahr wieder dabei!