Contents
The JavaScript Innovation Award of the Year 2013
Listen or download the interviews video, RSS feed
Watch the interviews video
Interview with Franz Josef Brünner, Austria (00:20)
Interview with Arturs Sosins, Latvia (22:41)
Interview with Jonathan Gotti, France (45:09)
The JavaScript Innovation Award of the Year 2013
The JavaScript Innovation Award is an initiative organized by the JS Classes site every month to distinguish the authors that submit innovative JavaScript components. Nominated authors earn innovation points for each package that is nominated to the award.
Every year the site computes a ranking of the authors that accumulated more innovation points. The authors that have earned more points are the winners of the year. In 2013 three authors got tied in number 1 of the innovation award ranking of the year: Franz Josef Brünner, Arturs Sosins and Jonathan Gotti.
This article presents interviews with each of the three winners so they can talk about their work and explain more in detail the purpose of their nominated packages.
Download Size: 56MB
Introduction music: Riviera by Ernani Joppert, Săo Paulo, Brazil
RSS 2.0 feed compliant with iTunes:
http://www.jsclasses.org/blog/category/podcast/post/latest.rss
Watch the podcast video
Note that the timestamps below in the transcript may not match the same positions in the video because they were based on the audio timestamps and the audio was compacted to truncate silence periods.
Read the Interviews Transcripts
Interview with Franz Josef Brünner, Austria (00:20)
[Music]
Manuel Lemos: Hello, Franz. Congratulations for being one of the three winners of the Innovation Award of 2013. How are you doing?
Franz Josef Brünner: Thanks. I'm fine, Mr. Lemos.
Manuel Lemos: Well, I hope you are happy with this award. I don't know if you were expecting it somehow. This year, we had three winners and it was sort of different than from other years on which we had only one winner.
Anyway, now talking about yourself.
Can you tell us a bit more about you, your name, where you live and what you are working on?
Franz Josef Brünner: Yeah, absolutely. My name is Franz Josef Brünner and my nickname is just Josef. I live in Schladming, Styria. That's the Federal State of Austria and Schladming is the place where the ski world championship, for example, took place last year. For those who are ski fans know exactly where it is. So, that's where I live.
And I work as a Web developer at an advertising agency in Salzburg, Austria and I currently work on PhoneGap applications for Android and iPhone that can track your fitness progression. And it's for some fitness studios in Germany, Switzerland and Austria. So it's in fact international exactly.
Manuel Lemos: Wow, sounds interesting. Well, I supposed you probably are getting a lot of cold, a lot of snow probably where you live, right?
Franz Josef Brünner: Yeah, yeah. Now, we have got about approximately 20 centimeters new snow lands. Yet, no problem to skiing around.
Manuel Lemos: Yeah. Well, I bet ski fans would love to live where you are now as long as they don't have any accidents in the lanes.
Franz Josef Brünner: Yeah. Absolutely. Hopefully not.
[Laughter]
Manuel Lemos: Well, it's good to know what you're doing. But this year, you've won with not so many nominated packages but there were a couple that were quite interesting.
I wonder if you could describe them a bit to us and tell us what they do, And also, why did you develop them?
Franz Josef Brünner: Yeah, the first package if I remember correctly was the Template JS Engine that hosted last year.
Manuel Lemos: If you can share your screen , it would be fine.
Franz Josef Brünner: Of course. This package, it's actually a little package but it turned out that it's very useful because it was awarded and that's why I was pretty happy.
Manuel Lemos: OK, you need to click on the start screen sharing button so it appears on your...
Franz Josef Brünner: Oh, I'm sorry.
Manuel Lemos: OK, there it is. This one is the... Can you scroll...
Franz Josef Brünner: It's Template JS... Pardon me?
Manuel Lemos: Can you scroll a bit upwards? OK, the title of this one is... upwards... Template JS Engine. OK, there it is.
Franz Josef Brünner: Yeah, the Template JS Engine has actually been made because from time to time, I have to pass data that comes from the server and printing this data out.
It's pretty, it's pretty most use cases especially PhoneGap apps that make API calls and it was always annoying to pass data or to get the data that is nested within objects. So this was the main reason for developing the Template JS Engine.
Manuel Lemos: Right. So you are using it on your PhoneGap applications, right?
Franz Josef Brünner: Exactly. Why not put up web projects, not just mobile app projects and other projects, too, I think.
Manuel Lemos: Yeah. So, out of curiosity, do you feel there are many differences between real Web environments for your classes to run and the PhoneGap environment? Or it's really portable?
Franz Josef Brünner: In terms of writing up until now this JavaScript, it's the same. But when you have to use plugins or something like that or your app relies on native codes that can... when you have to make push notifications, then you see the difference.
But actually, it's almost the same in comparison with normal Web apps, exactly.
Manuel Lemos: Yeah, that's good to know. So the other package that you also developed and was nominated...
Franz Josef Brünner: Yeah, this was the OPTICS Algorithm. And the long name is actually 'Ordering points to identify the clustering structure'. It's a ten-spaced clustering algorithm, so it's perfect for analyzing points in a two or more dimensional space find clusters. It can be used for different types of data too like when you find images.
Manuel Lemos: Yeah, if you can also switch to the window of that. OK. OK, you can see it now.
Franz Josef Brünner: You can always analyze data like pixels from image that are more equal to each other, others in terms of their color and general value. So that must be the clusters.
Last year, I worked on my second bachelor thesis and this package was actually a practical part of my thesis to find good or best input values for algorithm with the aid of Web workers. Fortunately, this package made its way to JS Classes, too.
Manuel Lemos: Yeah. That's good to know. So this was more of an academic work?
Franz Josef Brünner: Yeah, exactly.
Manuel Lemos: So, you did not use it in a project where your work.
Franz Josef Brünner: Not project. So far, yeah. Yeah, I've tested it. I have tried it. I have implemented tests for it, to test the production code.
So far, it didn't throw any errors. Despite the fact that when you want to run it in the Google Chrome browser, it throws an error, because there's a bug, a Web worker bug that is three or four years old and you can't make an instance of a Web worker within a Web worker.
So there's no way to make nested Web workers or to make a Web project with nested Web workers, that will throw an error in the Google Chrome browser. In Firefox, it works pretty well.
Manuel Lemos: Well, there are always challenges to the code really portable.
Franz Josef Brünner: Exactly.
Manuel Lemos: But I find it quite impressive and it's not usual anybody submitting packages that are based on features described on academic papers. So, congratulations for your submission. It was really impressive.
For the people that is not familiar with this algorithm, are there any practical uses of this package that you would like the mention that probably can be useful for anybody?
Franz Josef Brünner: I hope so. I hope so.
Manuel Lemos: Do you have any examples top of your mind that you'd like to mention, applications for this algorithm?
Franz Josef Brünner: Actually not. As I said, I have used it not practically in any of my former Web projects or current projects. I can't show you any practical examples, I'm sorry. My thesis, it was the end of this package to use. So, yeah. It's a pity, it's pretty sad, I...
Manuel Lemos: But it's fine, it's always interesting.
Anyway, other than your packages, are there any other packages of other authors that you have noticed that you were more impressed, that you'd like to mention?
Franz Josef Brünner: Yeah, this one. Mr. Arturs Sosins. I hope I pronounced his name correctly. It's very impressive that he has already accomplished and uploaded a lot of classes and all are useful and innovative.
By the way, I actually got a member from him because one of his packages called QR Code. This package I have used in one of my projects.
Manuel Lemos: Which one is that? I don't know if you can share it on the web page.
Franz Josef Brünner: Yup, I hope so. All classes, just one minute. QR Codes, this one.
Manuel Lemos: OK, all right. Can you scroll a bit. Probably reduce the zoom because it's overflowing. Yeah, that's better now. Can you scroll a bit downwards so we can see the package? OK, yeah, from Arturs Sosins.
I'm glad. He'll be happy that you mentioned his package.
[Laughter]
Manuel Lemos: So you also used this on your projects, right?
Franz Josef Brünner: Exactly. It was a...
Manuel Lemos: It is based on the Google Charts API which is a Web service.
Franz Josef Brünner: Exactly.
I've used it in multichat, road check called Fullback. It uses the Web RTC API from Google and this package did a great job. It fitted perfectly as described. That was at the beginning of the last year and that's the rock that got everything going and made me sign up on JS Classes.
Manuel Lemos: That's good to know. So it was a great motivation.
Franz Josef Brünner: Yes.
Manuel Lemos: This is interesting. I don't know if you wanted to mention any other package or this is the most important for you.
Franz Josef Brünner: In terms of signing up, definitely.
Manuel Lemos: OK. So I think you can stop the screensharing on your side. OK, back to you.
Now, carrying on with this interview.
One thing that I've always wondered is your participation in the JS Classes and the JavaScript Innovation Award that you got few nominations throughout the year, I was wondering if your participation already influenced your career somehow?
Franz Josef Brünner: Yeah. I'm sorry to disappoint you. Actually, I've studied informatics and I've specialized in Web app technologies.
And for me, it was pretty set up that after my study to do something professional with the Web and it has always been interesting technologies in general.
But yup, I love programming in JavaScript despite the fact that it has got some peculiarities and pickyness must be overcome. But that's why I'm also a great fan of JS Classes.
Manuel Lemos: Yeah. That's OK.
Anyway, other than that, I don't know if you have any other plans, if this award somehow motivated you to participated with more innovative package in the future?
You don't have to tell about any ideas. I'm just wondering if somehow it is motivating you to participate more.
Franz Josef Brünner: Of course, but yeah, I prayed that I have got time in this year to make at least one class that is useful to some people who are thinking about useful for projects.
It will be easy to me because there are lot of projects ahead in the upcoming months, so I've got plenty work to do that supplied me with new ideas.
But I promise, when I upload a new class, it's a for a reason, it's for a practical reason that I find some projects could be proceeded easier through this class. That will always be my main aim, to make life a little bit more comfortable to Web developers and its designers.
Manuel Lemos: So we'll be waiting to see if you have any more interesting, innovative packages.
I think you also are aware that starting this year, there'll be a new thing which is the championship of the nations. So the Innovation Award, instead of being just a sort of competition between individuals, it will also be sort of a competition between nations.
So, if a nation has more contributors being nominated, it will rank better in the nation's ranking. And by the end of the year, the nation that gets more points will be the winner of the year.
I wonder if you plan to encourage more authors from your country to also win the Innovation Award of the nations?
Franz Josef Brünner: Yes. I've already informed some of my former study colleagues that JS Classes already did a great job in helping out with projects.
And actually, they found it strange that I was the first member that came from Austria. They actually this something for JS Classes for they hope that my classes and my future classes will have some influence on some Austrians to participate and probably to contribute new packages.
Manuel Lemos: Right. Well, that's good to know and we'll be waiting for more Austrians to participate.
Franz Josef Brünner: Yeah, I hope so.
Manuel Lemos: Well, now, just a few questions about your impressions about the site.
I wonder if you could tell me one thing in particular that you like about the JS Classes site?
Franz Josef Brünner: Yeah. Absolutely. It's the how things classes or packages themselves... time JS Classes like Stackoverflow saved my life many times when I was a student.
And that's why I wanted to give back to your community. As I said, one of the classes of JS Classes helped me perfectly in my former projects. That keeps me doing something for the community.
Manuel Lemos: Well, that's great to know that site is helping out despite its much smaller than its...
Franz Josef Brünner: Life-saving, life-saving.
Manuel Lemos: Yeah.
[Laughter]
Manuel Lemos: Despite it's not as big as PHP Classes, JS Classes is also being helpful to several people.
Franz Josef Brünner: Yeah.
Manuel Lemos: Now, another thing that I would like you to also tell me is about anything that you probably did not like or you think is missing in the site and it could be improved. Do you have any ideas?
Franz Josef Brünner: Yes. I want to see featured classes on the homepage. Right now, it's been locked in.
Manuel Lemos: Yeah.
Franz Josef Brünner: It's a very interesting table that shows which class is currently favored. And at the same time, this table motivate developers to making classes.
All jokes aside, it's actually the different kinds of ranking that are not easy to understand for beginners. But you have to see my points too, because I have to nag at such a thing like ranking.
But cause JS Classes is actually perfect, and actually not be made any other improvements. It matches perfectly, fits perfectly for developers. And the style is good and just perfect.
Manuel Lemos: So, what you have in mind is probably something like... Here there is something that is called Notable Classes, but in the JS Classes site it's not yet enabled for other users to see, so probably I think before your packages were nominated you probably got a notice that your package were considered notable, right?
Franz Josef Brünner: Yeah. It was a couple of months ago. I think, yeah.
Manuel Lemos: Well, usually that happens when the notable classes appear for premium subscribers. But since the premium subscriptions are not enabled in JS Classes, that's why you do not see them in the homepages.
Franz Josef Brünner: As I said, it's almost perfect. So I have commented something, to tell something about any improvements to it or something if there's an error or something like that.
Manuel Lemos: It's OK. It's always interesting to know what users are missing because there may be always important features that should be worked on.
So now, we are practically ending this interview. I want to thank you for coming. Congratulations again on your award.
And I'm just wondering if there's anything else that I did not ask that you'd like to mention?
Franz Josef Brünner: Yes. I have got an advice to those that might be thinking of uploading new classes. I think I've got a good approach to those.
When you think about the projects and the times you thought you have great to have a tool that does a pre-calculation or pre-processing to overcome a certain problem or to find a solution for a certain problem that might be facilitating these classes, practically think of practical reason what this or that package would be good to develop. Just think practically, then the ideas come very easily. That's my advice to the beginners, for example.
Manuel Lemos: OK. That's great. I hope they all listen to you.
Franz Josef Brünner: Yeah, I hope so too.
Manuel Lemos: OK, thank you again for your participation. I hope you make time to participate more.
Franz Josef Brünner: Yeah, I hope so too.
Manuel Lemos: OK.
Interview with Arturs Sosins, Latvia (22:41)
Manuel Lemos: Hello. This time we are interviewing Arturs Sosins. Hello, Arturs. Congratulations for being one of the three winners of the Innovation Award 2013 of JavaScript in JS Classes.
Arturs Sosins: And actually one of the three first Innovation winners, as well.
Manuel Lemos: Yeah.
Arturs Sosins: It's basically the first year that's...
Manuel Lemos: Yes, that's true. The last year, it was the first time that we started this, after that marathon on which you also participated to reach the goal to have 200 packages published in the JS Classes site.
And it worked pretty well. It actually got the goal earlier than when it was expected because there was an increase in the rate of submissions.
So this year, you were actually participating. And that's why you are here having this interview. There is an interview for each of the three winners and this is your time.
So as if nobody knows you already, can you tell just a bit about yourself, your name, where you live and what you work on?
Arturs Sosins: Well, my name is Arturs. I am from Latvia. And I have a lot of experience on Web development. I worked with the backends and frontends and designs.
Now, I work on something completely other basically, but still I like Web development and I kind of still sticks with some of the projects and were trying creating development projects in my spare time.
Yeah, basically, these submissions that I had this year all came from my spare time, nothing...to-do fun kind of stuff or something like that.
Manuel Lemos: Right. But are you still working with JavaScript?
Arturs Sosins: No. Actually, I'm doing quite a lot of stuff. We made a company that now provides development services to other different companies. So mostly, I work now with Lua and C++ binding, also Android, iOS and mobile technologies, mostly.
Manuel Lemos: Well, Lua is almost JavaScript.
Arturs Sosins: Yeah. They are really similar and when switching between them it's actually kind of difficult to do so, because of the similarities there.
Manuel Lemos: OK, so let's talk a bit about the nominations that got you this award. I think there were three, right? Can you please describe them and also tell us a bit why you did develop them?
Arturs Sosins: Yeah, the first was JavaScript component that made the HTML elements to do the Harlem Shake dance.
Manuel Lemos: If you can also show them on screen.
Arturs Sosins: I think there should be a demo there. So let me try to zoom it. Yes, well, basically there was a popular meme with a Harlem Shake dance. And I was actually expecting a ...
Manuel Lemos: Michael Kimsal to dance the Harlem Shake.
Arturs Sosins: Yeah, I wanted to do that on the podcast but for some reason I don't remember if I was busy. It was really hard to make Michael do the Harlem Shake. That actually did not work out.
Well, it's actually probably not so cool without music. But as you see, it apply CSS styles of animations just with the rhythm of the Harlem Shake music.
So, it's actually, as I said, it was kind of fun project that while building, which I also learn about CSS frame animations. That basically was my goal and I like to create some kind of fun project stuff and learning new things.
So there is no more purpose for this kind of class than just offer a popular joke, prank and something like that.
Manuel Lemos: Right. Well, at least you learn about frame animations for using CSS. And now, I'm sure you can apply that knowledge to something else other than some hot dance.
[Laughter]
Arturs Sosins: Well, OK, the next one was a Fallout 3 Terminal Hack. I don't know if there will be proper demo for this.
But basically, my friends were always telling me that I spend too much time coding. I'm coding at work, I'm coding in my free time. Basically, that is my passion and I spend lots of time to it. And so, my friends made me code a game, which was the Fallout 3.
While I was playing it, there is a small mini-game that makes you guess the password from the... I can't really remember what it was exactly. There was a mini-game that made you guess... There was a lots of letters and you would need to find the combinations of the passwords.
For example, I think you could enter lots of anagrams and it will say which letter was in which position. And based on this, you would need to guess the password to hack the computer. And it was kind of difficult thing to do. So again, I started coding and created the component that would help me to solve it.
I'm really sorry, I can't remember now any example, but as you see, you basically enter some kind of multiple letters that would be inserted into the library. And it would suggest what you should try best and it will then provide how many letters of the best suggestions were correct and it will suggest you the next but best word and so it will help you to hack the Terminal.
So, even so, my friends tried to made me play the games, so it's again till now something I was coding. That's just the way I am.
Manuel Lemos: Don't worry, the world is not complaining.
OK, and the third one.
Arturs Sosins: And the third one, so let me find where it was. Yeah, well, it is that version of the Opera Notes.
I was very, very disappointed when they dropped the support for the actual Opera Notes. And so, I created my own version with my own enhancement. And which I'm using and it's now actually, even cross-browser compatible. It can run in many browsers, not only Opera, and I'm actually using it quite a lot.
This is just an example how you can create multiple notes and lots of new features like tabs. You can print, you can do an import. You can even change fonts, or font sizes. The same version that was in Opera with lots of enhancements and working in many browsers.
Manuel Lemos: Yes. So this is sort of a better version than Opera Notes.
Arturs Sosins: Yeah. Well, I tend to think so, probably maybe would be not as fast. This is a native option. Well, nowadays, I don't think it really matters much because the JavaScript is quite efficient.
Manuel Lemos: Well, it's good to know. Now, I'm wondering, moving on to other interesting questions.
You've been participating, helping in the JavaScript Hangout. So, we already know your opinions about certain things that you also helped to comment.
Anyway, I would like to ask you again if any of the packages from the other authors in 2013, from those that were nominated, anyone that got you impressed that you wanted to highlight?
Arturs Sosins: Well, usually I'm quite impressed with some kind of single-purpose small component which does exactly what I need, that would be if I would still be working more as a developer.
But for now, I'm actually usually excited for components that implement some kind of games in the JavaScript basically. There were a few submissions like that in the Innovation Awards.
There was a, I think, a memory game developed by one author. I can't remember the name. Let me check. That was...
Manuel Lemos: Mark Rolich.
Arturs Sosins: Mark, yeah, exactly.
There was also like Sudoku game with interesting that was with some pictures that you could arrange.
Manuel Lemos: Picdoku.
Arturs Sosins: Yeah. Picdoku.
Manuel Lemos: From Randal Allen Anderson.
And what else?
Arturs Sosins: Actually, that were quite the packages that I always like to check and try them out. I hope there will be a lot more sophisticated, even graphically sophisticated games this year. Because, well, it's never boring. If there's one like that, please let me know.
Manuel Lemos: Right. There was one... I thought you were going to mention... There was one... But it was not exactly a game, it remember your Harlem Shake component, which is the jQuery sheep, one that animate sheep around the page.
[Laughter]
Arturs Sosins: Yeah.
Manuel Lemos: I don't know. But then, it's not a game, but it was interesting.
Arturs Sosins: Yeah.
Manuel Lemos: Well, OK, other than that, let's move on.
One thing that I also want to ask if your nominations throughout the year in the JavaScript Innovation Award, if they have somehow influenced your career, what you do, the way your work is seen? Anything?
Arturs Sosins: Well, I don't know. It's hard to divide between JS Classes and PHP Classes but well, I probably started first with PHP Classes and now more actively participating in JS Classes.
But both Web sites and the Innovations submissions and awards had build much more confidence in me that I can create innovative things. I can think of something and create it and share it with others without hesitation.
And from the career perspectives, even so I'm not working in Web development, I still receive lots of messages from both PHP and JS Classes to do either some work that were similar to my component or to adapt my components to other works.
So that definitely gives a lot of boost. And especially, if you are freelancing, that kind of exposure really provide you advantages in finding freelance work.
Manuel Lemos: Yeah, that's good to know.
Well, now that you've won the Innovation Award even though you're tied to other two, it does not take you demerit.
Are you planning to participate with even more innovative package in the future?
Well, you don't need to reveal your secret but just wondering what are your intentions.
Arturs Sosins: Yes, actually, I think things got interesting. You're going to probably kill me for saying that, but we are exploring how Emscripten can export our apps into HTML platform.
So, probably lots of additional components should be written in JavaScript to do that. That will be something that we'll also be submitting to JS Classes.
And of course, other maybe not so work-related but interesting stuff that I will try to learn and do. My first thought is always so I can submit it to JS Classes and get a feedback from other developers and see how it goes and see if it's something that someone needs.
Manuel Lemos: Yeah, well, as long as it is innovative, it doesn't matter if it was done with Emscripten.
[Laughter]
Manuel Lemos: It's still JavaScript, that's what matters.
Well, anyway, one other thing that I also wanted to ask is regarding the nation championship that this year is starting.
So from now on, starting already with the nominations of January, there will be a sort of championship of the nations. Actually, there is already a ranking of the nations in the Innovation Award. You can see in the winners' page. There is a ranking for winners for 2014.
Arturs Sosins: '13, yeah.
Manuel Lemos: By country, and also all-time winners. And if this championship award already started in 2003, this year the winner would have been Romania, with six packages and 15 points. And your country would have been in fourth, with three packages which were actually yours, with 12 points.
Arturs Sosins: Yeah.
Manuel Lemos: So, my question is are you willing to motivate somehow your country fellows to submit more packages to the JS Classes site, so your country can win this time?
Arturs Sosins: I actually already approached some JS community here in Latvia. I did not know much of the folks there but we became friends.
And I talked to them and they were actually impressed. They did not know about JS Classes or the competition. They said that they would look out for it and if they see that Latvia could win and it needs a push definitely they'd participate. But what they were shocked about, that they would be receiving a PHP elePHant.
[Laughter]
Manuel Lemos: Yeah. Well, maybe, maybe, there will be a different mascot till the end of the year, I'm not sure. But that's the default award because this all came, started from PHP Classes site, and that's exactly the price that you get from there.
But if there is any JavaScript elePHant mascot, we can always change the label and put JS on the side instead of the PHP. We could just draw on the side and it will...
Arturs Sosins: We probably need to color him also.
Manuel Lemos: Yes, probably change it to green or some other color. I don't know, because unlike PHP JavaScript does not have a mascot and identity until very recently, there is not even an official logo for the JavaScript. And OK, maybe until the end of the year, things will change. That does not depend so much on the JS Classes side, because it's only a small part of the JavaScript community.
It will be more interesting, the more official initiative was started in PHP. It was started by a French that created this elePHant, has made it a logo, a symbol of PHP. It's still not an official symbol because the PHP group doesn't care much about that. They only care about programming in C and then develop the PHP engine.
So, there is a PHP logo but it's sort of a bit too simple. It's probably like the JavaScript logo, but well, we'll see until the end of the year. Maybe the JavaScript community does anything towards that need that I think it exist in the JavaScript community for this.
Well, anyway, now we're practically reaching the end of this interview. Just wanted to ask just a few questions regarding specifically about the site.
First, one thing of the site that you like?
Arturs Sosins: Well, actually, I enjoy competition, so I like any aspect of it on the JS Classes, starting from the Innovation Awards to the Tops, both of downloads or packages reviewing or referring, everything about the competition. I'm quite competitive, so that's what I love best of the site.
Manuel Lemos: OK.
And now, I would like you to tell me one thing that you do not like or you think it is missing and you would like to see be added or improved in the site?
Arturs Sosins: What probably I would like to see in the site would be running components in the browser, on the JS Classes that would make it a lot easier for me to test the components and see what they do.
Because, well, I usually try to check them and I need to download each of them and try them out in the local server or something like that, but it would be...
Manuel Lemos: It would be something like JS Feed or similar to do that.
Arturs Sosins: Yeah, yes. Something like JS Feed would be great, awesome.
Manuel Lemos: That's interesting. Somebody already suggested that before. So I think there is good demand and it makes perfect sense.
So, we practically ended this interview. I'd like to thank you for your participation. Congratulations once again. I just want to ask you one final question.
Is there is anything else that I did not ask and you would like to mention?
Arturs Sosins: Not that we did not mention it, but I want to emphasize it. JS community, we need to log off for the JavaScript.
Manuel Lemos: Yeah. That's a good message. I hope somebody listens to it and starts getting ideas, and so we can produce mascots and send them as prizes to them.
Arturs Sosins: Or else, thanks to Manuel and JS Classes, I think many will think that PHP elePHant is a logo of JS.
[Laughter]
Manuel Lemos: Yeah. And once there is a logo and a mascot for JavaScript, I'll start giving it away as prize to the PHP Classes winners.
[Laughter]
Manuel Lemos: OK, thank you again. Bye.
Arturs Sosins: OK, bye.
Interview with Jonathan Gotti, France (45:09)
Manuel Lemos: Hello. Finally, this time, I'm interviewing Jonathan Gotti from France after a long struggle from Google Hangout to record this interview. But finally, we made it.
Hello, Jonathan. How are you doing?
Jonathan Gotti: Fine, Manuel. And you? How are you?
Manuel Lemos: I'm a bit stressed out with all these Hangout settings. But finally, we managed to get it going. And as with the other two winners of the Innovation Award, it's great to have you here for an interview.
First of all, congratulations for this JavaScript Innovation Award 2014. You certainly deserved it, so congratulations.
Jonathan Gotti: Thank you very much.
Manuel Lemos: Actually, I have known you for years, because not only have you been a contributor of JS Classes, you've also been a contributor of PHP Classes.
I remember you sent also some innovative classes for PHP Classes, some of them somewhat related with user interface components. I think it seems to be something that you like, right?
Jonathan Gotti: In fact, I'm not coding PHP so much lately. I'm totally devoted to JavaScript now.
Manuel Lemos: Yeah, well, that's also good. So it is great that you have been submitting some innovative components.
So for those that do not know you well, can you please just talk a bit about yourself, your name, where you live and what you work on these days?
Jonathan Gotti: So, I'm Jonathan Gotti and I am 38 years old. I'm living in Paris, in France and I'm actually working on JavaScript every day. Before I was coding PHP for 13 years and now, I'm making JavaScript...
Manuel Lemos: Right. So you are working on your own company or are you working for some other company?
Jonathan Gotti: No, no, no. I'm working for a leader on cloud computing, cloud storage, in Europe named OoDrive.
Manuel Lemos: OK. And so you developed the stuff in JavaScript for that company, right ?
Jonathan Gotti: Right.
Manuel Lemos: Well, so it was great that this year, you have been nominated like three times. With that, that allows you to reach this position tied with other two winners. So, let's talk a bit about your contributions.
Can you tell what each of the nominated package is first and somehow explain why you developed them?
Jonathan Gotti: Yes, yes, I can. You want me to screenshare?
Manuel Lemos: Yeah, that would be great so you can show any aspects of your packages.
Jonathan Gotti: So, here is the first one. Its name is Tutechie. It's a library to handle touch events on the mobile and also to mimic behavior on desktop.
So by binding events to the tap events, it will work in the mobile and on the desktop with a mouse with no effort. The purpose of this library was because we were working on a project for PhoneGap and we want it to be able to run on the desktop with the same experience for the user.
So, we want the code to be really small and to be compatible with desktop and mobile. So that's the real purpose of this library.
Manuel Lemos: Right. I found that library very interesting and I even wanted to take some time to actually study it. Because it seems to address a problem that many developers have, which is to develop mobile applications that also recognize the gestures of touching the screen, wiping and all those types of gestures which are not usual in desktop applications.
So can you tell a little bit more what exactly your library can in terms of handling those different types of events?
Jonathan Gotti: Yes, yes. So, basically the tap on the mobile is just a left click on the mouse. Swiping, pinching in and out is binded to the wheel mouse. And a long tap is binded to a long press on the left mouse.
Manuel Lemos: Yeah. You mean probably for non-touch devices, those that support only regular mouse events, right?
Jonathan Gotti: Yes. That's exactly that.
Manuel Lemos: And so, for those devices with real touch screen you can recognize those events, pinch and zoom, and so on.
Jonathan Gotti: And so on and it will work same with the same code. You have not to bind from the mobile and to the desktop. It will be handled for you. It's working on top jQuery, of zepto and also a library we will talk about later, Basic Compat, which I made in the same time.
Manuel Lemos: Oh, that's interesting. So let's talk also about those other packages.
Jonathan Gotti: So Basic Compat is another library I made to work with Tutechie and for the same project. The purpose of this was to be really small.
So, we don't want it to use jQuery because it's too fat for the mobile in all sense. And we just wanted the API we need and not all the jQuery API.
We had to look into zepto, but zepto seems too fat to us. Also, zepto didn't work exactly the same way as jQuery for the query selector. So, we were developing Basic Compat and released the Basic Compat just in three months, minimal.
I have sometimes used up Basic Compat when I really need it, but I don't use Basic Compat every day. Basic Compat is really targeted to mobile or to small application. When I need something more complex, I use jQuery.
Manuel Lemos: Right. So you said that both jQuery and I think zepto which is also sort of compatible library with jQuery, you said, too fat for mobile devices. Did you find many challenges and what kind of device did you find difficult?
Jonathan Gotti: They work well. I didn't want to say the account work on the mobile. They work well, there's no problem with those library, but we wanted to reduce the bandwidths to maximum.
Manuel Lemos: Oh, I see.
Jonathan Gotti: So we wanted something with really less code possible and that's the reason why we developed Basic Compat. Basic Compat is very tiny in regard to zepto or jQuery.
Manuel Lemos: Right. So, you used those with PhoneGap applications, right?
Jonathan Gotti: Yes, totally.
Manuel Lemos: That's good to know because in the other Hangout that we did with the winner of the Innovation Award of the PHP, he suggested for PHP Classes and eventually JS Classes also to have a native application for installing in smartphones and have access to all the things that the author want to do and to follow forums so they can get support and so on.
So, maybe this is interesting to also take a look because it seems you have addressed an important concern of making mobile applications and probably also mobile pages from mobile sites to also be lighter. So that's interesting.
Jonathan Gotti: Thank you.
Manuel Lemos: OK, so that's the second, right, that was nominated?
Jonathan Gotti: Yeah. So the third one is D.js. I named it D because it's deferred and I like short names.
[Laughter]
Jonathan Gotti: So, it's a library about Promises. Promises just make it to the JavaScript stand up, no?
Manuel Lemos: Yeah.
Jonathan Gotti: It will come in the next version of JavaScript. It's basically a way to fight against the callback hell we encounter in JavaScript world because we put callback into callback into callback and this library tried to implement promises.
At the time I made the D.js, promises were not so well-known and it was just a way to add promises in new application. It works on Node and in the browser. It has support for browser from IE 7. Perhaps it works on IE 6 but I didn't test it.
And it has some more API and basic promises of JavaScript. Typically...
Manuel Lemos: So, for those that are not familiar with promises, basically, I'll try to explain. So, let me know if I'm explaining it accurately.
So it's basically a way for you to define code that will be called upon the result of some asynchronous operation, like for instance, accessing some file, or on the case of webpages for instance, sending AJAX request.
And depending on if it succeeded or not, it will eventually show, call different code upon whether it's succeeded or failed. Am I explaining it accurately at least compared, that your library works?
Jonathan Gotti: Yes, totally. You said it exactly that. It's a nice way to rewrite asynchronous code and to make it more natural to write.
Manuel Lemos: Right. So but your library, is it more for Node.js or it can work with regular browser application?
Jonathan Gotti: It's made for both. For browser at first, and I made it for Node.js too in the meantime. So, it work very well in whichever you like. You can work with it on the server, on the browser, that's no problem.
Manuel Lemos: OK. That's great.
Congratulations for your packages. Like those of the other winners, they are very useful and innovative, which is why they are nominated.
So, I wonder, apart from your own packages, are there any packages from other winners that were nominated in 2013, if you would like to highlight any that you find more interesting?
Jonathan Gotti: Yes, there's two of them I want to talk about. The first one is secStore.js from Jason Gerfen, I hope I say it well, because it's an abstraction of the storage, of the client storage, with the local storage, system storage and cookie.
And it use encryptions to encrypt data on the client side. It made it clear that you can't just put a key in your browser and it will be clear, so it will not be secure at all. But I think it's nice to see a library to address security issue. And stocking data encrypted is better than stocking data like it is in the browser.
Manuel Lemos: Right. Any other library, package, that you wanted also to...
Jonathan Gotti: Yes. So the other one, I didn't know very well, but it seems to me very innovative. It's OPTICs from another winner. It's... I'm looking for his name... Franz Josef Brünner and it seems very academic. It seems really interesting. I can't say I have tested it myself, it's not true. But I think it's one of the more innovative apps there.
Manuel Lemos: Right. That's true. Actually, Franz was also interviewed for being also the winner and he also commented about that package. It's innovative despite being somewhat academic in terms of what it does. So, it is very interesting.
OK, well, anyway, one thing that I was wondering, now that you have won the JavaScript Innovation Award of the year with several nominations, I was wondering if somehow your participation has already influenced your career in any way that you can see?
Jonathan Gotti: Not at all. Because I am in the Web development industry for 14 years now. Actually, I don't communicate on my participation on the Web, on Open Source world, so it's not participating in my career for now.
Manuel Lemos: OK, that's OK.
Well, anyway, did this award you won with other two winners somehow motivate you to participate with more innovative packages? Do you have plans for anything?
Jonathan Gotti: Yes, surely. With or without winning this award, I like to share my work and when something is useful to me, I think it may be useful for others. So, I'm very glad to share it with other people and I hope someone will find it useful, too.
Manuel Lemos: Right. That's good to know. So we'll be expecting your great contributions, that we can count to be of great quality.
Other than that, as you may know, starting this year, I mean 2014, there will be a nation championship for the Innovation Award which basically is to gather all the participations of different winners of each of the countries and add the points and make a ranking of the contributions, sorted by country.
So in the end of the year, the country that accumulates more points will be the winner of the year and there will be a special prize. This is made somehow to encourage authors not only to contribute by themselves but also encourage other authors who are also talented from their own countries.
So I was wondering if you plan to encourage authors of France, colleagues or friends that probably live in different cities or friends who also encourage them to participate. Have you thought about that?
Jonathan Gotti: I'm always trying to make people participate in the community. So, the nation's award will be one more occasion to say it to my colleagues, to participate in the community and to make some commitments.
Manuel Lemos: Well, that's good to know. So we hope to see also more contributions from French developers. I'm sure there are many talented developers from France, such as yourself. And so, we'll be waiting for those contributions of other authors, too.
Well, practically, we are ending this interview. Just would like to make a c couple of questions very quickly that I ask all the winners since you have your experience at the site somehow.
First, I would like to ask you to tell me just one particular thing that you like in the JS Classes site.
Jonathan Gotti: I like to find resources and to be able to work between developers. The social aspect of the site is interesting because it shows the coders all around the world sharing their job and that's great.
Manuel Lemos: Right. It's good to know that you see it that way.
Now, the other question is, we ask you to be very honest and tell me one thing that you do not like or feel it is missing and you would like to see improved on the site.
Jonathan Gotti: On the JS Classes site, things I hope will be better. Markdown is not wondering and it would be nice to see Markdown on there, just this file for example.
Should be more nice if you can see it run down like in GitHub or Bitbucket. And the other thing is perhaps a better integration with version control system like SVN or Git to be able to put directly to JS Classes.
Manuel Lemos: I see. But you have been importing your packages from GitHub or some other repository or you're still uploading them manually?
Jonathan Gotti: Actually, I'm uploading them from GitHub.
Manuel Lemos: Oh, I see. So there is already support to port from GitHub. And is there any specific aspect that you would like to endeavor?
Jonathan Gotti: Perhaps, to push back to PHP Classes automatically or something like that.
Manuel Lemos: I see. Exactly. Yes., that's a good idea. Several people have requested it because it's an extra step to tell the site to import them and that feature has already been in the list for some time, waiting for me to implement it. But that will be in the plans.
Jonathan Gotti: Thanks to you.
Manuel Lemos: By the way, you can stop screen sharing. I think you forgot to omit it. You can just click on the screensharing button again.
Jonathan Gotti: OK.
Manuel Lemos: Well practically, we have ended this interview. I would like to thank you for your presence. Congratulations once again for this award. We are definitely hoping for more great contributions from yourself.
Other than that, I was wondering if there's anything else you would like to say or was there any questions that I did not ask you?
Jonathan Gotti: I have no question but I just want to thank you personally, Manuel, for the commitment you give the community for all these years, with PHP Classes and with JS Classes site. And it's very nice for you to make all these podcast, get sponsors. Thank you for all this.
Manuel Lemos: Well, it's my pleasure. I can tell you that I'm always having great fun. It's a great privilege for me to dedicate all my time to this project.
And if you see it as a good thing, I'm happy because this is basically something that is beneficial to all of us, not just me, not just you, everybody that go to the site, downloads and submits their packages.
So it's good now that everybody's happy and also helping to somehow make the site better, either with content or suggestions for the features of the site.
So with this, we have ended this interview. I'd like to thank you again.
Jonathan Gotti: Thank you.
Manuel Lemos: On my part, that's all for now. Bye.
Jonathan Gotti: Bye.