Other Websites

  • SeaCloud9 Interactive
  • SeaCloud9 Commercial Development
  • i-os
  • stArcade9

Brendon Smith Social Networks

  • On Linkedin
  • Bookmarks
  • On Twitter
  • On Facebook
Open ↓ Close ↑
  • Home
  • Subscribe
Browse: Home / i-create, JavaScript, MashUp / Next Chapter
i-create | therefore-i am
i-create | therefore i-am | a blog about opensource technology and rich internet applications
 

Next Chapter

By Brendon Smith on March 28, 2010

 

Well the good news is I am officially a Rich Internet Application Developer! So I will mainly be focusing on creating reusable controls with JavaScript and ActionScript for the retail store Hayneedle! I will miss working with all the wonderful developers at infoGroup. I was fortunate enough to start their as a Graphical User Interface Developer and end as a Software Engineer. I have learned a tremendous amount from working at infoGroup and will miss all of them. I will also never forget all the knowledge they shared with me. C# is an awesome language and so is Ruby on Rails! I will continue to use both in the future! While working at infoGroup I worked on numerous projects 2 newer versions of Salesgenie.com and one entirely new product SalesDesk a real-time CRM. I utilized jQuery, CSS, ASP.NET 2.0, ASP.NET 3.5 (MVC), and Ruby on Rails. I will continue to learn and use new languages at my new post at Hayneedle I will be using ColdFusion, JavaScript, and ActionScript. I think it will be fun to have a change of pace and I am really excited to be a part of their development / user experience group! I believe this job will enable me to use my creative side a little more; so I think that will be enjoyable and I think I will learn a tremendous amount by working with the new team they are an extremely innovative group. It is always good to challenge yourself and change things, and have new experiences, I will miss infoGroup. This month I have been extremely busy I am currently working with two clients in the Omaha Metro area and I will be teaming up with MinorWhiteStudios on future projects so I am excited to be working with them. I believe they are the best photographers / designers in town. I hadn’t talked to Scott in years and it was nice of him to call me. His whole team is extremely creative and I belive I will also learn a great deal working with them!

I have really been sitting around and reading a great deal at home. I don’t get out much anymore. I find myself playing with new technologies on my off time. I have also been working on a game for a client of mine and hopefully I can have a demo of that soon! Lately I have been playing around with ProcessingJS and here is a new experiment. This example uses a font from DaFont. This example also borrows from this example thanks to @F1LT3R for sharing this example. You know it’s fun using Processing with jQuery I will continue to watch and play with this framework because its fun:)

var jData;
var objClik = new Array();
var colorPool = new Array("#075997","#079714","#970744","#079792","#970769","#078497", "#970718", "#075197", "#079733","#079707");
function loadFeed(){
	jQuery.getJSON("http://pipes.yahoo.com/pipes/pipe.run?_id=2432dea4d4d6afa353c425dc5e542fb4&_render=json&_callback=?", function(json) {
	jData = json;
	jQuery('#YahooPipe').width(jQuery(window).width());
	jQuery('#YahooPipe').height(jQuery(window).height());
	loadProcessing();
});
}
jQuery(document).ready(function() { 
try{
if(!jQuery.browser.msie){
loadFeed();
}else{
	jQuery('#result').text("Sorry you are using Internet Explorer an inferior browser please utilize a next generation browser like FireFox, Chrome, or Safari!");
}
}catch(err){
	jQuery('#result').text("Sorry Pipe Failed to Load Please refresh and try again:)");
}
});
 
function loadProcessing(){
		var script = document.getElementById( 'linkScript' ).text;
		var canvas = document.getElementById( 'YahooPipe' );
		Processing(canvas, script);
	}
 
 
void setup()
{
  strokeWeight(0);
  noStroke();
  size(jQuery(window).width(),jQuery(window).height());
  background(255);
  smooth();
}
PFont font = loadFont("Champagne_Limousines.svg");
void draw() 
{
  for(i = 0; i < jData.value.items.length; i++){
  int pointX = random(0,jQuery(window).width());
  int pointY = random(0,jQuery(window).height());
  int fSize = random(30,65);
  objClik.push(new alinked(pointX,pointY,fSize,jData.value.items[i].link, jData.value.items[i].title, colorPool[Math.floor(Math.random() * colorPool.length)],colorPool[Math.floor(Math.random() * colorPool.length)])); 
 
  }
  forLinks('render');
  exit();
}
 
 
void forLinks(mode){
  for(int i=0;i < objClik.length; i++){
    t=objClik[i];
    switch(mode){
      case 'render':objClik[i].render();break;
      case 'detect':
        mouseX > objClik[i].x &&   
        mouseY > objClik[i].y &&
        mouseY < objClik[i].y+t.size &&
        mouseX < objClik[i].x+t.anchorWidth?
          objClik[i].rollOver():
          objClik[i].rollOut();
        break;
      case 'clicks':objClik[i].mouseOver?objClik[i].clicked():0;
    }
  }
}
 
void mouseMoved(){forLinks('detect');}
void mouseClicked(){forLinks('clicks');}
 
class alinked{
  boolean mouseOver;
  color current_col;
  float anchorWidth;
  alinked(float x, float y, float size, String href,String anchor, Color text_col, Color hover_col)
  {
    href=href;    
    anchor=anchor;    
    this.size=size;
    this.x=x,this.y=y;
    text_col=text_col;
    hover_col=hover_col;
    current_col=text_col;
    mouseOver=false;    
  }
  void render(){
    anchorWidth=font.width(anchor)*size;    
    clear(x,y,anchorWidth,size+4);
    textFont(font,size);
    fill(current_col);
    mouseOver?rect(x,y+size+2,anchorWidth,1):0;
    text(anchor,x,y);    
  }
  void rollOver(){
    if(!mouseOver){      
      mouseOver=true;
      cursor('pointer');
      current_col=hover_col;
      render();
    }
  }
  void rollOut(){
    if(mouseOver){
      mouseOver=false;
      cursor('auto');
      current_col=text_col;
      render();
    }
  }
  void clicked(){
    link(href, "_blank");
  }
}

Launch Example / Download Example

This experiment simply grabs a yahoo pipe parses the JSON and then adds the links to the Canvas tag. It is really amazing to see all the progress of HTML5 and all the cool new JavaScript libraries. Please note internet explorer users will not be able to view this example because IE does not support the Canvas tag:(. Sometimes I have also noticed it fails to capture the JSON but I have a try catch so it should tell you to try again. I am not going to add a JAVA version of this project simply because I don’t have time too right now. I noticed ProcessingJS is now supporting some of the 3D functions of Processing (JAVA) I haven’t had time to play with them lately but I will make a data mashup with it as soon as I can find the time. I am also still working on my new Portfolio the never ending project maybe within the next two weeks I will actually post it! I am looking forward to CS5 and purchasing Flash Builder 4! I have also noticed that with libraries like Scripty2 it might be a fun to port over some Flash Games (AS2) utilize JavaScript so they can be enjoyed with out a plugin!

Sandy3D haXe 2 JavaScript Examples
Corona SDK
SproutCore JavaScript FrameWork
Scripty2
Excellent C++ RayCaster Example
Ajax RayCaster Example
XNA C# RayCaster

  • Share/Bookmark

Related posts:

  1. jQuery Abstract Lines Experiment
  2. When Pigs Fly With jQuery
  3. WebGL TweetTank Built with C3DL Part 2
  4. HTML5 jQuery jqPanoramic Plugin Alpha
  5. 404 Errors Hyped With PaperVision3d pt. 2

Posted in i-create, JavaScript, MashUp | Tagged AJAX, JavaScript, JQuery, JSON, MashUp, Processing, ProcessingJS, Yahoo Pipes

Brendon Smith

GUI Development, Action Script, Java Script, .NET, AJAX, Java, PHP, CakePHP, Mashup Development, Flash, Silverlight, C#, XML, SQL, Apache, IIS, Photoshop, Fireworks,etc.. Oh, and Biking and Camping

blog comments powered by Disqus
« Previous Next »
 
 

3d ActionScript Adobe Air Android Apollo Apple art as3 Away3D C# CakePHP CSS Experiment Flash Flash Develop Flex Games Generative Design Google HTML5 hype JavaScript Joshua Davis JQuery JSON Life Linux MashUp OpenSource Open Source PaperVision3D PC History Processing quick tip RIA Silverlight Technology/Internet travel twitter Web webGL Webware XML Yahoo Pipes

WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.

  • Monthly
  • Yearly
  • Links
  • August 2010
  • June 2010
  • May 2010
  • April 2010
  • March 2010
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • agit8
  • Away3D
  • Ben Nadel
  • Bit-101
  • Bruce Jawn
  • Causecast
  • D.I.Y.
  • Dr Woohoo
  • draw.logic
  • Flight404
  • Flong
  • generatorX
  • gSkinner
  • haXe
  • Jonathan Snook
  • Joshua Davis
  • Jot
  • Kirupa
  • LifeHacker
  • Make
  • Minor White
  • Mr Doob
  • NihiLogic
  • NurseOnTheRun
  • octane42
  • OpenFrameWorks
  • Processing
  • PV3D
  • Senocular
  • Sephiroth
  • ShineDraw
  • Stroep
  • SWX
  • Tech News
  • Toxi
  • UnitZeroOne
  • World We Live In
  • ZeusLabs

Photos

DSC00077.JPG

Recent Comments

  • seacloud9 on Tweet Tank in Away3D and Hype pt. 2
  • Brendon Smith on Tweet Tank in Away3D and Hype pt. 2

RSS LifeStream

  • Elysium
  • Giles Bowkett: Archaeopteryx: A Ruby MIDI Generator
  • Grant Nestor » Blog Archive » Generative music, huh?

Copyright © 2010 i-create | therefore-i am.