Here’s an interesting link for a Friday. Viktor Zeman on Quality Unit sent us a link to “PostAffiliateXpress“, some boring IT application with an interesting interface and an even more intriguing back-end.
The UI combines a Vista-like “Start” menu along with an OS X-like dock (using everyone’s favorite fish-eye widget). It also has a built-in widget system that leverages Google Widgets. Overall, it’s a pretty nice implementation of a desktop and windowing in Ajax.
The framework itself is “GwtPHP” which attempts to take all the advantages of GWT and deploy them to PHP backends in an attempt to solve the problem of limited Java-friendly hosting services. Unfortunately, the framework isn’t available for use until sometime in early November.
Dual-License
The developers intend to use the familiar “free for hobbyists, pay up for commercial use” licensing model (what their licensing page calls a “what for what” model).
Give some feedback
Viktor says that they are quite keen to get feedback from folks on the project, so interested folks should get in touch, let them know what you think about the licensing model, and perhaps get early access, etc.
SproutCore jumped onto the scene when MobileMe launched to much acclaim on the visual side (even if the back end couldn’t handle the load).
It doesn’t seem to be a one-hit wonder, especially in the field of e-mail. OtherInbox “provides consumers with a free email account that automatically organizes newsletters, social networking updates, coupons and receipts from online purchases”, and showcases SproutCore again.
If you are looking to build desktop-looking applications, it is worth giving SproutCore a look.
Ruven Pillay has updated the JavaScript image viewer that we posted on awhile back. We asked Ruven what he has done and he told us:
Well, I’ve just released a new version which updates the libraries to Mootools 1.2 and adds a whole bunch of useful features like navigation buttons, a draggable navigation window and the ability to create layers.
I’ve also tried to push javascript to it’s limits and build an advanced visualization application around the IIPMooViewer. There is a demo of a multispectral viewer, which allows you to blend between different kinds of scientific imagery of the same painting. For example, you can blend between a normal colour image and an X-ray / UV or infra-red view. You can also view the spectral curve at each point on the painting when you click on the main image. The whole thing is pure javascript (using Mootools) with the graphing done using Canvas/VML via the MooCanvas library.
Scott Schiller (SoundManager 2, cool games, and dhtml guru) shows that Flickr still has a lot of fun left in it. They have given a sneak peek at a new home page and you can migrate that version.
If you click on the link:
Then you will get an inline popup, and you will start to see some Flickr snow, and you will hear something courtesy of SoundManager 2. It’s a small thing, but this is what the Web is about :)
Tripeedo is a new little site that uses Prototype to power a command line for travel. You just type in where you want to go and when, and it will launch you into a search. I really enjoy the command line interfaces, and much prefer them to the long forms that travel sites put up for you. The calendar components normally always suck.
Tripeedo is a showcase of the wundrbar that has been customized for the world of travel.
Chosr is another Quicksilver inspired piece of software, that lives in the Web, created by Julius Eckert using GWT.
Very interesting to see the interactions, although I wonder a little on the usage. The great thing about Quicksilver is that you hit a quick key combo and you are there. You type what you need, and you are sent off again.
In this case, Jacob has created amazing visualizations of the data using JavaScript and Canvas:
I figured it would be a nice little experiment to try visualizing this data using JavaScript and Canvas so I went and did just that. The data is simply point clouds, meaning a whole bunch of points with x,y,z values (and intensity) for each frame. The data on Google Code is about 800 MB, so obviously a bit of trimming had to be done. You can’t expect 30 fps with Javascript doing with this kind of data, so I’ve only used every 5 frames giving us a framerate of 6 fps, not great but acceptable. Then the actual points, each frame has about 12,000 points. No way this will render with 6 fps in any browser, so again I’ve taken only 10% of the points. Additionally, I’ve tried to filter away the noise around Thom Yorke’s head since that took up a good deal of points. The interesting bit is him singing, anyway. In the end, we have a dataset of about 4 MB (converted to a JS array) for the one minute clip they released.
Now the data is in a more manageable state and the visualization can begin. It’s not as good as the real thing, obviously, but I think it’s ok (it’s best when you look at Thom in profile). The audio clip is as usual played via SoundManager 2 which also gives us free timing information to sync the rendering to. I’ve played around and made a few different effects that you can toggle on and off (by pressing keys 1-9). While it is playing you can also rotate around the vertical axis by moving the mouse horizontally over the video. Also try clicking/doubleclicking.
Great publicity for Radiohead too. When you are first to do something, that is often the case.
Thomas Fuchs and Amy Hoy have teamed up again for a micro-app called Creativescrape “an inspration utility for those moments when you just seem to be braindead. It comes with a OS X screensaver for your enjoyment.”
All via 188 lines of fun living on top of Prototype and Script.aculo.us.
// Update the values for the next time a gesture happens
width *= e.scale;
height *= e.scale;
rotation = (rotation + e.rotation) % 360;
}
Some readers might have noticed that a gesture is just a prettier way of looking at touch events. It’s completely true, and if you don’t handle things properly, you can end up with some odd behavior. Remember to keep track of what’s currently happening in a page, as you’ll probably want to let one of these two operations “win†when they come in conflict.
Anson Parker has created Domize another in the line of Ajax domain utilities. Here is what Anson had to say about it:
It is the fastest as-you-type
domain name look-up tool for web and iPhone users. Queries are
encrypted over SSL for security and privacy. Domize is really head and
shoulders above its peers in allowing you to quickly scout out an
available name.
It also has some cool innovations. The entire site is delivered in one
request for non-IE visitors ("data:" urls for images) and additional
functionality is only brought in after the page load (e.g. Google
Analytics). I used a cool technique to modify the stylesheet at the
bottom of the page through JavaScript and keep the whole thing valid
strict xhtml.
Domize also offers preview thumbnails of unavailable domains, which is
a great help in seeing "neighbors" of the domain you're interested in
as well as letting you quickly see whether a domain is owned by a
squatter or legitimate site.
With the power of the underlying Mozilla Gecko engine, Pencil turns your excellent Firefox 3 browser into a sketching tool with just a 400-kilobyte installation package.
Pencil will always be free and can run on virtually all platforms that Firefox 3 supports.
Always good to see people using the power of XUL that still has features that I hope to see HTML get.
Our Signal takes Digg, Reddit, Delicious, and Hacker News and creates a full page cloud visualization using jQuery.
The size of the box reflects the popularity, and the color lets you know the acceleration of that popularity. If the color is warm, it is on the rise, and vice versa for cool colors.
I like seeing alternative visualizations, but I have to admit I am not a huge fan of tag cloud style views. You?
Ever since Macromedia and Adobe merged, we have been waiting for a day where PDF and Flash played really nice together, and today is the day. Very symbolic for the folks from the companies before the merge.
As TechCrunch says:
At the same time Adobe is launching Acrobat.com, it is releasing Acrobat 9—a major upgrade to one of its anchor desktop apps. the big news here is that for the first time, Adobe’s PDF-creating desktop software will supports Flash. So people can now create documents with embedded Flash movies from YouTube, or developers can design entire new skins for electronic documents using Adobe’s Flex framework—the same programming tool they use to create Web applications.
PDF documents made with Acrobat 9 also support collaboration among multiple authors and reviewers over the Internet, making them connected documents. Best of all, they no longer take forever to load. The next step is for Adobe to make it easy to turn any PDF into a Web page, and vice versa.
This is the biggest news for me. Acrobat.com itself is a very nice integration of Buzzword, ConnectNow, PDF, and Share. It feels quite snappy (despite the "loading..."), and there are a lot of nice animations of course. A good showcase for Flex.
One of the examples that Ben and I give in our State of Ajax talk at Google I/O today revolves around form history.
We were thinking about the case for Undo on the Web that Aza Raskin is proposing and it got us thinking about the usage patterns of form data.
An example that got me was the Address Book application on the Mac. I find myself storing past addresses in the general "Notes" section at the bottom, but what if history was built into the system so I could go back in time? This could be a nice metaphor in general that goes beyond undo.
I took this use case and put together a working example that uses Gears to store the history locally so it can be speedy through the history.
The slider component comes from Script.aculo.us, and you can check out all of the code.
In the video below I show the application in action and then do a quick code walk through:
This is just the beginning of course. A slider if fun, but it would probably be more usable if it was simply left and right arrows that click through the versions, or at least putting tacks onto the slider.