Simply find a collection on Deviant Art which you like, take the RSS page URL and paste it into the settings dialog box. You can set the time that you would like each image to show up in milliseconds and if you want any adult images to show up or not. Click OK and it should just start with the latest images first. When it hits the end, it will cycle back to the start.
I ran into a snag the other day with my Gadget and was forced to look into using a debugger. Unfortunately, I was unable to figure out how to do it with Visual Studio Express for Web Developers. If anyone knows how please let me know.
I did however find another way to write out messages and it’s a lot cleaner then the VBScript from JavaScript method. The trick is to follow the instructions here and install a small application from Sysinternals which shows debug messages. After thats done you can write to the window by typing System.Debug.outputString(msg); in your script. It’s no debugger, but it’s useful none the less.
Vista Gadgets have disabled Alert and Confirm dialog boxes to avoid annoying end users, but when they did this it also made it hard to quickly debug the gadgets as there is no easy way to output exactly what is going on. Yes, I could install Visual Studio and use its debugger, but I’m lazy right now and just want to know the value of a string. I tried writing to a <div> but it was problematic because I didn’t know if the issue was I just couldn’t see the <div>, it wasn’t writing to it, or the data was an empty string.
The solution was to call Visual Basic from JavaScript. Icky, but it worked. While Microsoft stopped JavaScript alerts from working on the desktop, apparently they forgot to stop Visual Basic from loading MsgBox dialogs in the same instance. It’s not a bug. It’s a feature!
I’m working on a custom Gadget for Vista which reads in RSS feeds from Deviantart.com and displays images in the sidebar. It’s an Automatic image browser. Just watch it and it hunts down new images to look at.
I decided to use jQuery to get to know it better and ran into an annoying snag. DA stores its image information in a custom media namespace and jQuery was ignoring it. I made some progress with Withering Tree’s solution which was: $(this).find("[@nodeName=zc:location]").text()
But it stopped working at some point. In the end this is the code that worked: var content = this.getElementsByTagName("media:content");
It didn’t even use jQuery, just standard DOM calls. I have a couple more features I have to get right before I can show off version 1.0, but it should hopefully be coming along soon.
This is a video of a UI I helped create for the never released (out of Beta) AT&T web browser. It’s built in a version of Firefox which embedded the Ogre 3D engine. Our company created a simple API to interact with the 3D engine so that we could create scenes using JavaScript. I was asked to improve the usability of the bookmarks, while still utilizing our 3D technology and this is what I came up with. Previously we had a series of folders in a circle which you would scroll through and then the camera would drop down and display 8 bookmarks on the screen. From there you had next and back buttons to look at another 8 bookmarks. It worked, but it was a really clunky interface which required at least 4 clicks to get to your bookmarked site.
By laying out all of the bookmarks in a grid like fashion it made it easy to quickly scan every folder for the site you were looking for and it only took one click to load the bookmark. We got around the “multiple clicks” issue by having extra information, like the properties button or title show up only when you hovered over the screenshot. This worked really well to reduce the amount of UI which was constantly on the screen.
We also came up with a couple other handy features. We limited where the user could scroll to to the bounding box of the bookmarks. This reduced the chances of them getting lost in all the data. If you did happen to get lost, you could use your mouse wheel to scroll out to get more of a birds eye view at any time. One idea which we never had time to implement was to take a page out of RTS computer games and display a small map in the corner which the user could click on and it would move the screen.
The bounding box made it really easy to scroll along the top of the box, and effectively created 3 more zones which could also be scrolled easily. We used the left side of the bounding box as an oppertunity to display all of the users bookmarks a second time, but this time in alphabetical order. Then depending how the user typically finds a bookmark, they had two choices and both were available at the same time.
We had a couple goals which we never solved before the project was canceled and the company shut down. The biggest one was the ability to show sub folders. As it was we could only really show one level of folders. We wanted to try layering them in the Z-dimension, but ran out of time.
The other issue was management wanted to still show off the fact that we were using 3D. The best we could come up with was to place the 2D grid on a sin wave or something to add depth to the Z dimension. We tried using some shaders such as Depth of Field to blur anything in the background, but being a mostly horizontal view the effect was minimal. We just couldn’t come up with a cool looking effect which didn’t affect usability or initiate headaches.
Overall it was a fairly successful project and it would have been interesting to see it used in the wild. Perhaps the ideas used here will live on in some other projects.