Developer Network Home - Help

Yahoo! Developer Network Blog

Recent Posts
Recent Links
Archives

Subscribe (blog):
Get Yahoo! Developer Network blog on your personalized My Yahoo! page:
Add to My! Yahoo Get free Alerts via RSS

Subscribe (links):
Get Yahoo! Developer Network linkblog on your personalized My Yahoo! page:
Add to My! Yahoo Get free Alerts via RSS

Comment Policy

We encourage comments and look forward to hearing from you. Please note that Yahoo! may, in our sole discretion, remove comments if they are off topic, inappropriate, or otherwise violate our Terms of Service.

Jammin in Atlanta

October 6, 2008

Last weekend an illustruous group of known designers and developers came to Atlanta, Georgia to share their ideas and give direct feedback to the audience. The Webmaster Jam Session or short WJS organized by Coffeecup software is a refreshingly different conference that allows to reach attendees you don't normally see at other conferences.

Webmaster Jam Session Atlanta 2008

Continue reading "Jammin in Atlanta"

Comments (3)

Gugi Map Day Comes to Seoul

October 5, 2008

Yahoo! Korea Gugi Map Day took place on September 23 at the COEX Intercontinental Hotel in Seoul. More than 220 developers and bloggers attended, eager for an introduction to Yahoo!'s open strategy. They came to learn more about the global popularity of map mashups, and how they could now participate through the use of local and traffic APIs, newly launched from Y! Korea, along with Yahoo! Maps and Yahoo! Local features for the iPhone. The Map Day also included a draw for prize giveaways -- one lucky winner went home with a notebook bag, another won an iPod Touch!

The conference included six presentations about maps on the Web. My talk was about map mashups and the use of public information to create interesting data visualizations via mashups. I was rated most popular speaker of the day. The secret of my success -- I think it was the screencast demo. Instead of doing a live demo, I prepared a high-quality screencast video. It’s not easy to make a helpful screencast in a short time, but it’s much more effective and impressive than presenting static screen captures. The screencast helped me make the most of the 25 minutes I had for my presentation.

In Korea, many developers want to try making mashups. But getting started can be challenging. So there is plenty of excitement about our new tools that make it easy to start building mashups. For example, the Yahoo! Korea Maps Open API wizard is interesting.

The screencast demo is here:

Although the menu is in Korean, you can probably understand how it works without reading. The Open API wizard automatically makes basic skeleton HTML according to the options you select. Thanks to the YUI team for providing the tools to build this.

Attendees walked away from Gugi Map Day with a new puzzle in hand -- a Y! Maps jigsaw puzzle. This swag came in four flavors, including puzzles for Seoul, Korea and Paris, France.

If the jigsaw puzzle is too hard to solve, you can take a peek at the hint here.

Jinho Jung
Yahoo! Developer Network,
Korea


Comments (0)

Flash on the Beach: Day Three (October 1)

October 2, 2008

This is the last in a series of articles reporting on Flash on the Beach, one of Europe's premier Flash conferences held in Brighton, UK. Since there are a tonne of sessions I'm only going to pick out my personal highlights, but you can always check the Flash on the Beach for more information on the other sessions.

On the train down to Brighton this morning I was considerably more bleary-eyed than yesterday, which may or may not have something to do with playing Call of Duty 4 until midnight last night. Consequently I was up late and didn't get time for my ritual cup of tea or to grab any breakfast, so my sleep-filled train journey was punctuated by dreams of pancakes, waffles and muffins. Having arrived in Brighton and sated my caffeine thirst and hunger thanks to the Millies Cookies stand at the station, I headed to the dome for one last day of inspiration and learning by the sea.


Rob Bateman: Finding Away3D
---------------------------

I was spoilt for choice on the first session of the day, with all of the session descriptions tickling different parts of my inner geek (okay, okay... maybe it's more of an outer geek). In the end I opted for Rob Bateman's session on Away3D as I get a real kick out of interactive 3D interfaces but know virtually nothing about the Away3D project.

From Rob's description, it seems like the Away3D team are in an arms race with the Papervision3D team, with each project pushing the other one forward in terms of features and performance. Both are open source, and while they differ slightly in terms of their development philosophy I'm sure there's plenty of code sharing going on too. After all, Away3D started as a fork of the Papervision3D code.

Rob started the session with an award winning old-school demo that was created using Away3D. If you're not old enough to remember the early 90's demo scene, fear not: there's still a pretty active community. They may use new tools like Away3D rather than coding in x86 assembly language, but the community has lost none of its creativity. Check out demoscene.info if you want to know more.

After the kick-ass demo, Rob showed off a whole bunch of features of Papervision3D's lesser known (but slightly prettier) cousin. He showed us demonstrations of phong shading, normal shading, specular lighting, triangle interpolation and caching, texture projection, bones and a whole bunch of other features and techniques I can't remember. Every time I see 3D in action in a Flash movie I can't help but gawp and realise how far we've come in such a short space of time. I get the feeling that this is what all the PC programmers were feeling when John Carmack started showing off the Doom engine, and I can't wait to see the Flash community really let rip with tools like Away3D.

Rob finished off the session with an interactive 3D scene featuring everyone's favourite mushroom-loving Italian plumber. Rob had hooked up four Wiimotes to his Mac via WiiFlash (specifically the Mac version), and used them to individually control each of Mario's limbs as he sprinted comically around a barren landscape. A fittingly hilarious end to a great session.


Seb Lee-Delisle: Papervision3D Simplified
-----------------------------------------

Seb's mission for his session was to debunk the myth that it's difficult to get started with Papervision3D. He managed to pack a heck of a lot into his session, starting with setting up a simple 3D scene in under 20 seconds and finishing off with 3D space cow pong. If that doesn't make sense (and unless you have as twisted a mind as Seb, it probably doesn't) then you can always download the examples and see for yourself.

Seb is a great speaker, and despite being intimately involved with Papervision3D's development he was able to convey the basics of Papervision3D development to a jam-packed audience of eager developers. I've flirted with Papervision3D in the past, and Seb has convinced me to find an excuse to play with it again.


André Michelle: Adobe made some noise!
--------------------------------------

Last year André delivered a session on generative audio in Flash, and he ended that session with a stark warning. From what I can remember, André's technique was to generate sound data in a `ByteArray` object, and then load that data into a `Sound` object for playback. However, for this to produce continuous uninterrupted audio the Flash Player has to give precise notification of when the current sound finished playing, so that the next lot of audio data can be generated. To fix an audio/video synch issue in Windows Vista, Adobe had to make some low level changes in Flash Player 9 that meant the `SOUND_COMPLETE` event occasionally fired a few milliseconds before or after the sound finished playing, causing breaks in audio playback.

André mounted an online campaign to get Adobe to fix this issue and provide a way to dynamically manipulate audio being sent to the sound card. Adobe responded with a low-level API that allows ActionScript developers to write data directly to the sound card's audio buffer, with notification ahead of time that more audio data is required through the `SOUND_DATA` event.

Explaining all of the above, some basics on generative audio and a walk-through of how to use the new low-level APIs took up most of André's session. He finished off by showing off AudioTool. André used to be a DJ in the days before he became an A-list Flash celebrity, and this really showed as he worked the dials and knobs on a series of virtual TB-303s and TR-909s wired up to a variety of effects boxes, mixers and some more obscure pieces of audio equipment I didn't recognise. If he wasn't playing to an audience of reserved, socially awkward geeks I'm convinced he would have had the whole place jumping.

AudioTool is free and available to play with online now. The current demo uses Java in the background to overcome the current limitations of the Flash Player, but André says that the new version in the works will be 100% Flash and released on or around the same time as Flash Player 10.


Jonathan Harris: The Art of Surveillance and Self-Exposure
----------------------------------------------------------

Aside from having a very apt title for a conference called Flash on the Beach, Jonathan's session was also the very last session of the final day and was for me the only notable session of the afternoon. Jonathan worked on the Yahoo! Netrospective: 10 Years, 100 Moments project for Yahoo's 10th birthday

I'm finding it really hard to put Jonathan's session into words - every time I try I can't seem to express what I saw and felt. Instead, I'm just going to link you to some of Jonathan's online works and let you experience them for yourself:

- WordCount
- We Feel Fine
- The Whale Hunt
- I Want You To Want Me

Jonathan also challenged the Flash community, and the producers of online media as a whole, to actually start saying something. He compared the tools we use to language, and made the point that language isn't worth a damn if we don't actually say something meaningful. After three days of fun and frivolity, this was a little bit too profound (and, to be honest, a little too serious) for me to comprehend.


End of Day 3
------------

So, that's it. Flash on the Beach is over for another year. I am exhausted, buzzed, inspired, and slightly disappointed at not having won anything in the mass giveaway at the end of the last session, all at the same time. I think I've consumed my body weight in tea, and absorbed more information than I can rightly expect to fit into my puny human brain. I'm sure there are going to be consequences for that, like forgetting my wedding anniversary or something, but I'll worry about that later. For now, I can't wait to get home and start playing.

If you're going to be in or around Miami between the 5th and 8th of April next year, I highly recommend booking tickets for Flash on the Beach: Miami as soon as they become available. And, by-the-by, if you need someone to blog about the event, and you have room in your suitcase, I'm sure I can make myself available.


Steve Webster
Front-End Engineer
Yahoo! Europe

Comments (0)

Report from University of Waterloo Hack Day

Editor's note: I've been asked to lead with a special thanks to IMPACT consulting group who helped plan, promote, and organize the Waterloo events and Professor Bill Bishop, who served as a guest judge. Also a shout-out to Yahoo! Canada, and the developers who came out in force from the Toronto office, including Ambles Kwok, an occasional YDN blogger, who also helped out as a judge.

The Waterloo University Hack Day has finished. We had a glorious 24 hours of hacking where Search Monkey tech lead Paul Tarjan, and I helped students with CSS, BluePrint, BOSS, YUI, PHP, Java, SearchMonkey, XSLT, SQL, and lots of Javascript questions. We hacked alongside the students, making a webpage(1) which shows all your open socket connections on a map. See the links section at the bottom of this post for links to most of the hacks mentioned.


The real stars were the students. Many of the teams lasted the full 24 hours. We camped out in the lounge on the 3rd floor of the Math building. Pasta for dinner, then a midnight pizza delivery along with more Twizzlers than anybody should ever eat. Breakfast, then lunch, and before you knew it the deadline was on us. There was a lot of last-minute hacking to get the hacks to a presentable state and in the end the quality of all the hacks presented was amazing.

University of Waterloo - Where's Rasmus?
Photo Credit Jamie Lockwood


Like the hack day at UIUC last week we had special categories for BluePrint, BOSS, and SearchMonkey along with our top-3 overall prizes. Unfortunately we can't give prizes to everyone. A few of my personal favourites didn't end up winning prizes: The Tiny Vector Graphics(2) editor was one. That slick little vector language brought back memories of Logo and Turtle for me and it is great fun to play with it. Try it out. I also liked the ideas in the CalendrViewr2.0Beta hack(3). Are they perhaps trying to poke a little fun at Web product names, numbers, and everlasting beta cycles with that name? MaybeNotSpam presented an interesting way to give our sent messages that ended up in someone's spam folder on Yahoo Mail or GMail a second chance to be moved back to the Inbox. In the process of building this hack, Holden caused a bit of a stir with his Slashdot posting on how the Zimbra Desktop client communicates with the Yahoo IMAP server. And Edgar A. Bering gave us a lesson in quantum computing and Scheme that I didn't grasp a word of, but
was fascinating nonetheless.

Other highlights included a mobile RSS reader written using the BluePrint API called Feedy! and a Web directory index enhancer simply called DIR. We also saw another stellar batch of SearchMonkey apps: the simplest and funniest being the "Canada Eh?" app that added an "Eh?" to the end of all Canadian URLs. A combination of IMDB, Torrent searches, and Last.fm apps along with a tv.com app, a WorldOfWarcraft app(4), and a nice Map Infobar with driving directions from your geoip-located location.

In the end we had to pick some winners. In the BOSS category, we liked Clustr(5) by Alex Leong, Nick Engelking, Danielle Alessio, and Josh Lamontagne. It does a number of BOSS searches to determine the relationship between search terms, finds images to represent each and gives you a graphical cluster where the size of the images and the distances between them indicate correlation between them.

In the BluePrint category, we chose Mobill(6) by Chong Su, Toshio Wang, Carol Yu, and Jason Cham. It keeps track of your expenses, giving you some nice sorting and graphical visualization tools right on your phone. Also included: a Web service where you can download your expenses into a spreadsheet.

In the SearchMonkey category, we chose Jeff Pound's API Monkey app(7). It is able to provide language-specific reference help for a number of languages. And it does a really nice job of showing the most relevant parts of the various reference docs. He did a cute hack to pull out the query string and found a bug in our URL parsing.

Overall third place went to a friend-visualizer hack called Globami(8) by 1st-year student Renaud Bourassa. It let you easily see where anybody's friends are on a couple of networks either in a nice Web UI or in a SearchMonkey Infobar.

Second place went to Flare(9) by Michael Campagnaro and Niall Wingham. Flare is a semantic markup tool written in JavaScript. Anything that helps push the Web towards more semantic markup is important. Flare currently only supports RDFa, but I really hope Michael and Niall continue working on it and add eRDF and all the popular microformats to it. They parsed the vocaulary file and pulled out the definitions, which in theory could let a user apply it to any arbitrary vocabulary. I can see myself using this constantly to go back and fix my Web content
written before I became semantically enlightened.

And finally, the first overall prize went to an impressive hack by Addy Cameron-Huff named HackDemocracy(10). Addy managed to organize an incredible amount of data and put an easy-to-use and very polished UI on top of it. In the end what we get is an incredible political research tool that allows us to dig into how your local MP has represented you by looking at what he/she has said on-record in Parliament. You can see see the excerpt about the topic you care about or the entire speech. You can also see how the parties stand on issues you care about based on how often they talk about those issues. And finally he added a simple RSS API for you to fetch the text of speeches by topic to let you build off of his hard data mining work.

University of Waterloo Hack Kickoff
Photo Credit Jamie Lockwood

I graduated from Waterloo 15 years ago. I spent 5 years in a dingy Systems Design classroom. I see the poor Systems students are still stuck with those same old classrooms, but I am told there is hope for a change soon. We didn't have laptops with wifi in class. We didn't have the fancy food court in the Campus Center. The Bomber
was called the Bombshelter and we didn't have the Tatham Center with its computerized co-op system. We shuffled papers around in Needless Hell, watched lectures written in chalk or on overhead projectors instead of Powerpoint slides and I don't think I ever set foot in the Math building. Even though just about everything has changed, and I felt every bit of the 40 years I will be turning next month walking around campus, somehow Waterloo hasn't changed at all. It is full of bright kids with a fire in their eyes bound to change the world.

Rasmus Lerdorf
Technical Yahoo

(1) http://progphp.com/sockets.php (only tested on OSX/Firefox)
(2) http://www.jimmyhe.com/
(3) http://www.forgethotchicks.com/calendarFinal/calendar/testo.php
(4) http://gallery.search.yahoo.com/application?smid=ajv.s
(5) http://clustr.wolfjourn.net/
(6) http://beta.m.yahoo.com/w/devtest-chongasu-mobill
(7) http://gallery.search.yahoo.com/application?smid=09H.s
(8) http://globami.rhinosphere.com/
(9) http://flare.impact.org/
(10) http://yahoo.summerhilldesign.com/

Comments (1)

YUI for control freaks - a presentation at The Ajax Experience

October 1, 2008

The last three days had about 300 developers come to Boston, MA to listen to an impressive array of speakers about everything JavaScript and Ajax related. The Ajax experience conference had the who's who of JavaScript world available for Q&A: Brendan Eich, inventor of the language, Douglas Crockford, spokesman for the "Good parts of JavaScript", John Resig from jQuery, Andrew Dupont of Prototype and Dylan Schiemann of Dojo to name but a few.

The Ajax Experience Browser incompatibility panel

When the organizers asked me to come around and speak about something YUI related I was very flattered and happy to take the 6 hour hop from London to Boston. In terms of weather there is no difference between the two anyways.

I managed to sneak into the 'Top 10 Cross-Browser Issues' keynote panel moderated by Peter-Paul Koch of Quirksmode.org on day one to represent YUI together with the other experts of jQuery, Dojo and Prototype. Despite the four of us looking like we're candidates on the dating game there was a lot of consent on the panel and I hope we managed to hammer the message home that whilst there are many different libraries with different APIs and ideas, all we really want to do is make life easier for developers.

I was scheduled to speak in the last track of the three day conference, which is a bit of a drag as the attendees would be quite worn out from the amount of information and refreshing after-party beverages, but all worked out fine.

In my talk I wanted to make very clear that while YUI is a library much like the others, the real power of it lies in the control it gives you over the whole frontend development process from start to end.

The slides are available on slideshare and here are the code examples mentioned in the slides for browsing and to download as a zip.

All in all I am very proud to have been in Boston and part of a great conference. It was interesting to meet a lot of developers you normally don't meet in Europe or at the West Coast and there was an amazing amount of knowledge and experience sharing going on.

Chris Heilmann
Yahoo Developer Network

Comments (0)

Flash on the Beach: Day Two

September 30, 2008

This is the second in a series of articles reporting on Flash on the Beach, one of Europe's premier Flash conferences held in Brighton, UK. Since there are tonnes of sessions I'm going to pick out my personal highlights, but you can always check the official Flash on the Beach site for more information.

The second day at Flash on the Beach started at a much more civilised hour for me. Since I'd already registered, I could afford to spend a whole extra hour in bed before jumping on the train to Brighton. I even managed to grab some breakfast on the way, and the extra brain food that brought was going to be essential in making it through probably the most technical of the three days.


Aral Balkan: Grab the Low-Hanging Fruit
---------------------------------------

The day started with an inspirational talk from Aral Balkan on, essentially, learning to play. The main thrust of his presentation was that we spend way too much time getting hung up on patterns, frameworks, and the best way to approach a particular problem. This leads to procrastination, which means that the cool ideas in our heads are trapped there forever. If we can stop getting hung up on how best to implement something, we can all have more fun (and who doesn't need more fun in their lives, right?).

The one thing he showed that really stuck in my mind was Scratch. Scratch is an MIT-developed tool that makes it ridiculously easy to create simple interactive Java applets graphically, without having to write a single line of code. Aral's point in showing this was that we shouldn't feel limited or intimidated by the tools we are given. Like Java, ActionScript 3.0 is a powerful language, but that added power has made it more difficult for people who have never written a line of code in any language to start learning. The Scratch developers have built a graphical programming environment where you don't need to know a complex language like Java to create simple or even moderately complicated interactive projects.

I think Aral is planning on running the same talk at a number of conferences this winter. If you get a chance, I highly recommend this session to get your creative juices flowing. It's inspiring stuff.

Niqui Merret: Accessibility - Beyond the Basics
-----------------------------------------------

After a quick slurp of tea (mmmm... caffeine) I dashed into the Corn Exchange for Niqui Merret's session on accessibility. I've seen Niqui talk maybe half a dozen times on Flash and accessibility, and I always come away from those sessions having learnt a lot about what it means to develop for people with disabilities. This session was no exception. Rather than spend a long time on the basics of accessibility, after a quick introduction Niqui dived into some of the more advanced areas of creating accessible Flash sites.

There was some really great advice here on how to implement accessibility as painlessly as possible. After talking briefly about what you get for free in terms of accessibility from Flash's default behaviour, Niqui moved on to show off some of the base ActionScript classes she has created to make her life a little easier. One class makes decorating a UI element with accessibility attributes as easy as a single function call, and then a set of base UI classes for various different types of control makes use of that class. Creating accessible controls is then a simple matter of extending those classes and overriding the appropriate methods.

The talk itself was intentionally kept short. After her presentation, Niqui opened the floor and spent the rest of the session engaging the audience and answering questions on accessibility. It always gives me a buzz to see how many people in the room actually care. Niqui's passion for accessibility is infectious. As I left the room, I caught snippets of conversations from other attendees about putting their new-found knowledge to use in their own projects.


Joa Ebert: Audiotool's Private Parts
------------------------------------

Just before lunch, with my stomach already rumbling with hunger, I took my seat back in the Corn Exchange for Joa Ebert's session on all the behind-the-scenes stuff that makes AudioTool tick. The actual process of programatically generating audio will be covered by André Michelle's session tomorrow, but Joa promised to cover as much of the other stuff as he could in the allotted time. That turned out to be just enough to make my brain explode.

If you've not played with AudioTool, I highly recommend you check out the AudioTool video tutorial. The user interface is stunningly gorgeous, essentially replicating real-world pieces of audio equipment all wired up with cables to produce, modify and output all those screeches, pops, and whizzes that dance music producers love so much. If you've ever played with Propellerhead Software's Rebirth, you'll have an idea of what I'm talking about.

Joa spent a while talking about the impossibly complex problem of routing and drawing the connecting cables so they don't overlap any of the pieces of audio equipment you have on the stage. It turned out that routing wasn't the problem - it was doing so in a way that didn't adversely affect the performance of the application or (most importantly) the audio playback. The answer Joa arrived at was to use a quadtree to divide the stage and limit the amount of elements to be tested. This is a technique commonly used in gaming (3D games use octrees) to improve collision detection performance.

Once we were done with quadtrees, Joa showed off something he'd worked on that simply blew my mind. Graphically, Flash has always had an issue with having lots of elements on the stage at once. Although the performance is getting better with every version of the Flash Player, it still lags behind the performance of hardware-accelerated solutions like OpenGL. Joa rebuilt the entire Flash display stack in Java using OpenGL, and then ported parts of AudioTool to run on that system, just to test the relative performance gains. He also built an entire interactive shell in AudioTool so that he can debug the application while it is running.

Needless to say, I came out of this session with the sad realisation that I am an average coder at best. I guess if all else fails I can always limp my way into management, where you're not really expected to know what you're talking about, and you just need to make sure that the people you're hiring are smarter than you.

Jam Session
-----------

The only really notable session that I attended after lunch was the jam session, which was a last-minute replacement for Nando Costa's "Motion Graphics, One Step At a Time". Apparently poor Nando is stuck in the US until FedEx finally get around to delivering his green card, so John Davey convinced a bunch of the speakers to get together for a code jam session. The result was possibly one of the best sessions so far, with really smart developers like Keith Peters, Joa Ebert and Ralph Hauwert showing off some of the cool experiments they just happened to have lying around on their MacBook Pros.

I really dig this kind of stuff, and it reminded me of all the awe-inspiring experiments from people like Joshua Davis, Jared Tarbell, and Manny Tan that got me interested in Flash 11 years ago.


End of Day Two
--------------

Once again, my train ride back to London and my duty to you, loyal YDN blog reader, meant that I had to skip the inspired session and the after party. Tomorrow is the last day of Flash on the Beach, and if it's even half as good as today I'm in for a treat.

Steve Webster
Front-End Engineer
Yahoo! Europe

Comments (0)

Copyright © 2008 Yahoo! Inc. All rights reserved.

Privacy Policy - Terms of Service - Copyright Policy - Job Openings