SlideShare une entreprise Scribd logo
1  sur  10
ADVENTURES WITH YUI
                FE Suffolk
             Robin Meehan
               March 2013
I mean this…

                                                                      http://yuilibrary.com/

                                                                      “YUI is a free, open source
                                                                      JavaScript and CSS library for
                                                                      building richly interactive web
                                                                      applications. ”




             Not this… 
             (Japanese singer-songwriter)




Image taken from http://combpank.deviantart.com/art/YUI-2-198206705
SOME BACKGROUND
Used YUI to create a dodgy shoot-em-up tenuously related to cloud
computing as part of a Smart421 internal “Play with Azure” competition

BRIEF HISTORY OF YUI
• Yahoo! User Interface Library (YUI) - came out of Yahoo! web
  development team from 2005, first released to public in 2006
• YUI3 released in Sept 2009 – a rewrite
• I used YUI version v3.4.1
• It’s now at v3.9.0 (released on March 13th)

WHY DID I USE/CHOOSE IT?
• Documentation seemed good & accessible, good examples
• Did what I needed – animation mainly
• Interesting features – module based
ISSUES I HAD

• No browser-support related issues at all
       •   Ran on iPhone 4 fine except for the key handling (but YUI does have mobile
           gesture support, just didn’t try it out)


• All client-side, so struggled to secure the transfer of scores back to
  the server

• Animation control was good, but…had to code my own collision
  detection, which had performance consequences
       •   Maintain own array of object locations
       •   Update them on every “move” event
       •   Check for collisions on every “move” event


• Key handling – trickier than I expected
       •   Couldn’t avoid auto key repeat
What suspicious behaviour looks like!




This is what you get if you send out a weakly secured demo in a
technology company 
Creating the background image – a gradient sky with a sun…
Animation code example – easy for the bullet and the clouds…




…not so easy for the gun, due to need to control it with keys…had to use
a flag from “key up” to stop the gun animation…




…and had to roll my own collision detection…
SOUND
I used SoundManager2 for sound control – it did what it said on the tin…

www.schillmania.com/projects/soundmanager2/
OK – enough talk. Always dangerous…now a demo!
THANKS!

Contenu connexe

En vedette

Panayiotis Vitakis @ Open Coffee Athens LIII, 22-Feb-2013
Panayiotis Vitakis @ Open Coffee Athens LIII, 22-Feb-2013Panayiotis Vitakis @ Open Coffee Athens LIII, 22-Feb-2013
Panayiotis Vitakis @ Open Coffee Athens LIII, 22-Feb-2013Open Coffee Greece
 
여성환경활동가 전국연수(2001년) _주민자치와 여성세력화
여성환경활동가 전국연수(2001년) _주민자치와 여성세력화여성환경활동가 전국연수(2001년) _주민자치와 여성세력화
여성환경활동가 전국연수(2001년) _주민자치와 여성세력화여성환경연대
 
Ecuaciones Sencillas. Regla del producto
Ecuaciones Sencillas. Regla del productoEcuaciones Sencillas. Regla del producto
Ecuaciones Sencillas. Regla del productojavisugra
 

En vedette (6)

Panayiotis Vitakis @ Open Coffee Athens LIII, 22-Feb-2013
Panayiotis Vitakis @ Open Coffee Athens LIII, 22-Feb-2013Panayiotis Vitakis @ Open Coffee Athens LIII, 22-Feb-2013
Panayiotis Vitakis @ Open Coffee Athens LIII, 22-Feb-2013
 
Donation project
Donation projectDonation project
Donation project
 
여성환경활동가 전국연수(2001년) _주민자치와 여성세력화
여성환경활동가 전국연수(2001년) _주민자치와 여성세력화여성환경활동가 전국연수(2001년) _주민자치와 여성세력화
여성환경활동가 전국연수(2001년) _주민자치와 여성세력화
 
LEARN FAMILY MASSAGE
LEARN FAMILY MASSAGE LEARN FAMILY MASSAGE
LEARN FAMILY MASSAGE
 
Learn family massage program
Learn family massage programLearn family massage program
Learn family massage program
 
Ecuaciones Sencillas. Regla del producto
Ecuaciones Sencillas. Regla del productoEcuaciones Sencillas. Regla del producto
Ecuaciones Sencillas. Regla del producto
 

Dernier

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Dernier (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

Adventures with YUI: Building a shoot-em-up game with the Yahoo! UI library

  • 1. ADVENTURES WITH YUI FE Suffolk Robin Meehan March 2013
  • 2. I mean this… http://yuilibrary.com/ “YUI is a free, open source JavaScript and CSS library for building richly interactive web applications. ” Not this…  (Japanese singer-songwriter) Image taken from http://combpank.deviantart.com/art/YUI-2-198206705
  • 3. SOME BACKGROUND Used YUI to create a dodgy shoot-em-up tenuously related to cloud computing as part of a Smart421 internal “Play with Azure” competition BRIEF HISTORY OF YUI • Yahoo! User Interface Library (YUI) - came out of Yahoo! web development team from 2005, first released to public in 2006 • YUI3 released in Sept 2009 – a rewrite • I used YUI version v3.4.1 • It’s now at v3.9.0 (released on March 13th) WHY DID I USE/CHOOSE IT? • Documentation seemed good & accessible, good examples • Did what I needed – animation mainly • Interesting features – module based
  • 4. ISSUES I HAD • No browser-support related issues at all • Ran on iPhone 4 fine except for the key handling (but YUI does have mobile gesture support, just didn’t try it out) • All client-side, so struggled to secure the transfer of scores back to the server • Animation control was good, but…had to code my own collision detection, which had performance consequences • Maintain own array of object locations • Update them on every “move” event • Check for collisions on every “move” event • Key handling – trickier than I expected • Couldn’t avoid auto key repeat
  • 5. What suspicious behaviour looks like! This is what you get if you send out a weakly secured demo in a technology company 
  • 6. Creating the background image – a gradient sky with a sun…
  • 7. Animation code example – easy for the bullet and the clouds… …not so easy for the gun, due to need to control it with keys…had to use a flag from “key up” to stop the gun animation… …and had to roll my own collision detection…
  • 8. SOUND I used SoundManager2 for sound control – it did what it said on the tin… www.schillmania.com/projects/soundmanager2/
  • 9. OK – enough talk. Always dangerous…now a demo!