Over the last three days, there have been 584 visits by 384 unique visitors to AjaxLife’s login screen.
Here’s a nice map:

These were generated by Google Analytics on the login screen. I don’t have any means of counting how many of these logged in.
Attempts to access the service while it was down are not counted.
As a further tidbit, 47% of visitors used Firefox, while 46% used IE. 3% used Opera and another 3% used Safari. The remainder is the PSP (which wouldn’t work anyway), Mozilla and Konqueror. 90% of visitors use Windows, 5% use Mac OS and 4% use Linux. The remainder is either unknown or a PSP.
The majority of users appear to come from within companies or universities. Who’s logging on in Wells Fargo instead of working?
I am aware that Linden Lab have released the new search officially. As such, I will be looking into what I can do about integrating it nicely onto AjaxLife over the weekend.
I suspect my solution will involve PHP, regular expressions, and JavaScript. Although I may make this part of the executable, in order to assist those who would be trying to run AjaxLife themselves (if any are).
Edited to fix myriad typos caused by my posting this from my phone while lying in bed.
AjaxLife’s login screen, a slightly altered version of Linden Lab’s own, is currently broken due to structural changes in Linden Lab’s screen. I’ll fix it ASAP – which isn’t right now, because it’s 2am and I have essays to write. Login still works, however, so it’s not a major issue.
AjaxLife has been updated to use libsecondlife 0.3 (+ fix for CAPS errors). In addition, teleporting is fixed.
Also, the SSL certificate should be valid now. Woo!
I’ll update the svn when I can be bothered to boot Windows, which has the code on it.
The rolling restart appears to have broken AjaxLife’s teleports. Judging by the debug log, it’s also mutilated libsecondlife in some awkward CAPS-related way. (WARNING: System.ArgumentException: Object type System.Int32 cannot be converted to target type: System.Int16)
On another note, I’d just fixed AjaxLife to work with libsecondlife version 0.3 (instead of some semi-outdated svn revision). I’m postponing pushing this out until teleports are fixed.
[7:09 GMT] And down again.
[6:12 GMT] And we’re back again. Woo!
AjaxLife is currently down, as the ajaxlife.net server is currently busily running updates and such. All other services from ajaxlife.net (e.g. login screen, maps, etc.) remain available.
This should, in theory, last under an hour.
I finally managed to get around to putting up some compiled stuff. Yay!
I have put up the “bin” (server) and “web” (client) archives at the Google Code project. Note that documentation is somewhere between terrible and nonexistent.
Basically, to set up AjaxLife on your server with minimum fuss, grab and extract the “bin” archive. This done:
- Open a command prompt (Windows XP: Start menu -> Run -> type “cmd” and hit return)
- Type “cd “, then drag in the folder that was created when you extracted the archive.
- Type “AjaxLife.exe –root http://secure.katharineberry.co.uk/ajaxlife/” (if you’re using mono, e.g. because you’re on Linux/OS X/dislike .NET, prepend that with “mono “)
Note that the above steps assume you already have the dependencies, i.e. either .NET 2.0 or mono > 1.2.5.
If you want to not use my server for the client stuff, grab the “web” archive, extract it somewhere in your web server’s content directory (preferably supporting PHP with GD), and change the –root argument to point at it. Note that this is in relation to the web browser, not the server.
AjaxLife teleports appear to be failing, and have probably been doing so for weeks – sorry!
I found the bug, and it will be fixed in the next update, which should be today.
Here’s a second attempt at rendering a minimap using the <canvas> tag:

However, rendering this takes my computer a good 1.5 seconds, during which the browser hangs – too long to be practical in an interactive web app with impatient users. :p
This one takes under a second, and is thus more likely to make it into AjaxLife:

Both of those are, however, a significant improvement over the last attempt:

Note that this one was erroneously rotated and flipped.
Of course, the minimap built into SL is significantly better than all of the above. But hey! :p