somewhere to talk about random ideas and projects like everyone else


August 2008 Archive

Wikifying the Internet 29 August 2008

What if you could edit a copy of any site in the entire web, and have it persist? Well, I’m working on a bookmarklet that basically does the classic (javascript:(function(){document.designMode=”on”})()) but with persistance. It’s going to store all changes to the web page on a centralized patch server (app engine?) and anyone who clicks on the bookmarklet will be instantly be able to see previous edits and make their own.

So, what could it be used for? Well, you could use it to fix small typos on the internet, Update far-outdated pages/info, and let’s not forget, vandalize the home page of your arch nemisis. But as a wiki, everything can be reverted/etc. The design for the system is very nice, as it only stores the content modified by users, one way of averting legal action against me (i’ll also be sure to add disclaimers too :)).

Of course the vandalism part will probably be what happens, as with most Wikis (besides the mother-of-all Wikis). it’s still an interesting concept anyway. Maybe it’ll make people happier, when every time they view their (usually empty) adsense page and always find it saying $100,000.00 for their day’s earnings? And it’s not forced on anyone, and if it becomes open-source (it’s easily implementable anyway), the bookmarklets could be customized on custom servers, creating an endless amount of forks of the internet.

I only have a non-working prototype so far, i’m going to embark on a rewrite soon. And thanks to the App Engine team for raising the limit to the number of apps-per-dev.

As you know, I’m sorta taking a break from the Ajax Animator. It’s sometimes nicer to work on some smaller projects now and then.

Controlling A Native App from a Javascript Desktop 29 August 2008

Well, I worked on a sort of VNC-like solution to controlling native desktop applications from a remote PC. It’s an interesting concept, I settled with something less than easy to use, and less than really feasable. It’s a Proof of concept, and it’s likely I won’t work on it again (Like ForkSwif).

It is an application (module) on a hacked Ext 2.0 Desktop example that uses Ajax (Polling) to query a local PHP proxy to query a remote desktop. The remote desktop is running some software (powered by .NET sadly…) that captures the window’s contents, does a diff to see if there are modifications and where (only sends updates to changed parts of the screen, sorta like VNC). It base64 encodes it and sends it along HTTP to the proxy, which sends it to the javascript client.

The client can send events to be repeated on the remote desktop, currently only left mousedown and mouseup (so, basically only clicking), but using the Keyboard should be easy enough.

I imagine that a more feasable option is to create a javascript X11 client, taking proxied connections to a X session under SSH so it is better with window-specificness, and an overall more stable platform, so you could also run multiple applications simultaneously on the desktop.

here’s an early screenshot:

Controlling A native desktop app from a javascript desktop
Controlling A native desktop app from a javascript desktop
Controlling A native desktop app from a javascript desktop (early build)

Files here:

Extract desktop2 to your Apache server, start Windows Calculator (or another app of your choosing). Run Screen.exe, type the app title, press “Get Handle” and check the “Run Server” box. Navigate to the desktop.html (on your PHP-enabled apache), and start the “NV Window” app.

To be able to control the app, you have to set it to your network ip (not localhost) on a VM or a different computer. and configure sample.js at line 191.

proxy: "gdat.php?url=",
updateurl : "[http://localhost:12345](http://localhost:12345/)",
baseurl : "[http://localhost:12345/base](http://localhost:12345/base)",
showimg : false,
uinterval: 1000,
updater: null,
xoffset: -8,
yoffset: -28,

change localhost to the server’s IP. And tick “Control Desktop”

Note that you need firebug.

If i can think of a name for the app, i’ll be sure to creakte a google code project for it. so if anyone want’s the source, think of a name for it.

Note To Self 20 August 2008

Ajax animator bug: Copy/Paste does not regenerate shape UUID

Login System 16 August 2008

What kind of login system do you want? Openid? Google? Custom-Ajax Animator user-management code (like in previous versions)?

VectorEditor 10 August 2008

I was experiementing with using another framework for Vector editing. So I used the relatively new Raphael framework. I wanted to use dojo.gfx, but I still don’t know how to use it without the dojo dependency. Raphael is not as powerful as dojo.gfx, or even OnlyPaths… so, it needs work.

It has many of the features in OnlyPaths, but it keeps the core showTracker() and such functions in the main script, not in the renderer. That allows the system to be simpler, and more easily cross-platform.

I’m not currently using cross-platform event handling. so it only works in Firefox for now, but converting is easy.

Refresh your cache 07 August 2008

I reverted Ext 2.2 to Ext 2.1, so refresh your cache.

Ext 2.2 07 August 2008

I did some updating yesterday, and along with it was the supposedly fully compatible Ext 2.2 update. And it wasn’t. It completely broke onlypaths :( I’m reverting now.

IE works in development version 06 August 2008

I made a mistake in the ads script that made IE unhappy (along with some other stuff). IE works in the development unstable version, which will be merged into the stable as 0.20 Beta RC2 (Aka 0.20.01)

As you can see, I’m not familiar with software versioning….

Why no demos? 06 August 2008

I’m sure quite a few of you are wondering why there aren’t any good demos of what the Ajax Animator can do. The answer is simple: I can’t draw. Interesting eh? I actually started this project so I could do stick figure animations better. Its pretty sad, I know. And the most sad part is: the ajax animator is really glitchy with lines :( !!!

The good news, is that some user-made FAQ/Manual/Tutorial stuff may be arriving tomorrow.

Ajax Animator 0.20.01 Soon 05 August 2008

I’m going to release 0.20.01 soon, which will get IE to load properly, and fix some general bugs.

Ajax Animator 0.20 Browser Support 05 August 2008

It supports Firefox 1.5 to Firefox 3.0, Opera 9+ (hopefully), Safari 3+, and it was supposed to support IE, but for some reason, the compilier makes IE fail.

Ajax Animator 0.21 Early Fork 04 August 2008

Okay, I’ve started working on Ajax Animator 0.21, right now, its just a different version with one bug fix. btw, its the one where you can’t reopen the About dialog after it’s been opened and closed (with the little X, not the “close” button)

BTW, it’s at

EDIT Okay, I fixed another bug where the tip of the day won’t open again after closed like the about window one. I also made it so you can minimize the tips window.

I also fixed the bug reported by Kermeros where Undo works improperly after File->New

JavaFX + Ajax 04 August 2008

I just noticed something. JavaFX has all the letters in Ajax. so you just switch around the J and the A (ajvafx) take out the V and the F (ajax). freaky huh? I wonder if that was intended…

0.21 Bugfixes 04 August 2008

I fixed this bug where if you drew a square, went to a blank frame, moved it, and then went to a blank frame (do nothing), and go back to a tween (between first and last frame), the tween engine would crash, and the animation would be destroyed. Fixed by wrapping SVGRenderer’s remove function in a try..catch loop.

I also split diff_core into diff_attr which allows you to diff only a single attribute at a time. I also added a diff_list function which would make it easier to implement an export format to a tweening engine like that of JavaFX and Silverlight.

On that note, I added fake support for JavaFX. so you now see the toolbar icon, and I added the script for javafx though there’s nothing in it.

new features 03 August 2008

Okay, so I’m polishing the app alot today. Right now, I’m setting the app up for a release some time this week.

I added framerate support to the Ajax Animator’s Format. I also added some messages for Help->Bugs, Help->Comments, and I renamed Help->Donate to Help->Contribute.

Help->Manual shows a page that says “Manual Currently Unavailable” and Help->FAQ actually shows a working page (OMG!)

Help->About now reports that the Ajax Animator is at “Beta RC1” Stability, and its no longer a “testing” release.

Please test things out and report bugs if you can :)

Ajax Animator 0.20 Beta RC1 Released 03 August 2008

I’m pleased to release the latest version of the Ajax Animator, 0.2. This version has been a complete rewrite of the application down to it’s core, not a single like of code copied from the old (0.14.7) release. It also happens to be the most advanced and complete release to date, with full multi-layer support, a greatly expanded toolbox, complete undo history, a shared clip-art library, a completely redesigned UI, and much more.

Lets start from when you open the app. The application speed has greatly improved, the 0.14.7 release takes ~9.5 seconds to load, 0.2 takes a mere 4.5 seconds, more than half the time. On the top toolbar, the buttons are relocated and restylized. Over at the file button, you see everything has new gorgeous icons intuitively organizing the New, Open, and Save options, where you can use the powerful new JSON based file format. Below that, you see a new Publish menu, where you can export to several formats like Adobe Flash, Processing (language), Microsoft Silverlight (XAML), and Animated GIFs.

Skipping over to the View meu, you see that there are 17 different UI themes to choose from. An unprescedented degree of customizability. And over at the Help menu, there is more useful content. A working FAQ, helpful Tip Of the Day, About page, and a list of keyboard shortcuts.

Of course the most important and powerful change in this version is the inclusion of the OnlyPaths editor. A new, powerful Vector graphics editor. The new editor allows you to draw not only the standard rectangles, ellipses, and lines, but also Text, Polygons, Freeform Paths, Images and more. You can now Rotate, Resize, and move shapes around.

The Timeline has also been reworked. The new archetecture allows the deletion of layers, expansion of tweens, and more. The Tweening engine is vastly superior, with much fewer bugs than the old one, though the new one certainly does much more and gets much more room to screw up.

A new Animations tab allows you to view and improve on public animations them. A new Properties panel allows you to adjust the canvas size and animation framerate along with the text content and image URL.

Its available here, at

Do not go to testing site 03 August 2008

I’m changing lots of things to prepare for the new 0.2 release which will be soon. When it is done, the new url will be


Ajax Animator 0.2 Beta *almost* RC1 02 August 2008

Okay, sorta a weird name for a release right? Beta and Release Canidate? Well, its Web 2.0/Ajax so really, anything can happen. I sure hope this doesn’t spark an onsalought of Stable Beta RC1 Pre-Alpha Unstable Full releases.

But… yeah. Tonight I added two very important features stemming from Properties.

the first is properties itself (duh). It allows you to change canvas Width, Height, and the animation framerate. Stemming from this, is the new feature in the Ajax Animator Format (ALEON, AXON, AXION, AJSON, AXFF, AFF or whatever you want to call it), you guessed it: Width/Height. Oh crap. I just remembered that it doesn’t support framerate yet. CRAP! oh. hmm. i’ll just post it anyway and continue from here when I get that feature done.

Almost There! 01 August 2008

We’re almost at the release of 0.2, though it has been scaled down a bit. Real usability probably won’t come until 0.21. Right now, 0.2 basically only lacks one feature, being the whole user-management system.

The only features that are really left, are some final touches and the Properties panel.