Search Logger
Posts from: Luke Smith

Author Archive

YUI 2.7.0 on TaskSpeed

5:21 pm - April 13, 2009 in Yahoo! User Interface Blog

Screenshot of TaskSpeed

A few months ago Peter Higgins, a contributor to the Dojo Toolkit, adapted the SlickSpeed test framework to do higher level comparisons of how various JavaScript libraries perform when doing some “common” DHTML tasks. The new test framework is called TaskSpeed. And thanks to the excellent work done by one of our favorite community members, Eric Ferraiuolo, YUI 2.7.0 now has representation in the matrix as well.

About TaskSpeed

Whereas SlickSpeed compares the performance of the respective JavaScript CSS selector engines in common libraries, TaskSpeed attempts to qualify a larger set of library functionality with less granularity. The goal seems to be to predict what a library consumer might expect for aggregate speeds when developing on top of library A vs. library B.

In addition to each of the participating libraries, a “PureDom” column represents the performance of the given task with plain old JavaScript and direct DOM interaction, serving as a healthy reminder that the benefits you get from using a JavaScript library don’t come for free. Unfortunately, “PureDom” might also be incorrectly construed as an argument in favor of not using a library at all, but that is a separate and lengthy discussion.

The results

Though YUI 2.7.0 was only added to the matrix on April 10th, the results submitted so far suggest that YUI performs the given tasks with comparable efficiency in the newer browsers, and better than most in Internet Explorer 6, 7, and 8.

IE 8 results from Apr 10 – Apr 13

Chart of IE8 performance comparisons

Take-aways

Though YUI performs ably, it’s my opinion that the numbers seen in TaskSpeed should be taken with a hefty grain of salt. The tests are designed to exercise library abstraction logic against DOM-intensive operations. The issue here is twofold:

  1. Not all libraries (YUI included) have abstraction logic for all of the specific tasks, which breaks the apples-to-apples comparison.
  2. And in order to get meaningful numbers, the test operations are iterated up to 500 times or performed against excessive numbers of nodes. In real-world cases, these conditions are not the norm, meaning the differences are exaggerated, perhaps even grossly.

By and large, TaskSpeed may be more of a distraction than a source of information useful to the consumer. My greatest concern is that people will make a decision to choose one library over another based on which one can add a ridiculous number of event subscribers in 25 milliseconds vs. 30, ignoring more important issues like cross-browser stability, code maintainability, documentation quality, and community support.

This is not to say that TaskSpeed is without value. Here are the interesting take-aways I’ve found:

  1. Accounting for the lengthy iterations TaskSpeed needs to make the numbers substantial, all libraries perform common tasks pretty quickly.
  2. Libraries are getting faster, as seen by comparing version to version of the same library where available.
  3. There is a performance price to pay for the stability and consistency any library offers.
  4. For the library authors and contributors, an apples-to-apples comparison of task execution can highlight potential areas where we may each be able to evolve to use best-of-breed techniques for everyone’s benefit!

I’d like to personally extend a big “thank you” to Eric Ferraiuolo for having done the fantastic legwork on this. Another great example of the importance of community contributions to the YUI library!

 

Introducing YUI Open Hours

3:59 pm - April 8, 2010 in Yahoo! User Interface Blog

This Friday, April 9th, the YUI team will be initiating a new outreach project, called Open Hours. This is how it’s going to work:

At a regular time and day (which will solidify eventually), I and/or another YUIer will open a conference call and start an Adobe Connect screen sharing session. Anybody that wants to join the call is welcome to join. We’ll have a primary topic each time, but otherwise it will be a free forum for discussion. We’ll do code reviews of Gallery modules or other new and interesting code. We’ll talk architecture and best practices, do deep dives on new features in the latest YUI release, talk about new and upcoming hotness in YUI land, and generally plot world domination.

The first Open Hours will be this Friday from 10am to 12pm PDT. The primary topic will be an introduction to and code review of Lauren Smith’s YUISand Gallery module. Here’s how to participate:

  1. Dial in to 1-888-371-8922 (non-US participants, email me for a local number)
  2. Enter the attendee code 47188953
  3. Join the screen sharing session (this will prompt you to install the Adobe Connect plugin if this is your first time using it)

Ongoing schedule

The idea is to hold Open Hours weekly or bi-weekly. We’ll try to be flexible and evolve Open Hours as we discover with everyone else what the best format, day and time, and structure is. We’ll keep the YUI Event Calendar updated with upcoming Open Hours and their topics, and we’ll post reminders and other important information here as well. If this is the kind of event that interests you, following @yuilibrary on Twitter is also a good way to get updates on upcoming sessions.

This is a great opportunity for developers to directly connect with not only the YUI team, but also with other YUI users and contributors, ask questions, give feedback and share and develop ideas with and for YUI.

I know it’s short notice, but come one, come all, if even for a few minutes. We expect it will be a pretty small gathering with a lot of opporutinities for participation — we’d love to see you there.

 

YUI: Open Hours for Friday, April 23rd

3:32 pm - April 22, 2010 in Yahoo! User Interface Blog

The next installment of YUI: Open Hours is tomorrow, Friday the 23rd!

The first Open Hours was a huge success, with about 30 people joining in and some great conversation and feedback for both Lauren Smith’s YUISand Gallery module as well as for YUI.

The time will be the same as before, 10am – 12pm PDT. The primary agenda item for this week will be an introduction and code review of Eric Ferraiuolo’s Component Manager Gallery module. I’m also going to start opening the conversations with a "YUI 3 tip or trick" of sorts.

This week, we’ll be joined by fellow YUIer Satyen Desai (@dezziness), the lead architect behind the Attribute, Base, and Widget infrastructure pieces in YUI 3. (If you’d like to meet Satyen before the event, you can do that on YUI Theater.)

Like before, the plan is to use Adobe Connect for screen sharing and do voice over a conference bridge. This is the info for joining in:

  1. Dial in to 1-888-371-8922 (non-US participants, email me for a local number)
  2. Enter the attendee code 47188953
  3. Join the screen sharing session (this will prompt you to install the Adobe Connect plugin if this is your first time using it)

And as mentioned with the first YUI: Open Hours, you can keep up to date with the upcoming schedule and topics by following @yuilibrary on Twitter or subscribing to the YUI Event Calendar.

If this is the first you’ve read about YUI: Open Hours, it’s an open forum with myself and other YUI team members and some great minds from the YUI community. You can read more about it here.

Hope to see you there!

 

YUI: Open Hours, Friday May 14th

3:13 pm - May 13, 2010 in Yahoo! User Interface Blog

It’s time again for the another installment of YUI: Open Hours!

This week, we’ll be joined by Caridy Patiño, author of the outstanding YUI Bubbling Library for YUI 2. We’ll have a look at some of the work he’s been doing migrating the Bubbling Library components to YUI 3, other modules and features he has in the Gallery already, and what new stuff he’s working on these days.

Thanks again to Eric Ferraiuolo for joining us last time and reviewing his work on the Component Manager utility and talking about some of the more brain melting points of application infrastructure development with YUI 3. A lot of great info about some of the features of YUI’s event system and infrastructure pieces came out of the discussion.

We’ll try to come back up to the surface a bit this week and address more specific problem spaces and UI patterns. But before we dive in with Caridy, we’re going to do a quick run through the YUI.add(...) method and how to create JavaScript classes in a YUI 3 world. Then it will be all Caridy, showing off a whole lot of flashy YUI 3 goodness. The conversation will no doubt touch on some points about migrating code from YUI 2 to 3 and some best practices when creating classes and modules.

The time will be the same as before, 10am – 12pm PDT and the connection details are also the same. Here they are for review:

  1. Dial in to 1-888-371-8922 (non-US participants, email me for a local number)
  2. Enter the attendee code 47188953
  3. Join the screen sharing session (this will prompt you to install the Adobe Connect plugin if this is your first time using it)

And as always, you can keep up to date with the upcoming schedule and topics by following @yuilibrary on Twitter or subscribing to the YUI Event Calendar.

Hope to see you there! And don’t be shy about recommending guests or topics or offering suggestions for the OH format in general!

 

YUI: Open Hours, Fri May 21st

1:30 pm - May 19, 2010 in Yahoo! User Interface Blog

It’s a new week, and time for another YUI: Open Hours!

This week, we’ll be joined by the inimitable Dav Glass, author of (among other things) YUI’s Rich Text Editor and Drag and Drop utility, and the primary architect behind yuilibrary.com and the Gallery itself. He’ll be discussing the YUI 3 Gallery project — where it’s going, how to contribute — and answer any questions about it, about the site, or really about anything else while we have him on the line.

After that, we’ll jump into our main event, which will be a “Gallery widget sampler”. We have a number of module authors joining us this week, including

They’ll introduce their module, give an example or two, go over their API, and discuss their experience creating it. Besides just being a nice introduction to additional components available to YUI 3 users, it should provide a good platform to talk about widget API best practices and help give a sense of some of the decisions that are made during widget creation.

Thanks again to Caridy Patiño for joining us last week and reviewing his Accordion Node plugin and Dispatcher modules. We’ll have more topics in the future about creating Node plugins and the reasons why the plugin approach or the widget approach might be a better fit for your needs. And thanks to Matt Sweeney (author of YUI’s Node class and selector engine) for dropping in as a surprise guest as well.

The time will be the same as before, 10am – 12pm PDT and the connection details are also the same:

  1. Dial in to 1-888-371-8922 (non-US participants, email me for a local number)
  2. Enter the attendee code 4718 8953#
  3. Join the screen sharing session (this will prompt you to install the Adobe Connect plugin if this is your first time using it)

And as always, you can keep up to date with the upcoming schedule and topics by following @yuilibrary on Twitter or subscribing to the YUI Event Calendar.

Hope to see you there!

 

YUI: Open Hours, Wed June 16th

3:26 am - June 15, 2010 in Yahoo! User Interface Blog

It’s time again for YUI: Open Hours! A change of schedule this week, though. The call will be on Wednesday.

I want to start by sending a huge thanks to Iliyan Peychev, Andrew Bialecki, Matt Snider, and Jacob Fogg for featuring their Gallery widgets in the last Open Hours. From Matt’s game UI inspired Radial Menu to Iliyan’s full featured Accordion, it was a great exploration of the types of UI tools you can find (or create) in the Gallery today as well as a study in different ways to use YUI 3 to solve UI challenges. You can find links to the modules in the May 21st Open Hours post, and a sampling of some of the interesting points from the discussion in the comments.

This week, hot on the heels of their huge YUI 3 Gallery contribution, Nate Cavanaugh and Eduardo Lundgren of Liferay, Inc. will be joining us to introduce us to some of the new AlloyUI modules. This is a pretty big deal. We’ve been working with these guys for months to get their 65 modules into the Gallery. That’s right, 65 modules! All created by just Nate and Eduardo. Talk about productive.

Obviously we’ll barely have time to scratch the surface of all the AlloyUI modules, but we will do a quick overview of some of the most interesting or popular ones and cover some “Getting started” code. There’s such a variety of modules, there will be something for everyone.

  • For YUI 3 newcomers or folks that have been waiting for the YUI 2 widgets to be migrated, there are now a lot more options to check out.
  • For people wanting to take those first steps creating something in YUI 3, there are now more things to write plugins for, patch, or extend.
  • For seasoned component developers, there’s now a lot more implementation code to reference for evolving conventions and components to collaborate on.
  • For more complex app developers, you can get a sense of one team’s strategy for code submodularization and approach for building and packaging modules in a larger or more complex application.

Nate and Eduardo are open to whatever questions you have, so the conversation can go however deep, and in whichever direction you want. If you have any questions about a particular module or about anything else, ask away.

We’re changing up a little this week and moving Open Hours to Wednesday. The time will be the same as before, though (10am – 12pm PDT), and the connection details are also the same:

  1. Dial in to 1-888-371-8922 (non-US participants, email me for a local number)
  2. Enter the attendee code 4718 8953#
  3. Join the screen sharing session (this will prompt you to install the Adobe Connect plugin if this is your first time using it)

And as always, you can keep up to date with the upcoming schedule and topics by following @yuilibrary on Twitter or subscribing to the YUI Event Calendar.

Hope to see you there!

 

YUI: Open Hours Friday June 25th

6:07 pm - June 23, 2010 in Yahoo! User Interface Blog

The latest installment of YUI: Open Hours will be this Friday, June 25th.

Last week, Eduardo Lundgren introduced us to some of the great AlloyUI modules recently added to the Gallery. The discussion covered instantiation, configuration, development decisions, and some history of their TreeView module. But that was just the beginning. We also explored their IO, Node, and form validation modules and spent some time on some of the visual styles available. Eduardo even gave us a sneak preview of the new Liferay, Inc. portal, powered by all this hard work. Really top notch work.

All that said, it’s hard to say if the show-and-tell or the conversation was the real headliner. Great code related content aside, there was a lot of good feedback and discussion about community collaboration, the nature of the Gallery, and how we can make it and YUI better. So a big thanks to everybody on the call!

This week, we’re going to dabble a bit in both the raw developer world as well as the designer world. Caridy Patiño is back with us to talk about his Event Binder module that was featured here just this morning. We’ll do a code review and discuss the configuration step that has to be done before YUI is even loaded. That’s right: pure, unadulterated DOM scripting. You might want to wear a helmet.

Then we’ll move on to the equally nuanced skin design process with Jeff Conniff, the yahoo responsible for the current variety of Slider look-and-feels. He’ll walk us through his process of building the visual assets and show how you can take the same PSDs and easily create color themed assets that fit in your site palette. Here are the Photoshop files if you want to play along. I’ll also talk about some of the decisions made in constructing the CSS and DOM structure of Slider.

We’re back to the usual day and time this week: Friday from 10am to 12pm PDT. There’s a new attendee code for the conference call, but otherwise, the connection details are the same as usual.

  1. Dial in to 1-888-371-8922 (non-US participants, email me for a local number)
  2. Enter the attendee code 47188953#
  3. Join the screen sharing session (this will prompt you to install the Adobe Connect plugin if this is your first time using it)

I’ve also created a forum thread for this Open Hours so we can start the discussion early!

Also, as always, you can keep up to date with the upcoming schedule and topics by following @yuilibrary on Twitter or subscribing to the YUI Event Calendar.

Hope to see you there!

 

YUI: Open Hours Wed, July 21st

6:07 pm - July 20, 2010 in Yahoo! User Interface Blog

For those of you that don’t subscribe to the YUI calendar or YUILibrary.com forum, the next installment of YUI: Open Hours will be tomorrow, July 21st.

This time we’re going to focus on a recurring theme for YUI community contributors that are just getting started building their own modules: How to build a Widget and how to build a Plugin in a YUI 3 way.

Anthony Pipkin, aka apipkin of #yui IRC channel fame, will be the guest, guiding us through his learnings over the last year and showing how to move from copying and pasting the YUI 3 documentation examples to feeling confident that you’re making the right choices for how to approach a problem in a “YUI 3 way of thinking”.

We’ll take a look at two of his simpler Gallery modules, the Button Widget and the Node IO Plugin. He’ll discuss what they looked like originally, versus today, and why they changed.

Then we’ll play around a while, maybe build something from scratch based on what the folks on the call want to cover.

Matt Sweeney (Node, Selector, TabView, Grids, etc) and Satyen “the Guru” Desai (Widget, Plugin, Base, Attribute, etc) from the YUI team will also be on the call. So there will be best practices in the house.

For YUI 3 consumers that aren’t (yet?) contributors, this call should still be valuable for understanding the thinking behind how YUI 3 widgets and plugins are built and what sort of patterns to expect from new YUI components. And no doubt there will be other great takeaways as always.

We’ll be online from 10am to 12pm PDT. The connection details are the same as usual.

  1. Dial in to 1-888-371-8922 (non-US participants, email me for a local number)
  2. Enter the attendee code 47188953#
  3. Join the screen sharing session (this will prompt you to install the Adobe Connect plugin if this is your first time using it)

Here’s the forum thread for this Open Hours. I’ll post some of the interesting takeaways after the call.

Follow @yuilibrary on Twitter for the latest.

Hope to see you there!

 

YUI: Open Hours Wed Aug 4th

9:24 pm - August 2, 2010 in Yahoo! User Interface Blog

For those of you that don’t subscribe to the YUI calendar or YUILibrary.com forum, the next installment of YUI: Open Hours will be this Wednesday the 4th.

This time our topic will be testing testing testing. And who better to have with us to discuss testing than Nicholas C. Zakas (@slicknet), author of the YUI Test module. We’ll talk about the why, when, and how to set up your JavaScript testing, how to simulate user interaction, and what sort of automation tools and strategies you have available today.

Reid Burke (@reid), the newest member of the YUI team, will also be joining us to share his own experience with raising the bar on testing inside YUI and share where we’re headed.

As a hands on exercise, Nicholas will be creating sample tests and exploring some tests for a YUI Gallery module as he talks about the goals of writing test suites and test cases.

As usual, we’ll be online from 10am to 12pm PDT. The connection details are the same as usual.

  1. Dial in to 1-888-371-8922 (non-US participants, email me for a local number)
  2. Enter the attendee code 47188953#
  3. Join the screen sharing session (this will prompt you to install the Adobe Connect plugin if this is your first time using it)

Here’s the forum thread for this Open Hours. I’ll post some of the interesting takeaways after the call. And who knows, we might record this episode and push the video out as well!

Follow @yuilibrary on Twitter for the latest updates on Open Hours and other YUI interestingness.

Hope to see you there!

 

YUI: Open Hours Wed Aug 18th

12:55 pm - August 16, 2010 in Yahoo! User Interface Blog

Let’s talk about DataTable!

For those of you that don’t subscribe to the YUI calendar or YUILibrary.com forum, the next installment of YUI: Open Hours will be this Wednesday the 18th.

DataTable is one of the most used components in YUI 2, and certainly one of the most coveted components for YUI 3. It’s not uncommon to hear people talking about "YUI" that are actually just talking about DataTable. In fact, some folks are waiting for DataTable before they make the plunge from YUI 2 to YUI 3.

Jenny Donnelly will be joining me this Wednesday to talk about what’s up with DataTable in YUI 3: when to expect it, what sort of features it will have, how it will differ from YUI 2, and what sort of design and architecture challenges she’s facing. It’s important to get this right, and with a component like DataTable, there’s a lot to get right! Also, she’ll talk about the options you have today for getting DataTable in your YUI 3 apps — hopefully addressing the concerns of those that are holding off on YUI 3 (or even YUI at all) until DataTable or other YUI 2 widgets are officially migrated.

Of course, no talk about DataTable would be complete without Satyam, so he will be joining us from the sunny beaches of Barcelona to talk about the history of DataTable and its community. He should be able to provide some interesting perspective on some of the common trouble spots people run into when working with DataTable in YUI 2 and help guide the conversation and brainstorming for a community driven feature wishlist.

As usual, we’ll be online from 10am to 12pm PDT. The connection details are the same as usual.

  1. Dial in to 1-888-371-8922 (Skype works great for non-US participants*)
  2. Enter the attendee code 47188953#
  3. Join the screen sharing session (this will prompt you to install the Adobe Connect plugin if this is your first time using it)

Here’s the forum thread for this Open Hours. I’ll post some of the interesting takeaways after the call. Our attempt to record the last Open Hours met with a firey (technical problems) death, so we’ll try again, this time with feeling.

Follow @yuilibrary on Twitter for the latest updates on Open Hours and other YUI interestingness.

Hope to see you there!

* – If Skype is not an option, email me for a local number.

 
 
 
 
 
 
It's All About Search | © clsc.net |
2012.05.1822:32
Tech used here: Valid HTML - Valid CSS - Valid RSS - JavaScript - PHP - Smarty - MySQL - and a partridge in a pear tree.