About me
Short biography
I work as a Senior User Experience Developer for IdentityMine. This firm from Seattle is one of the leading companies in the field of advanced Microsoft technologies such as Windows Presentation Foundation, Silverlight, Surface computers, Windows 7 and generally User Experience. Employing developers and designers working closely together, IdentityMine was mainly active in the US market, before 2008 when it opened a european branch based in Zurich, Switzerland. I was IdentityMine's first european employee, based in Zurich, where I live with my wife Chi Meei and my two daughters Alise and Laeticia.
Between October 2007 and October 2008, I wrote the book "Silverlight 2 Unleashed", published at Sams. This book is a complete tutorial about the technology Silverlight, that Microsoft released in October 2008. It is filled with code samples and illustration in full color.
Originally an Electronics engineer, my interests moved to software very fast and I achieved a postgrade study in Software Engineering in 1999. Before joining IdentityMine, I worked at Siemens Building Technologies from 1996, where I helped introduce WPF and other .NET 3.5 technologies at Siemens worldwide. My job involved developing with the mentioned technologies, training and coaching my colleagues, coordinating and integrating the graphics designers' work, and relationships with Microsoft.
Prior to that, I first wrote embedded C/C++, and then moving to desktop computers in Java, JavaScript and eventually .NET (WinForms and ASP.NET).
Privately, I have also been very active, developing mainly websites and web applications in HTML, JavaScript, CSS, ASP and currently ASP.NET. I have done my best to contribute to the community, first in the JavaScript newsgroups, and then in Microsoft's newsgroups related to ASP.NET, C#, WPF and Silverlight. I blog regularly on http://blog.galasoft.ch and write on my website http://www.galasoft.ch where I also publish articles, prototypes and demos related to the mentioned technologies. In 2008, I also earned a MCTS for Windows Presentation Foundation.
2010 is my fourth year as a Microsoft MVP, first in ASP.NET then in Client Application Development and now in Silverlight.
Long story...
My name is Laurent, I am Swiss, born in Lausanne in 1971 (near the lake of Geneva). Currently I live not far from Zurich with my wife and my 2 daughters Alise and Laeticia.
I worked as a software engineer for Siemens from 1996 to 2008, and then for IdentityMine. My work has made me touch a lot of different programming languages and environment, starting with embedded C, and moving to embedded C++, then Java, and working with .NET technologies since 2002 (WinForms, ASP.NET, Windows Presentation Foundation, Silverlight). I am a Microsoft Most Valuable Professional (MVP) for Client Application Development and previously for ASP.NET. I am also Microsoft Certified Professional in the field of Windows Presentation Foundation.
School
I actually came to software engineering through an unsual way, having studied latin and other literary things in school. My dream was always to become a professional pilot for Swissair, in preparation of which I entered engineer school, specializing in electronics. During engineer school, I really fell in love with technology and understood that there was more for me in that than just being a bridge to pilot school. When Swissair closed its pilot school due to financial reasons just before I started taking classes in it, I was not that sad that it gave me the occasion to work as an engineer and to put in practice what I had learned.
First job
I started working for a relatively small company named Staefa Control Systems, which was making systems for building automation, especially heating, cooling and ventilation systems. This is when I started programming for a living, which led me 2 years later to follow a postformation in software engineering in the Engineer's school in Rapperswil. There I learned a lot of new things, especially OO programming, which very fast became one of my passions.
Web, JavaScript
Parallelly to this, I also started making websites (in 1997) for myself and for friends and studying other web-related technologies. I discovered JavaScript very early, and took a huge liking in this language. One of the reasons I like it so much is that it's accessible to everyone, because you only need a text editor and a web browser to start programming. So many non-software specialists program JavaScript, and many had questions to ask, so I started answering some of them in comp.lang.javascript, which gave me great satisfaction in helping other people feeling the same joys I did when I programmed. I quickly became proficient in JavaScript, and I am very pleased to see this language becoming more and more significant in the web, with AJAX and now Silverlight.
In 2002, I was contacted by O'Reilly to proof-read the french translation of their "JavaScript, the definitive guide", which was my JavaScript bible at the time (and which I still open to find references when I am not online). This work gave me great satisfaction, and a new experience.
Java
The web experiences I made led me to work with Java applets, and I specialized in "invisible applets", i.e. applets which are not visible on the web page, but which are controlled by JavaScript. One example of that is an applet which quite a lot of people downloaded, named WebLoadFile. This applet is able to connect to its own server and download a file's content, and then pass it to JavaScript. This allowed people to use pure client-side technologies to load files, check for their existence, make lists of files in a folder, etc... and was useful when you were not having the corresponding server-side technology (or that you were unable to use it for some reason). I now consider WebLoadFile deprecated, but it still works in the newer browsers anyway.
Visual Basic
The same year, I worked on a project in Visual Basic, which I didn't know yet. It was interesting to learn to know this language, which I still use to program macros (in Excel mostly) when needed. However, I never fell in love with the language, and use it only when I have to.
ASP, ADO
Privately, I started developing small ASP projects with ADO, mostly because I wanted to learn to know this platform, and I realized for example a DVD database which my colleagues and I use to lend movies to each other. That ASP experience helped me a lot to get the grasp of ASP.NET quickly and to help starting with the ASP.NET project I worked on these last 3 years.
.NET 1.0, ADO.NET, Interop
In 2003, I started my first .NET project at Siemens (which has, in between, purchased my firm), and realized a desktop application used to manipulate data in an Access database. As this was the first .NET project we did, I used the opportunity to make the UI layer in VB.NET and the business logic layer in C# to compare these two languages. I came very fast to the conclusion that VB.NET is not needed anymore, expecially if you knew C, C++ or Java before. All the strength of VB (rapid UI development especially) were available in C#, and since then I didn't touch VB.NET anymore.
As for the data access layer, the logical choice was ADO.NET. I was very impressed by the ease of use of that technology compared to ADO. Of course I was also very impressed by the ease of use of C# compared to C++, and I got to say, I will avoid going back to unmanaged coding if I can avoid it.
Finally, the application included a COM component (legacy) which had to be controlled from the managed application, so it was the occasion to learn how to wrap an unmanaged DLL, how to address it, etc... All in all it was a perfect project for learning, and also became a product that we use internally.
ASP.NET 1.1
In 2004, I had the great chance to be able to combine my professional skills (C#, .NET) with my private skills (Internet, JavaScript, ASP.NET) and started to work on a web application working as a "web companion" to our desktop product, which is a management station for building automation. We used JavaScript extensively (including web services, but without ASP.NET AJAX which was yet to come ;-) to improve the user's experience. Thanks to my prior experience in JavaScript, HTML, CSS, and .NET, I was in charge of coordinating the developers of the presentation layer of this application, and I also programmed most of the custom controls and of the "framework" that we used. For example, we implemented master pages in ASP.NET 1.1 (it's now included in ASP.NET 2.0), which was very interesting. We also use .NET Remoting for communication between the web server and the management station.
.NET 2.0, .NET 3.0
In April 2006, I started working on a new project, and spent most of my (professional) time in 2006 evaluating new technologies, creating prototypes and writing specifications for this project. On the private side, I moved my website to an ASP.NET 2 enabled ISP, and started writing more and more ASP.NET 2 code. This led me to spend a lot of time studying Microsoft's new .NET 3.0 technologies, which were in beta stage for most of the year, and to be more and more involved in the online community.
.NET 3.5
In 2007 and 2008, I have been coaching and training various teams at Siemens in WPF, developing some parts of the application, and spending private time to learn Silverlight and LINQ, two very exciting parts of the new framework 3.5. I visited Microsoft in Redmond a few times, and met a lot of incredibly talented people inside and outside of Microsoft, inside Siemens and from the WPF and Silverlight community worldwide. It's a great pleasure and honor to be part of such a lively group!
User Experience
During my 2007 and 2008 project at Siemens, I worked very closely with graphics designers and software developers. I was very involved in the wireframe creation (as technical adviser to our marketing department), in the definition of the workflows for the development and design. During the execution, I coordinated the work of the designers and integrated their work back in the application. During this phase, I collaborated with IdentityMine quite a lot, and we had to come with new workflows for an internation project of that size.
This is during this time that I understood that I really love this kind of work, and that, while programming is really my passion, I weant to combine it with my taste for design. Becoming a User Experience Developer seems to be the logical conclusion. I was really eager to join IdentityMine, on of the best firm in that field, and I was lucky that they accepted me as one of the family.
Certifications
I started a blog in June 2006, and tried to be helpful on various .NET related newsgroups. This and other related activities (public speaking, etc...) led Microsoft to give me an MVP award in ASP.NET in 2007, to my great pride and happiness.
In 2008 and 2009, Microsoft renewed my MVP, this time in Client Application Development, which corresponds better to my current orientations. The MVP title gives me many more occasions to meet Microsoft developers, to speak at public events, and generally to interact with this great community.
During the course of 2009, I had the chance to join the MVP expertise for Silverlight, a new and smaller group of Silverlight experts. This gives us the possibility to pass feedback to Microsoft, to influence the way that the platform is developed, to get very early versions of the platform and the tools, and to have very privileged contacts with the product team. In 2010, my Silverlight MVP award was renewed, making it my fourth year as a Microsoft Most Valuable Professional.
In December 2007, I had the opportunity to take part to the beta round of the newest MCTS exam about Windows Presentation Foundation. Since it was a beta exam, I was also asked to provide feedback, which I did. A few months later (after the beta evaluation, I got the news that I had passed the exam, and am now a Microsoft Certified Technology Specialist in Windows Presentation Foundation.





