Introduction to MooTools Presentation
December 12th, 2007, posted by Olmo
N. This video only reflects Olmo’s personal thoughts about the frameworks he talks about, including MooTools. Followup.Valerio.
Here’s what you guys have been dying for: a presentation talking about MooTools. Presented by yours and only: ibolmo! The presentation tries to cover all the major aspects of MooTools to solve the familiar question: “What’s different about MooTools?” I talk about jQuery and Prototype and how they differentiate themselves from MooTools. Lastly, there’s a whole slew of demos and showcasing.
Back Story
A while back I presented at the LA Web Application Developers Meetup in Los Angeles, CA. I had recently moved from Texas to California and I had been wanting to get out and have some fun. I found the group through Meetup. As I was RSVP’ing I noticed that Will JessipWill Jessup, from CitrusByte, needed some presenters. I asked if I could present and got accepted to do a talk on MooTools.
I presented a little nervously in front of a large audience of a strong 50+ developers. I was glad to hear from a few people in the audience – before hand – that they knew about MooTools and that they’ve been using MooTools for a long time. That helped my confidence a bit.
I had worked on the presentation for quite a bit so I hope you guys enjoy it.
Warning
- I only had 10 minutes to speak.
- Sorry that I don’t have the time to read up on all the other frameworks.
- For those from jQuery or Prototype: if I anything I said was wrong, just let me know.
- Slide contents are outdated and there is some errata.
Showcase Material
- MooTools Demos
- MooTools SlickSpeed
- MooTools Documentation
- MooTools SpecRunner - you can grab a fresh copy from the SVN Trunk and just run the index.html in any browser.
- iPhone Bejeweled Game
- Microsoft Expression Site using MooTools and jonDesign’s SmoothGallery
- Ubuntu using MooTools
- The source code demo is dead. Just download a copy of jQuery or Prototype and that’s the demo. :P
Quick Endorsement
The Meetup group is not an isolated occurrence. There are a ton of them world-wide! Join ‘em, go to ‘em, and meet! If you’re in Los Angeles, CA, USA., you’re likely to start to see me pop up in the events as well as other ones like La G33k Dinner (an old posting). There’s a lot of geeky things to do in Los Angeles it seems. There are also some Facebook groups with respect to the Meetup groups and the LA Geek dinner:
Last Words
A couple of us enjoy presenting so find us in the IRC channel. If you need someone in the West Coast: here’s my email olmo [dot] maldonado [at] gmail [dot] com.
10 Responses to “Introduction to MooTools Presentation”
Sorry, comments are closed for this article.
Very good Olmo. I've enjoyed watching your presentation :) Tanks for sharing! Keep up the good work ;) Another thing...you're really sexy :D
Nice Presentation Olmo. Taught me some stuff that I didn't even know. Oh and don't worry I couldn't realize that you were nervous either until reading the entire post. :D
-Raz88
Olmo, I know John Resig feels you've gotten quite a few facts wrong about jQuery. I can't challenge any of your remarks about Prototype because all of them are statements of opinion.
I appreciate that you qualified all your statements beforehand, admitting that you aren't all that familiar with other frameworks' code bases. But then you make a lot of bold pronouncements based on an ephemeral familiarity with jQuery and Prototype. Is that the best way to represent Mootools? Is that what people attend meetups to hear?
If this sounds like a lecture, forgive me. But I feel like etiquette has already been breached. If you want to accuse John of stealing code, you ought to do so through direct communication, not by dropping the charge in a room of disinterested bystanders. Are there any other conspiracy theories you're cuddling? If so, can we get them out into the open?
hahaha.. conspiracy theories! Good movie.
Thanks. I really did try to be nice. You could tell I was really hesitant about making any comments. I can definitely say that it was not a rehearsed question. I'm already aware of John's "feelings" about the whole video and I'm working on the reply as we speak.
The funny part is that I have no vested interest in hurting anyone. Nor am I invested in having MooTools excel to the top of the frameworks (that's not our goal). So what was my motive in mentioning that jQuery may have cloned moo.fx? I didn't want that to be the point (the point was about the jQuery.fn.* inefficiencies). Anyway... this has been blown out of proportion it's not even funny! :D (maybe a little) I'll talk about this more in the reply to his blog -- MooTools blog is not for posting drama.
Btw, I only had 10 minutes to speak about mootools the rest happened to be all questions related to the other frameworks :(. Totally not intended for that to happen.
Anyway.. need to get back to my rebuttable. Thanks for watching/reading ;).
Liked the presentation, although the sound was a bit ... lousy :D Technically I have nothing to say about what you are talking about. You are way out of my league there. :)
Presentation-wise though: When doing the presentation, and especially at the beginning of it, you tend to turn away to look at the screen alot, instead of maintaining contact with the audience. Gives the impression that you are very nervous and/or afraid to forget to talk about each and every bulletpoint of each slide in your presentation. It might also make the audience think that you do not know your material all that well. If you need to look at what's on the slides, it would at least be better if you had a screen in front of you to read from, so that you could at least avoid turning away all the time.
I would also recommend simplifying your slides a bit. Especially the OOP and Comparison slides look like the cheat sheet of someone afraid to forget to mention each and every thing in their presentation. That could make a presentation sound and look more like someone just reading something on a screen out loud. Make your slides briefer and more like summaries so that the audience is compelled to listen to you instead of just reading the slides. You can always hand out slide notes to those interested after the presentation. This will also make your presentation more of a presentation of your knowledge, where you face the audience and speak based on queues, rather than you turning around to look at your cheat sheet all the time. Basically this gives the audience a sense of listening to someone with great knowledge of what they are presenting (facing forward and maintaining eyecontact), rather than someone who might just be reading out loud from a presentation that someone else could have prepared for them (turning back to read the cheat sheet all the time).
These are just observations on my side, and as I said I am totally in the dark when it comes to Javascript and Mootools programming. Obviously you know what you are talking about! Hope you can take this as constructive criticism and not get offended by it, as I do not mean to offend in any way! :)
Great stuff you presented too, so don't be put off or become hesitant to share stuff like this in the future either!
Thanks for the feedback. Yeah I wish I had swiveled my tablet's screen around. I was a bit anxious and that was visible at first. I did know everything that I put on that presentation but like you said, I did over load some of the pages.
I really hate short presentations because I can usually talk and talk and talk about a topic. You forgot to mention all my 'uhhs'! I uhh didn't uhh notice that I was uhh-ing so uhhh much. :(
It's not really my performance that bothered me. It has been the reaction of some people which has been most troubling.
Thanks again.
@Andrew: Thank you for your comments and support. I couldn't have said it any better.
For those interested in hearing John Resig's rebuttal to Olmo's questionable comments in his video, please go here:
http://ejohn.org/blog/i-learned-some-things-about-jquery-today/
Rey jQuery Project Team
@Rey, Andrew
I'm really sorry about this. I 100% agree with you guys, this wasnt acceptable, and I would have reacted in the same way in your position.
http://blog.mootools.net/2007/12/13/an-open-apology-to-the-authors-of-jquery-prototype-and-others
Can you please share the slides with something like http://www.slideshare.net/ ? It would be very useful.
I found some time and wrote a reply to a thread else where: http://programming.reddit.com/info/62xhp/comments/c02ofv0
Here's a copy (it might look messy so use the permalink): OK. For some reason everyone reads everything but this comment that I made. Therefore it’s not like I’m being stubborn and I will not make a new comment.
In summary: I'm busy. I can't help it that I'm in finals week and I'm overdue on a project and a paper that I have to turn in. In fact, due to answering John's blog on that Wednesday night I've had to ask for an extension. (If you don't know I'm a full-time student at UCLA working on my masters in Electrical Engineering -- refer to the video).
A little background before others get any suspicion of why an Electrical Engineer is doing a talk about MooTools. Specifically an introduction, and why an engineer decided to talk about other frameworks other than MooTools. I'll be concise, however. First: I've used to be a MooTools developer since 2 months that it was released publicly. I've worked with Valerio and the rest of the team closely up until recently. Claim to fame in MooTools is that I was the guy with the weird ideas and with a lot of math savyness. You can ask me for more verification of my MooTools-worthyness later. Why was I talking about other frameworks? 1. Because I was an idiot. There’s also the following: around the week of presentation and a couple before there were a couple of posts on MooTools forum and on the jQuery mailing list on Google (I have a Google alert informing me of any site, blog, or Google group makes a post with "mootools" -- this keeps me "informed") that wanted to know the differences between Prototype and MooTools. Even before that period of time there were many others. So I figured I could hit two birds with one stone: to help clear up misconceptions and to introduce mootools to a crowd – something never been done.
I obviously knew that talking about other frameworks could stir up a lot of bad sentiments and so I made a clear disclaimer before I talked about any of the frameworks (it's in the video). I also did a warning in the blog post and you're welcome to look it up at and the video there. I wish that John hadn’t flamed the blog post and just corrected me. I could have happily said I was sorry. Instead I tried to defend and justify my points. After four hours of finding evidence and justifying the video I had to get back to work on my paper and presentation. Even as things crumbled and fell through the floor I was working on that darn project and presentation. So now you know why I’ve been away this long. It’s not that I don’t have anything to say, it’s just that I don’t have time to say anything.
I’ll finally address John Resig.
John, you’re respected and well loved by the community. Further, no one has ever questioned your ability to program. I understand that you’re shocked to hear that someone said that you stole code – I would be too. I’m sorry that you believe that I said that you stole code. Without going further can we all agree that I did not say you stole anything? I explicitly said the following (this is straight from the video):
One of the problems jQuery had, for instance, their animate was completely simple. And prior to their recent release they had Moo.Fx, which was Valerio Proietti's first library (not a framework, library). They actually literally copied and pasted it into their source code. And people didn't use it as well as they wanted to, they wanted the enhancements that we have, onComplete, stepping, stuff like that, start and stop, so what somebody had to do was make a complete plugin. They had to copy the code and copy it over to theirs and basically copy and paste on top of it. So it contradicts our idea of saying you know what, let's not use extra code, let's minify it and so forth.
Here’s the important line:
They actually literally copied and pasted it into their source code.
I’ll do this.
John Resig I’m sorry for accusing you of copying and pasting moo.fx into your source code.
After reading your reply: http://ejohn.org/blog/i-learned-some-things-about-jquery-today/#comment-296256
In particular:
In 2005 I wrote a complete moo.fx (MIT licensed) clone, from the ground up, called mini.fx. It was never released. Instead, it was later integrated into the release of jQuery (MIT Licensed) which was released Jan. 2006. Over the years I tweaked and massaged that code - going through several, major, rewrites. During this entire time there's been a note at the top of the animation code mentioning the original moo.fx inspiration.
Therefore, you are correct. You didn’t just copy and paste and change the variables.
Does this mean I knew before hand that you didn’t just copy the code? No. Here’s from my perspective and perhaps you can agree with me that anyone else can be confused.
From the link that you provided in your blog: http://code.jquery.com/jquery-1.0.js
In particular these lines:
/* * I originally wrote fx() as a clone of moo.fx and in the process * of making it small in size the code became illegible to sane * people. You've been warned. */
Believe it or not, I read the source code about 2 months after I started working with Valerio. I had seen the “… as a clone of moo.fx …” and my first reaction was: “woah he copied moo.fx and just changed the variables?” Because we are not allowed to talk about other frameworks ever since we had a little incident with Prototype and us claiming that they stole our new Element second parameter idea (they apparently had talked about it a few months earlier than us. What a conincidence no!?). I’m also sorry that I couldn’t talk to you in person. Ever since you were lurking in the IRC channel since the release of MooTools 1.0, I didn’t have a good impression of you – not to mention that our opinions differ a lot. Therefore, I couldn’t get a second opinion on the “as a clone of moo.fx” statement. So it has always been ingrained in my mind that you copied code and you pasted it into the source. It never bothered Valerio so I didn’t think it was such a big deal to copy MIT license into MIT license. You had even said moo.fx above the code. Lastly, why would I care if you copied – not my code. In all, I just misunderstood the word “clone”.
Now back to the present. Now that I am corrected I will always say that you cloned moo.fx. Well actually, that you used it as a guide. So from now on: you guys had your own animate that was based on moo.fx (again correct me if I’m wrong).
I also wanted to point out that I didn’t contest that you didn’t give credit. I just had to compare your way of crediting and MooTools’ way of crediting (ie. Few lines on top vs. a first few lines in the file). Also, I didn’t know you cited Valerio on your site. That was nice. I think that was irrelevant to my credit placement argument, however (ie. At a site page vs. source code). But don’t get caught on this argument. I just wanted to clarify that I wasn’t still accusing you. I think I got lost in your flaming and didn’t notice you were most upset about the copying accusation.
This is long winded so I’ll make a summary for now:
I am sorry to have talked about other frameworks. Even though I made two disclaimers and even asked to be corrected, I will say that I’ll just talk about MooTools from now on – not like I can get re-fired.
I still haven’t gone in detail to your other points that you rebutted the other day so I’ll save those for later.
For all intents and purposes I hope this matter is resolved.
I also hope that you can help me clear up this misunderstanding by placing this reply on your blog since you’ve closed the blog comments yesterday.