Activate your free membership today | Log-in

Friday, December 5th, 2008

Mozilla, Zazzle, and UIZE

Category: Examples, Framework, Mozilla

Moz Community Store

Mozilla is big on tinkering–making things your own. They recently released a marketplace for their community to upload its own shirt designs. But because they based it on the Ajax-heavy Zazzle platform, consumers can customize the shirts in a variety of ways. We thought this made for a good opportunity to take a closer look at Zazzle.

Easy Zooming

In the overview page showing different shirt designs, simply mousing over a shirt lets you zoom in on it in a smooth, easy motion.

Clicking into a shirt gives more Ajax goodness, like an alternate zooming interface showing the full-view and the detail simultaneously:

And finally, it has a shirt manipulation interface, though most of the design manipulation occurs on the server, it is sent back without a page reload, as we would expect:

Zazzle is built on the UIZE (pronounced “you-eyes”) Ajax framework which we covered briefly in 2006 and have yet to revisit. We’re not sure if UIZE is used by anyone but Zazzle, but it’s got a pretty nice website, docs, widgets, basic effects, an event system, and an inheritance system. We’ll have to give it a closer look!

Posted by Ben Galbraith at 1:01 pm
5 Comments

++++-
4.5 rating from 13 votes

Tuesday, October 14th, 2008

MozAfterPaint: Being able to get a callback event on repaint

Category: Firefox, Mozilla

John Resig put together a nice usage of MozAfterPaint, the new Firefox event that will call back letting you know when a repaint operation has happened:

The event object contains two properties: .clientRects and .boundingClientRect, both of which refer to the result of the associated DOM methods.

In a nutshell, boundingClientRect gives you a single rectangle encompassing the entire area in which a paint operation could’ve taken place whereas clientRects gives you a number of rectangles, each encompassing an individual area that was drawn.

To test this I created a quick demo using CNN.com (only works in the latest Firefox nightlies).

John creating a simple tracking script that uses the new event to show where you have been.

kourge reminded us of the related Flash event showRedrawRegions.

Robert O’Callahan mentioned a use for the event when he discussed SVG bling that made it into the first 3.1 beta.

David Hyatt put in a WebKit patch to add support for CSS transitions on some SVG properties.

Posted by Dion Almaer at 5:02 am
6 Comments

++---
2.8 rating from 8 votes

Monday, October 13th, 2008

Ajaxians join Mozilla; Creating a Developer Tools Group

Category: Ajaxian.com Announcements, Announcements, Mozilla

Today, we are really excited to be able to announce a big personal change. Ben and I are joining forces, full time, for the first time. What are we doing? We are joining Mozilla to create a new group with the charter to create developer tools for the Open Web.

Mozilla is placing a big bet, not only on us, but in the developer tools space.

Why are we doing this? Ben and I are passionate about a couple of things: compelling software and developers. In various roles in the past, we have built tools that attempt to make developers productive. We are huge advocates for the Open Web, yet we feel that tools are lacking on our collective platform. We want to help make a difference.

As we ramp up this new group, we will be looking at the problem and seeing where it makes sense to step in. We are going to be experimenting, and thinking about how to make developers lives better in different ways, so we aren’t expecting to see traditional tools come out of this group. Also, we don’t want to do this alone. We want to involve the entire community which is one reason that we are so excited to kick off this work at Mozilla. We believe that we have a unique opportunity to put developers first. We can build these tools in the open, with total transparency; the Mozilla way.

We respect the work being done by other vendors, and very much want to work together. We can’t wait to reach out early-on in the process, involving companies that believe in the Open Web like we do. Together we can drastically improve productivity, allowing developers to build compelling user experiences.

We are just getting started. As soon as we come up with some ideas, we will be sharing then with you and asking for community participation in various forms. You, the Ajaxian community, have been phenomenal over the years, and we can’t wait to do more together.

For our personal takes, see what I said and Ben thought.

Posted by Dion Almaer at 12:15 pm
15 Comments

++++-
4.8 rating from 75 votes

Tuesday, October 7th, 2008

navigator.geolocation now available in Firefox via Geode

Category: Mozilla

When I posted about using navigator.geolocation now the only support that I had was via Gears and the ClientLocation API. I wrote the shim to try to get you the W3C API no matter what, and today we have the first implementation in a browser, via Geode.

Geode is the latest project in Mozilla Labs that gives you that API in Firefox. Aza Raskin has a nice Food Finder application that ties it together with local search and maps.

Differences between Geode and Geolocation in Firefox 3.1

Geode and the Geolocation Services in Firefox 3.1 will use the same W3C API for Geolocation, meaning that the same Javascript code will work in both. The still-in-developement Firefox 3.1 version will allow the user to choose a geolocation service provider, which can either be a peripheral device like a GPS, or a web-based service provider like we’ve used in Geode. We’ll be using the feedback we get from Geode, as well as the feedback we see on the upcoming Firefox 3.1 Beta and Fennec Alpha releases, to refine the feature before shipping it in a future Mozilla product release. We’re particularly interested in ensuring that the final implementation is as sensitive to user privacy and choice as possible.

They also got some partners to start playing with this:

To kick off Geode, two other websites have started innovating with location. Both require accounts before you can try them out.

Pownce is a service that makes it easy to send stuff (music, photos, events, and messages) to your friends. Adding the power of location — where you are when you uploaded a photo or sent a message — paints a compelling picture that helps you discover friends and activities around you. Head there to see it in action (you’ll have to sign up for an account).

Yahoo! Fire Eagle is a service that acts as a broker for your location, creating a single place where any web service, from any device can get access to your last updated location. Fire Eagle integrates with Geode so that you’ll never have to manually enter your location again. Once you have a Fire Eagle account, you can see Geode working here.

Posted by Dion Almaer at 1:32 pm
2 Comments

++++-
4.5 rating from 13 votes

Thursday, September 25th, 2008

input type=camera to give us a simple way to integrate to Webcams

Category: Browsers, Component, Firefox, HTML, Mozilla

There are a substantial number of iPhone apps that tie into the builtin native components such as the camera.

Brad Lassey has been hacking on Fennec (the Mozilla mobile browser) as well as Firefox itself to integrate with camera phones and Webcams alike:

I wrapped a video tag, image and a few buttons in xbl and bound it to <input type=”camera” />. When a user hits a website using this tag, he or she currently will see a live video preview and a “take photo” button. When the user clicks the button, the photo is grabbed from the camera and shown to the user in the image element. The image element and video element are in a deck element so only one is shown at a time. After the photo is taken, there is a button that reads “Take another photo,” in case the user doesn’t like the one they just took. Once the user is satisfied, this element works like any other form element and the file can be uploaded to a web service.

After talking to a few people this should actually be bound to <input type=”file” accept=”image/png”/>. Also, it needs some UI design both for what it looks like in content and for a configuration dialog. Finally, we’ll need to think about security and make sure no one can snap a photo of you when you’re not looking your best.

I kinda like having an input type="camera" myself, to be more explicit. It would be cool if you can get access to the image as data (e.g. the value is data:......). I love it.

Posted by Dion Almaer at 6:13 am
9 Comments

++---
2.2 rating from 74 votes