Enyo at SpainJS 2012

0 BY Jeremy Thomas

This month (July 5-7) we had the privilege of sponsoring and attending SpainJS in beautiful Madrid. This was a three day event consisting of conference talks and hands-on workshop sessions. Enyo was proudly represented there by Markus Leutwyler and myself, Jeremy Thomas.

Workshop Session

Markus responding to questions at the SpainJS Enyo workshopSpainJS began on Thursday with a series of smaller, interactive workshops where developers could get their hands dirty with the topic being presented. The workshops started out with a 1.5 hour introductory session on Enyo from our very own Markus Leutwyler.

After the presentation, attendees were given the opportunity to download Enyo and experiment with it on their own. Developers created new projects or expanded on pre-made sample applications provided to them. The developers were encouraged to ask questions and receive personal help from Markus and myself.

Photo credit: SpainJS

Conference Talk

The main conference talks were held on Friday and Saturday. These last two days were jam-packed with excellent presentations given by brilliant Javascript developers from all over. Some standout talks, in our opinion, were:

Jeremy Ashkenas, creator of both Backbone.js and CoffeeScript, gave an introduction to CoffeeScript, basically a simplified version of JavaScript that compiles to JavaScript (with a compiler written in JavaScript).

Alex MacCaw, creator of the Spine JavaScript framework talked about the rise of asynchronous user interfaces. This is a very interesting technique for frontend developers where you decouple the feedback from an action and the actual work that has to happen (e.g. uploading a picture) to make the user interface as responsive as possible.

Keith Norman shared his pipedream, namely using the same backbone.js code in the browser and on the server (with Node.js). Imagine not only having the same language (JavaScript) and runtime on both the server and client but also the same code!

While we had a presence at the event, we weren’t scheduled to speak outside of our previous workshop. However, on Friday, there was an open-call for “lightning talks” where developers had the opportunity to give a quick, five minute presentation of their own. This was a great chance for people to showcase their various projects to a packed venue. Markus quickly grabbed his computer and headed to the front of the stage to register for a session.

After a few lightning round talks, Markus was announced. He then gave a brief talk on Enyo and demonstrated its benefits and ease-of-use. It was apparently well-received, because during his talk I had non-stop traffic at our booth.


SpainJS turned out to be a great event, for the event coordinators and for us. Enyo was well-received, judging by the number of people that stopped by our booth to get more information. We also handed out a ton of t-shirts and stickers, and made a lot of new friends.

If you were hesitant to go this year, now might be the time to start coming up with reasons to vacation there next year for SpainJS 2013. We’ll plan on seeing you there!

Topics  Uncategorized

Enyo at the RVA Hackathon

0 BY Jeremy Thomas

This past weekend (April 20-21) fellow Developer Relations member Roy Sutton and I were proud to represent Enyo at the RVA Hackathon in Richmond, VA. This was a free, 24 hour event for developers of all kinds to come together and work on various projects. The event started on Friday evening and lasted throughout the night and into the next evening.

On Saturday morning, we teamed with Arthur Thornton – a name familiar in the Enyo community and creator of several popular webOS apps – to take on the task of helping him create an audio identification app. The goal for the day was to create an Enyo-based application that would successfully run on the TouchPad and could be easily packaged for multiple platforms.

Things got started as Arthur began setting up the server required to perform the back-end audio fingerprinting/matching, while Roy and I worked on the core functionality. By lunchtime we had the server responding to service calls, local databases created, and much of the core functionality working. After some chicken tacos, we powered on for a few hours: adding missing features, fixing inevitable bugs, and chugging copious amounts of Red Bull. A couple hours before the event was officially over, we had an app that could record audio, match the audio fingerprint, and save that item to your history.

The only real technical issue we experienced was with the free audio-fingerprinting service that was used, which failed to match as many songs as we expected. However, there are other paid audio-fingerprinting services available that promise more success, so this issue could be resolved without too much of a headache.

When it was all said and done, we had a working proof-of-concept that took around eight hours to complete. I’m once again surprised by how quickly an Enyo app can come together. So, what are you doing with your day?


Topics  DevRel Team, Events

Getting Familiar with the Flexible Box Layout Model

1 BY Jeremy Thomas

With the upcoming release of the Pre 3 and TouchPad, we will have two new webOS devices that offer different screen sizes and resolutions than we’ve had before. While these devices will be able to scale & display current apps correctly, developers who want to take advantage of the additional screen real estate will still need to update their apps accordingly. For orientation-independent devices like the TouchPad, it’s becoming especially important to ensure applications also scale & display correctly based on device orientation. One way to obtain this result is by using the CSS3 flexible box layout model.
Read more

Customizing the Spinner Widget

0 BY Jeremy Thomas

Occasionally while developing, you get the urge to add a little personal flavor in your application. Let’s spice up one of the more under-appreciated widgets on the platform: the spinner.

Since we should be providing the user some visual feedback while waiting on a response from a service/device, many apps make use of the spinner widget. While most developers will choose to leave the spinner as-is, you may want to customize it a bit. Before making the mistake of Googling for animated gif spinners, let’s learn how we can modify the spinner widget to get unique results. Mojo’s built-in spinner widget contains properties that allows us to modify the look and behavior of the spinner. Utilizing this gives us the following benefits:

- Control over when the animation starts/stops
- Frames per second
- Lead-in/lead-out animations
- Any image format can be used
Read more

Playing with Prototype Extensions

8 BY Jeremy Thomas

As we make the transition to Enyo, developers can still take advantage of Mojo, especially with the upcoming releases of the HP Veer and Pre 3. And while you’re probably very familiar with Mojo, perhaps you aren’t aware of how you can take advantage of the many existing JavaScript libraries that work seamlessly with Mojo.

The Mojo application framework includes Prototype as part of its interface and implementation. Prototype is a stand-alone JavaScript framework, similar to jQuery, YUI, MooTools, and many others. Since Prototype is baked into Mojo, this means that you can use any Prototype-based extension library, with minimal effort and minimal risk of conflicts, in your webOS apps. Let’s walk through a few examples to see how to take advantage of the vast pool of Prototype resources the web has to offer.
Read more