Michael Mahemoff is an Australian who graduated from the University of Melbourne, now works in the London office of Google. According to Mike, his distant ancestors were from Russia and Poland, but his parents were born already in Australia. At the recent GDD Michael made a vivid impression. Charismatic and emotional, he stood out even against the backdrop of the traditionally strong speakers of the Google team. This was especially noticeable on the hackathons, where he was the most interested and active participant from a dozen Googlers present. It seems to me that Michael Mahemoff is one of the rising stars of the new generation of Google inc.
Interview recorded by Czech blogger
Martin Hassman after GDDru
elgephest coordinator of
Kyiv GTUG Center (for help in the Ukrainian translation, thanks to
@MsCentaurea )
Michael Mahemoff works for Google as the Chrome Developer Advocate. He has been writing for Ajaxian for many years, and also in 2006 wrote the book Ajax Design Patterns, which was published by O'Reilly. He is the author of such useful tools as ListOfTweets.com , as well as the fun project IE6IsOlderThanYourGrandpa.com . He has a blog on Softwareas.com and is tweeting @ mahemoff .

Michael Makhemov at JSConf2010
You have been writing for Ajaxian for five years, i.e. You are closely following the development in this area. What do you think are the most important changes in JavaScript and AJAX over the past five years?There have been many changes, as in our understanding of JavaScript, which gradually improved, appeared, for example, libraries and tools such as jQuery and Firebug, greatly simplified the lives of developers. Another advantage was
significant increase in productivity. But, in my opinion, the turning point, after Ajax, was the recent emergence of new browser features. They are brought to life thanks to HTML5, CSS3 and other related technologies, such as geolocation services (for example, we can call all these technologies “HTML5” for convenience). After all, before, no matter how well you knew how to work with JavaScript, they did not give you the opportunity to create videos and rich graphics. To get the properties that modern applications required, we had to resort to using plug-ins, hacks and workraps. Now, thanks to HTML5, we were able to create many application programming interfaces / APIs that support these capabilities and have open standards. Unlike previous methods, they are based on open standards and are usually faster, safer, more powerful, and also easier to work with for developers.
')
Michael and Paul Kinlan at the Moscow hackathon (11.11.2010, GDDru)In addition to programming, you studied psychology. What is common between these subjects?Much. For example - artificial intelligence, which has always existed at the intersection of these areas and remains a fascinating topic for research. But over the past decade, User interaction has come to the fore, leaving a purely research niche and becoming a key discipline or sub-branch of modern programming. Now we constantly meet with reviews on products, and one of the factors that figure in them is the convenience of such products for the user; people expect an intuitive interface from the program. And you can create such an interface only by well understanding the peculiarities of human psychology. Psychology does not operate with bare theory, but is a discipline based on facts.
You wrote a book on Ajax Design Patterns. How did you move from writing and blogging to writing a book?The basis for the book became my blog posts on the same topic. I caught fire with the idea after seeing that the term Ajax was finally fixed in the language. People became interested, in my blog it was about several relevant sites (Delicious Popular etc.), and O'Reilly publishing house approached me with a proposal to write a book. I continue to publish in my blog excerpts from the materials included in the book, it is fully stated in the wiki-style. If I write another book, I’ll probably try to avoid the wiki-style and concentrate more on the blog or at least a wiki with comments. It seems to me that this is the best way to get feedback from readers, because people rarely edit long articles that are mostly written by one person and express only his opinion. (And if they edit, in half of the cases it's just spam!)
You've been working on TiddlyWiki for a while. This is a bit strange project, isn't it? What do you like about him?
Yes, I worked on TiddlyWiki at Osmosoft, an innovative group of British Telecom (BT), led by TiddlyWiki founder, Jeremy Ruston. But in fact, I started working on the code much earlier when I wrote articles for Ajax Design Patterns. Yes, this is a very specific project. I joke that I am one of the few people in the world who have been paid to create Internet applications that work with the URI format. At its core, TiddlyWiki is a one-page application created by combining HTML, CSS, and JavaScript in a single file. This alone was an innovation when we first created such a file. But what really sets it apart is its ability to save data to a local hard drive, without any browser extensions, and without using the HTML5 offline API. This is possible through the use of ActiveX in Internet Explorer, Mozilla's own API in Firefox, and thanks to the additional embedded file in other browsers. This means that you can easily create robust web applications and even "partisan" multi-user applications by simply stating the HTML file on a shared disk. Another interesting feature is the plugin system. Although TiddlyWiki defaults to a personalized wiki page, you can turn it into a blog, slideshow, or something else. I recorded a demo that shows
how to create a forum in 15 minutes . TiddlyWeb is also used for this, so the forum is completely on the server, although it is based on the URI file.
Michael on the hackathon Kyiv GTUG Center (Kiev, 10/23/2010)You love hackathons. What do you think their power is?Yes, I really like some hackathons. Programming as a discipline has both strengths and weaknesses. The main strength is that you can create something absolutely amazing in a single day! Or, even if most people cannot create something finished in one day, they will still succeed in something and, at the same time, they will learn a lot in the process. Thus, the hackathon is the triumph of an amazing creation of something new. After all, we can start the day by sowing the grain of an idea, and in the evening see its immediate embodiment! This is the nature of programming: a continuous stream of information and creation. In all of this there is also a social aspect - to make new acquaintances, work in a team, share experiences and learn something from each other. And these goals can be achieved as much as users want: after all, some prefer individual work, and this is also wonderful. In any case, an important feature of programming is that you cannot learn how to program just by reading or listening. We can argue about the reasons, but most developers will agree with me that you can understand the principles of work only by rolling up our sleeves and working on the creation of this code. Hakatons are an ideal environment for such work, a safe haven where the result obtained is not so critical, but there are many opportunities to get help and backlash.
Which of the hackathons in which you participated was the longest?In Bt we practiced a flexible approach, were eventful for three days. The whole point was to bring together all those interested in the project and to attract the attention of users to work with them together and that they immediately test our new developments. We could discuss our ideas and bring them to a new stage of implementation. Not everything went well. I felt that sometimes we needed more developers to achieve the right balance of power, taking part in such an event, focused on creating real products and presenting these products at the end of each day. Some were upset that this is how software should function on a daily basis, and not only in exceptional cases, but I believe that in a multi-level multinational corporation such “big explosions” is the best and most effective method. I believe that this is the right principle, and such events are really useful for the company.
So, in Osmosoft were hackathons inside the company? Why, in fact, should companies conduct hackathons?Yes, they are incredibly effective, and we spent them about once a month, because Osmosoft had many internal customers and external partners. Wonderful memories! We met clients in the morning, usually several people came. We agreed on the scenario of the event, discussed ideas and set priorities, and then proceeded to the actual hackathon and coding. Programming sessions lasted an hour or two, starting at 10 am, and lasted until 7 pm, when we presented the results of our work. Between the sessions, we held discussions to coordinate our actions and plan the next session. Ideally, we constantly went to GitHub or similar services, as well as tweeting about the event. The final goal was not only to present the results of our work, but also, before the end of the event, to provide public access to the web application that we developed (although in practice this was not always possible).
There are two important points to note. First, we could work very quickly, thus often surprising our customers. The reason is the emphasis that we did on reuse - each new project was an opportunity not only to create a new application, but also a whole range of new components that could be used in other projects. Not a great technical development, but just such a 50-line plugin as TiddlyWiki has become something really useful today. It could be a comment plugin, a graphic editor, or a text counter. Secondly, the very openness that accompanied the process of creating new products by the company was striking. We could afford it, because we created a shell that was based on plugins. Osmosoft as an open source software company created open source components, as well as applications that were essentially just a combination of these components. At this stage, BT could use the resulting developments and adapt them to their own needs, like any other company (like our external partners) could use them. Of course, in practice, we were only part of BT and provided direct support for customization and distribution of applications. But we have shown that even large companies can work with open source software, and also have demonstrated the advantages of hackathons.
Kiev 10/23/2010You started working for Google this spring as the Chrome Developer Advocate. How did you get this post? Did you yourself want to work at Google or were you invited by company employees?Someone from Google invited me to take part in the competition for this position, and then I went through the standard selection procedure.
Chome supports extensions, like many other browsers. But in each browser they are implemented in their own way. Does it not make sense to unify the interface so that developers have the opportunity to write extensions once and not adapt them for each browser?Obviously, a positive decision would be to write extensions once and run for many browsers; which would be a huge plus for web programming in general. The disadvantage would be the risk of prematurely stopping the development of the innovation process. The Firefox extension mechanism made it possible to create such wonderful things as Firebug, but at the same time it was difficult for the daily work of web developers and needed improvement, it was still very early to standardize certain things. I hope that now that Chrome has a shell extension suitable for web developers, Mozilla is JetPack, and Safari and Opera also have certain extension mechanisms, people will start drawing Venn diagrams and try to find a common basis for working with all browsers. But only if this does not prevent browsers from supporting innovation and development. Chrome recently introduced extensions that allow you to add extension commands to the context menu; this is one example of continuous improvement that should not be hindered by the standardization process.
How many GDDs will you visit this year as a speaker?I will speak as a speaker at three GDDs that will be held in Europe (in Munich, Moscow and Prague), at each of the events with two presentations: Expansion under Google Chrome and HTML or Native for Mobile Development. I will do the second report together with Android lawyer Reto Meyer, so I think the report will be interesting.
Have you ever been to Prague or is it your first trip? What do you most expect?I have not been to Prague, and I look forward to this trip. The most interesting event for me will be the pre-GDD event organized by GTUG. In the Czech Republic, there is certainly a strong developer community, so I look forward to meeting local developers and want to see how they will surprise me.
Martin Hassman interviewed Michael Machemoff before his trip to PraguePhotos from
Moscow and
Kiev hakatons.