Apr 3 2008

YouTube and Picasa Web API Hackathon

Last week I had the pleasure of attending the YouTube / Picasa Web API Hackathon at Googleplex. Google is always a great host and they provided food, t-shirts, and even raffled a pass to Google I/O.

The hackathon started out with presentations by folks on the Google Data (GData) team. All of Google application make their data available through the GData API. GData is available in different formats including RSS or Atom. Every data point of Google’s applications are made available through GData, for example YouTube user profiles, video data, play lists, subscriptions, and video views can be accessed via GData feeds. The GData API does allow application developers to read and write data to Google Applications, but write operations require authentication. For example, uploading a new video, modifying video metadata, or writing comments requires authentication. For web applications or services that need to be authenticated by GData API they need to use AuthSub. AuthSub redirects the end user to a Google site for the end user to log into Google and then Google forwards back to the requesting site with a valid authenticated token. The GData team strongly discourages (or disallows depending on who you ask) for third party application, services, or developer from collecting Google user credentials. Since AuthSub requires the user to login at a Google site, third-party applications don’t need to collect Google credentials.

As I mentioned earlier, GData can be delivered via RSS or Atom. Because YouTube and Picasa describe media files such as videos and images, those APIs also use Media RSS.

Geoff Stearns, Flash hacker on the YouTube team, talked about the YouTube Player API. The embeddable YouTube player can be customized and configured with parameters in the video url. Parameters include rel, autoplay, loop, border, and others. Rel is a boolean value that indicates if you want related videos to be displayed in the ‘genie menu’. Autoplay indicates is a boolean value that indicates if the video should play once loaded. In addition to player parameters, the YouTube player can be manipulated via JavaScript. The YouTube player can be made to play, pause, stop, mute/unmute, get/get volume, and seek ahead in the player. It is incredible easy to manipulate a video through the YouTube Player API, you can build your own video controls with JavaScript. Since the YouTube player can be manipulated entirely via JavaScipt, developer have an option to building their own video player with their own custom controls with the YouTube Chromeless Player.

Geoff has a kewl mashup example between YouTube JavaScript API and Google Maps. The mashup is a on board video of a race in San Francisco. As the video proceeds it updates the Google map as of the location of the camera, in essence you get a street view of the race and a aerial view of the race track.

Technorati Tags: , , , , , , , , , , , ,


Feb 13 2008

JavaOne 2008 Sessions

I was reading over the descriptions for the currently scheduled sessions for JavaOne 2008. Here is a short list of the sessions that seem interesting to me in no particular order.

  • BOF-5110: Extending Groovys Swing User Interface in Builder to Build Richer Applications
  • BOF-5998: Meet the Java Posse
  • BOF-6229: Cutting-Edge Productivity with RIFE and Web Continuations
  • PAN-5435: The Script Bowl: A Rapid-Fire Comparison of Scripting Languages
  • TS-4806: JRuby on Rails: Web Development Evolved
  • TS-4868: From Java Technology to Ruby…and Back
  • TS-4895: The NetBeans IDE Compared to the Eclipse Rich Client Platform
  • TS-4982: Extending Swing: Creating Your Own Components
  • TS-4986: JavaScript Programming Language: The Language Everybody Loves to Hate
  • TS-5152: Overview of the JavaFX Script Programming Language
  • TS-5165: Programming with Functional Objects in Scala
  • TS-5416: JRuby: Why, What, How…Do it Now
  • TS-5572: Groovy, the Red Pill: Metaprogramming-How to Blow the Mind of Developers on the Java Platform
  • TS-5579: Closures Cookbook
  • TS-5764: Grails in Depth
  • TS-5793: Groovy and Grails: Changing the Landscape of Java Platform, Enterprise Edition (Java EE Platform) Patterns
  • TS-6096: Nimbus: The New Face of Swing
  • TS-6169: Spring Framework 2.5: New and Notable
  • TS-6457: Choosing Your Java Technology-Based Web Framework: A Comparison
  • TS-6490: JRuby on Rails Deployment: What They Didn’t Tell You
  • TS-6609: The JavaFX Script Programming Language for Swing Developers
  • TS-6611: Filthy-Rich Clients: Filthier, Richer, Clientier
  • TS-6656: Extreme Graphical User Interface Makeover: Rock Stars
  • TS-6929: Creating a Compelling User Experience

I have gone to JavaOne four out of the last five years and have compiled pretty complete conference notes for JavaOne 2007 and JavaOne 2006.

Technorati Tags: , , , , , , , , , , ,


Dec 11 2007

TechKnow Year In Review 2007

It is that time of year where we reflect on the accomplishments of the passing year and look forward to the one to come. Here is a window into the past year in technology through this year’s popular posts on TechKnow Juixe.

Top 5 Top Lists

Software Development

Java

JavaScript

Ruby

Ruby Shoes

Ruby on Rails Plugins

Windows Tips

Mac OS X Tips

Year In Review

Seasons Greetings

Technorati Tags: , , , , , , , , , , , ,


Nov 11 2007

2008 JavaOne Call for Papers

If you ever wanted to be a speaker at JavaOne, you have until November 16 to submit your proposal for technical or Birds of a Feather sessions. Last year a big theme was Java scripting with Groovy and JRuby and I expect this to be a hot topic at the JavaOne 2008. I also think that there is enough interest that some technical sessions will be devoted to Scala. Web frameworks that depended on these programming languages, such as JRuby on Rails, Grails, and Lift, would be great Bird of a Feathers sessions.

At JavaOne 2007, some popular sessions where those that pimped out business application GUIs, such as the Filthy-Rich Clients talks by Chet Haase and Romain Guy. Anything session talk that promises to jazz up an application UI will definitely be well received. Last year, Sun made a big splash by announcing JavaFX Script and I am sure there will be a lot of interest on this technology at JavaOne 2008.

If you think you can give a talk on any of these topics, you have until November 16 to submit your proposal. Good luck and see you there at JavaOne 2008!!

Technorati Tags: , ,


Oct 12 2007

You Might Be in a Broken Project If

I think that some of the best Java Posse rants happens when they do a live show. The following is my transcription from their live show at JavaZone 2007.

Top reasons indicating you might be in a broken project…

  • It adds three months to add a checkbox on a web UI
  • Everything starts to look like it would be quicker to rewrite
  • Everyone on the project has architect on their business card
  • Conversations always start with ‘oh that, that is really simple…’ followed by a thirty minute discussion of what is required
  • You time your life around The Build
  • The GUI is written in AWT or HTML 3.2
  • The GUI is written in something you wrote yourself
  • The Project X is a homegrown web framework
  • Someone just added five more hours of meetings to your day because the release is late
  • The guy that is supposed to train you, throws a file full of notes, and runs away
  • The lines of XML outnumber the lines of Java 10 to 1
  • You ask about JUnit tests and you get blank stares from everyone

Technorati Tags: , , , , , ,


Jul 9 2007

iPhone Dev Camp

iPhone Development

The iPhone Dev Camp started on Saturday by a nice presentation by Chritopher Allen, a MacHack veteran, regarding what is known about the iPhone from a web developer’s perspective. What is known is that the iPhone uses web standards (HTML, XHTML, CSS, JavaScript, PDF and Quicktime). Web 2.0 best practices apply for the iPhone, such as the proper use and sepration of HTML, CSS, and JavaScript. Christopher recommends avoiding the use of Flash, SVG, Java applets, embedded video, custom x.509 certificates, and framesets. Christopher also states the the finger is not a mouse and you need to design accordingly with large enough buttons and links with plenty of space between each other.
Fingers can do more than the traditional point and drag cursor such as double tap, touch and hold, one or two finger drag, flick, and pinch.

It might come as a surprise but many of JavaScript events don’t work, such as onscroll, onkeydown, onkeypress, onmousemove, etc. Some web development recommendations for the iPhone are to use columns and small blocks in the layout, such as floating divs. You should also use the tel: and mailto: protocols in links. You can also integrate with Google Maps simply by adding your location search to maps.google.com/maps? URL.

The current activity on the the iPhoneWebDev Google Groups seems to be focused around iPhone specific development libraries, implementing the infamous back button, debugging JS, optimizing application for low bandwidth, and hacking the viewport. There is also a series of open questions such as, what level of support is there for the canvas tag? What level of persistent storage is available, cookies? The right questions will lead to the right answers. I have also published a great list of available iPhone development resources.

Most of time at the iPhone Dev Camp was spent developing a collaborating for the hack-a-thon. This was a working camp focused on developing some really cool applications on the iPhone.
Continue reading