Archive for the 'Software Development' Category Page 3 of 6

Linden Labs implements HTML on a prim?

It would seem that today’s viewer update contains, among other things, the ability to display a website on a prim

It’s not exactly all I’d hoped for at this stage, but it is quite interesting that I can now display my website in-world (click for full size) :

Daikon Forge Website viewed in-world

(note that my website looks completely different in-world, as I’m using the Alex King WordPress Mobile Edition plugin on my site to make it easier to read in the Profile Web tab, and it detects Second Life® as a mobile browser)

htmlonprim2_001

It’s currently restricted to static pages, meaning that you can’t really click on anything at this point, and Flash and other plugins do not work, but it is encouraging to see concrete proof that Linden Lab® is working on integrating browsing functionality.  This is great news, and I look forward to seeing the inventive and powerful uses that arise from this functionality over time.

Popularity: 46% [?]

Testing Tools : Duel Data Monitor

I’ve mentioned many times on this blog that I’m a huge fan of the idea of gathering usage statistics, and I do my best to display them in a way that makes sense for others.

I recently read an article on Coding Horror that reinforced my belief that gathering actual "real-world" usage statistics is invaluable.  To attempt to boil it down to what’s relevant for this blog, Jeff Atwood describes important lessons learned by Valve’s gathering of hardware and gameplay metrics to discover things about their users and their game that likely could not have been gathered or understood in any other way.

Take, for instance, this (unattributed) quote from Valve about the use of Steam to collect information about Team Fortress II:

We’ve traditionally relied on things like written feedback from players to help decide which improvements to focus on. More recently, Steam has allowed us to collect more information than was previously possible. TF2 includes a reporting mechanism which tells us details about how people are playing the game. We’re sharing the data we collect because we think people will find it interesting, and because we expect to spot emergent problems earlier, and ultimately build better products and experiences as a result.

While less relevant to my point here, even last September GameProducer.net had an article on Steam’s statistics and how some surprises and quite useful information could be found there.

While Second Life® doesn’t really provide any clean way to gather those kinds of statistics, and C:SI doesn’t really require quite that level of detail, I still believe that gathering some data is not only good for the system as a whole but could be very interesting for the community members.

Popularity: 67% [?]

metaWeblog API : metaWeblog.newPost

Recently I was trying to figure out a way to automatically publish a summary of the preceding week’s C:SI statistics to this blog, similar to how some of the other Second Life® blogs publish traffic or signup or economic statistics, and being a WordPress user I thought it made sense to use XMLRPC and the metaWeblog API to accomplish this. 

Using this API would allow me to programmatically post anything I wanted via a cron job, and seemed cleaner and less fragile than attempting to insert posts directly into the database.

Unfortunately, it was very difficult to find good code and information that did precisely what I wanted.  The most frequently referred-to code for doing so just flat-out didn’t work and was not at all documented, but it was far and away the most frequently quoted sample on Google.

I finally managed to find decent enough documentation on Six Apart on what the various metaWeblog methods were expecting for input, and somewhere (I cannot remember now out of dozens of pages visited) I found  the following snippet which is pretty lightweight and works perfectly for my needs.

I know it’s an off-topic post for what this blog is usually about, but I wanted to make sure that there was at least one more place on Google where someone with needs as simple as mine could find a snippet of PHP code to very easily post to a WordPress blog (or any other blog that supports metaWeblog API, there are several).

PHP Code:

//requires xmlrpc.inc from http://phpxmlrpc.sourceforge.net/
require_once(’xmlrpc.inc’);

$g_blog_url = "http://path.to.blog/xmlrpc.php";
$g_id = "username";
$g_passwd = "password";

$GLOBALS[’xmlrpc_internalencoding’] = ‘UTF-8′;

// http://www.sixapart.com/developers/xmlrpc/metaweblog_api/metaweblognewpost.html
function metaWeblog_newPost( $blogid, $title, $content, $tags="", $category="" )
{
    global $g_id;
    global $g_passwd;
    global $g_blog_url;

    $client = new xmlrpc_client( "{$g_blog_url}");
    $f = new xmlrpcmsg("metaWeblog.newPost",
        array(
            new xmlrpcval( "{$blogid}", "string"), // BlogID (Ignored)
            new xmlrpcval( $g_id, "string"), // User
            new xmlrpcval( $g_passwd, "string"),    // Pass
            new xmlrpcval( // body
            array(
                ‘title’ => new xmlrpcval($title, "base64"),
                ‘description’ => new xmlrpcval($content, "base64"),
                ‘category’ => new xmlrpcval($category, "base64"),
                ‘mt_keywords’ => new xmlrpcval($tags, "base64"),
            ), "struct"),
            new xmlrpcval(true, "boolean") // publish
        )
    );

    $f->request_charset_encoding = ‘UTF-8′;
    $response = $client->send($f);

    return $response;

}

Popularity: 51% [?]

Virtual Worlds for Business - IBM creates OpenSIM Data Center

Virtual World News had an article a couple of days ago on IBM’s announcement that they had built a 3D data center simulation using OpenSim, which I found particularly fascinating because I have long believed that the potential of Virtual Worlds like Second Life® and OpenSimulator was far larger and with potential for much broader application than what we are currently seeing.  Take, for instance, this comment by an IBM researcher on the topic:

"Viewing information about your data center in 2-D text — even in real time — only tells a data center manager part of the story, because our brains are wired for sight and sound," said IBM Researcher Michael Osias, who architected the 3-D data center service. "By actually seeing the operations of your data center in 3-D, even down to flames showing hotspots and visualizations of the utilization of servers allows for a clearer understanding of the enterprise resources, better informed decision-making and a higher level of interaction and collaboration."

Visualization is extremely important, and the ability of virtual worlds to enhance visualization and make use of our visual/spatial processing abilities (using the concept of space as a memory cue and productivity enhancer) is absolutely fascinating and intuitive.  We are quite simply built to work in a 3D world with maximum effectiveness, and evidence suggests that people have been formally taking advantage of this astounding ability since before 85 BC.  IBM obviously believes that this has practical business application, and while some may question whether there is truly any practical benefit to using virtual worlds in this way, I strongly believe that we will discover over time that it’s one of the most powerful and effective uses of the technology - for business or otherwise.

I remember back in high school more than a decade ago, while reading a book about computer graphics programming in class one day I came across a quote (likely only half-remembered now) that really struck me powerfully : "Computers may be great at business and calculations, but graphics is what they are for".  I doubt that the author of that book (it may have been Michael Abrash, I cannot recall after so much time) could have envisioned how powerful commodity graphics and general-purpose computing hardware would become in less than 20 years from the time he wrote that, but I’m willing to bet that he’d feel similarly about 3D technology and virtual worlds : It’s what computers are for.  How exciting to be able to use a system like loci by actually building our own 3D representations, and then to use that representation to manage extremely complex real-world systems that are difficult to truly understand in a flat printout or 2D program.

Popularity: 63% [?]



Bad Behavior has blocked 143 access attempts in the last 7 days.

Close
E-mail It