Sep 23, 2010

Memoirs of a Memory Leak

Written By: Will Burns | Andromeda Media Group
SecondLife: Aeonix Aeon | Pixel Labs
Twitter:
http://www.twitter.com/darianknight

About twenty years ago, Chip Morningstar and F. Randal Farmer described the strange idea that in the future, virtual environments would no longer handle being centrally located, but instead a method for decentralization would need to be employed if we were ever to break the glass ceiling that is bandwidth and co-current users. Of course, I am referring to the classic writing of Lessons Learned From Lucasfilms Habitat. Later though, something even more remarkable happened in the budding industry.

It was not the evolution of the virtual environment, but by some strange twist of fate, quite the opposite. One could argue that the graphics and complexity of the software have indeed been in an upward evolution since the early 1990s, but there is an underlying issue (or more appropriately multiple issues) which continue to nag and plague systems even to this day.

In the race forward for virtual environment dominance, the lessons learned from habitat have been discarded to the wayside as a footnote in history. Instead, we see continued creation of server architecture which not only is decidedly centralized, but further so than predecessors. This is in stark contrast to the warnings and valuable insights given to us from the early pioneers.

Fast forward to the end of 2010, and we see datacenters running night and day to accommodate not only co-current users, but now the pre-processing and streaming of the virtual environment to those users. It is little wonder why the evolution of complexity for these environments is undoubtedly overwhelming the bandwidth limitations and back-end. In this manner, the industry has a metaphorical memory leak, which is to say they simply forgot those lessons and act truly bewildered and perplexed when the scenarios described by those lessons suddenly manifest.

In so much as Second Life, there too exists a literal memory leak to go along with their metaphorical memory leak. Viewer 2, for all the good it brings, is currently crippled by an unfixed memory leak which leads to the viewer suddenly, and without warning, quitting.

When we think of a program quitting, we often imagine the notion of it showing a dialog saying “Do you really wish to quit this program?” and a handy Yes or No button. In more severe forms, we could even say that a program suddenly quitting would default to a crash logger. Even so, in most instances, this is not the case.

What Viewer 2 suffers from is rushed and error prone programming. With the layoff of 30% of the Linden Lab employees, those who are left are possibly ill-equipped to sort through the source code for Viewer 2 and make timely corrections. With the increased schedule of agile development added to that scenario, we begin to understand that many of these crippling issues will remain unfixed for the foreseeable future.

In so much as the idea of the literal memory leak for the viewer, whenever it manifests it literally shuts the entire viewer down without notice. There are no dialogs. There is no crash logger (unless you have enabled Debug OpenGL), and there are no answers. The viewer will simply quit.

I’ve reported something similar in the JIRA a number of months ago concerning the minimized chiclet conversations and a possible memory leak which resulted in the same scenario. The longer they remained idle in the bottom bar, the higher the risk that clicking them to restore the IM window would result in crashing the viewer in a force quit scenario.

Months later, and the memory leak seems to have found another outlet in the viewer, except this time it isn’t tied to instances of instant messages, but literally using the viewer in the environment for too long. Looking into carious JIRA posts on related issues, some have tied this memory leak to the viewer ignoring the VRAM limit, causing it to fault and crash.

Whatever the reason, I still use Viewer 2 codebase, however I do so a bit more sparingly. When I absolutely need to have reliability, I usually opt for Phoenix. When I need to have shadows and lighting, I then turn to Kirsten’s viewer S20. Of course in that mix of installed viewers I also have the latest Second Life Snowstorm Development build installed, as well as the standard Viewer 2.0

Will I abandon Viewer 2 as a result of this memory leak? No more than I would abandon Second Life itself for having a metaphorical memory leak when it comes to lessons of the past.

Sep 4, 2010

The SecondLife X-Factor

Written By: Will Burns | Andromeda Media Group
SecondLife: Aeonix Aeon | Pixel Labs
Twitter: http://www.twitter.com/darianknight

In a recent blog post from Linden Lab, the team introduced Kim Salzer as their new Vice President of Marketing. Kim Salzer (Kim Linden) comes in as a heavy hitter to SecondLife, with her former position being from Activision Blizzard Entertainment. The following is an excerpt from that blog post to better frame this conversation:
Linden Lab recently welcomed a new addition to its executive ranks: Kim Salzer, who became our Vice President of Marketing, at the beginning of August. Kim (known as Kim Linden inworld) joins us from Activision Blizzard, where she was Vice President of Global Brand Management for properties like Guitar Hero and Call of Duty 2, among others. Kim brings a deep background in gaming (including experience at Electronic Arts working on massively multiplayer online games and hit sports franchises), and in online learning, and we’re excited to have her as part of the team.

Q: What are your goals for your new position as VP Marketing at Linden Lab?

A: What I really want to do here is help the Lab figure out what the “X Factor” is going to be for Second Life. When I was working on games, I always tried to choose a single idea to focus on and bring out, an X Factor that helped people get into the game and helped them discover all the rest of the possibilities there. If I can help bring that kind of focus to Second Life, I’ll be happy about how I’m doing my job.


The topic of this post, as it would logically follow, is about what it is that SecondLife can offer as a "killer app" X-Factor when it comes to the next generation of marketing aspects. This will likely be an ongoing quest for Kim Selzer, as she spends a few months acclimating to the nuances of SecondLife and the virtual environment sociology aspects. Unlike gaming, as we would see in World of Warcraft, or Guitar Hero, there is a manner of fluid dynamics involved that goes far beyond what traditional aspects may call for.


SecondLife is not a game, regardless of how many people wish to make that claim. It is true that the virtual environment has elements of gaming involved and that it can surely be used in the gaming aspect. For proof of this, we need only look at the vast amount of roleplaying communities, and Zyngo game halls. But for all of the gaming aspects, there is an underlying ability to be more than just a video game, and in many aspects, SecondLife transcends "just being a game" into something much more powerful and compelling.


SecondLife is a sandbox virtual environment, and I gladly make the distinction between this and just a video game. To say that SecondLife is merely a video game is the equivalent of saying that the Internet is a repository for pornography simply because it happens to have such pages. It's this sort of thinking which ignores the larger possibility that there are Art Galleries, Music, Video, Educational, and countless other interactive and beneficial aspects which in turn create what we have come to call Social Web.


SecondLife is a virtual environment system, and as such the underlying interface borrows heavily from gaming paradigms. There is the 3D engine, the concept of a virtual currency which is exchangeable to real world currency, there are avatars, and of course there are plenty of gaming elements within the virtual environment. But there are also thriving businesses, content creators, and service providers in this virtual environment as well.


Whether we are creating a fantasy based sword for a roleplay system, a costume, virtual clothing, or even vehicles, this is a real world economy based system. With this understanding, we begin to see that there is, indeed, a viable X-Factor as Kim Selzer puts it. At this moment in time, I am not sure she understands what that X-Factor is, but she is on the active search to narrow it down and quantify it in terms that the rest of Linden Lab can act upon.


Unlike World of Warcraft, where the items in the virtual space are created by the developers and released to the players, an open sandbox system like SecondLife is much different as all of the "players" are given the tools needed to create not only the items they use in-world but the environment itself. This puts Linden Lab in an interesting position, as the company responsible for the environment system would tread on slippery slopes with their in-world userbase if they were to suddenly compete with them.


For the new Vice President of Marketing at Linden Lab, this surely will come as an interesting enigma to unravel in her search for the X-Factor.


In order to make her search a little easier, I'm going to take some time to define and outline what the X-Factor is, as well as how best to put it to practice. I understand that writing this may or may not be seen as stepping on toes, but after fifteen years in virtual environments, I have yet to see any company truly act on this. Today however, Linden Lab and Kim Selzer are sitting on a golden opportunity to bring SecondLife into a new guilded age.


What is this X-Factor?

To put it bluntly, the x-factor is something in which the infrastructure already exists in SecondLife to accommodate. Linden Lab already has the Marketplace, countless high-end content creators in-world at their disposal, and above all else the overwhelming demand for this x-factor to be implemented.


A cursory look at the marketplace shows that there are a high number of "copy-cat" type items for brand name merchandise. Of course, most of those cloned items are renamed ever so slightly in order to try and avoid some sort of legal action against the creators. Instead of Armani, which is known for high-end fashion and luxury, we have the SecondLife equivalent named Armidi. Instead of Apple computers we have Pear computers. Instead of Coca-Cola we see Coco-Cola derivatives.





There is a massive demand for true branded content in SecondLife, and this is the beginning stage of our x-factor.


As an in-world content creator, it is nearly impossible if not entirely impossible to seek permission from IP holders in order to introduce (legally) a product in SecondLife which is a clone of a real world product.





Major corporations often times have a strict "No Solicitation" policy which puts a brick wall up between content creators and those companies. In the rare chance that a content creator continues to pursue due diligence in asking for proper permissions from the IP holders, and submits the required forms to the legal departments or licensing, those applications not only go unnoticed but nearly always disappear into a black hole.


In many cases, it's not that content creators in-world haven't tried to get permission (and I'll give them the benefit of the doubt), it's often times not worth bothering to go through the hurdles and labyrinth of phone calls and tracking down the ever elusive point of contact in order to stay on the straight and narrow. A majority of the time (and I mean 99%) you will be stonewalled, ignored, or patronized as they tell you that they appreciate your idea but they have a no solicitation policy.


Which is to say, that you may submit the ideas but they not only won't involve you with it, but they are more than free to go ahead and do it on their own with no acknowledgment whatsoever for the person who gave them the idea to begin with. I've personally seen this happen a number of times over the years, where a virtual world content creator would try to contact the licensing department of a company, only to be told that there is a no solicitation policy - but later on (about a month or two) I've seen that same idea submitted internally with somebody else's name on it in the marketing department for approval. This also goes for the scenario whereby the licensing request and documentation are actually filled out in detail by the content creator, submitted, and subsequently rejected, only to have the company do exactly what the content creator submitted for approval later on. At best, this is disingenuous.


In this very hostile environment, why would any content creator in their right mind ever bother to appease the IP holders?


So we have a serious problem. It's not ok to create works that infringe on intellectual properties, trademarks or rights. However it's not alright for companies to routinely ignore, reject, or patronize independent content creators. There is obviously a ridiculous demand for in-world branded products, but as of right now there is no supply.


There are those of us who put in the licensing and IP forms with full details and disclosure as to the nature of the project and environment it will be available in, but those forms seem to find their way into a perpetual black hole after they are sent off. Take into consideration, my own arcade machines; they are near faithful replicas of the real machines (with some discrepancies), but they are all playable, point to official channels online for the IP holders, have a manner to offer the history of those games, and most of all - I've submitted the licensing paperwork for all of them (where applicable).


So what happens after that paperwork is officially submitted?


Nothing.


If you make the attempt to verify one way or the other that the request is accepted or denied, you get the runaround, stonewalled, or perpetually delayed. They simply are not interested in dealing with an individual in any capacity and would much rather deal with a major corporation or game publisher instead. In the grand scheme of things, independent in-world content creators are just annoying gnats that those corporations swat away and patronize.


So we have items that are legally submitted with the appropriate channels, paperwork, full details, scope of the IP usage, etc, and the legality of their existence remains in limbo indefinitely. In the modern age, I take this to mean that those companies neither accept nor deny the existence of those items until such time as they find it beneficial to tell you to remove them in order to allow them to make their own versions "officially".


In short, if those items are popular enough, those companies will suddenly find a reason to find that application and stamp it "denied", only to come in a month later and do exactly what you already were doing but "officially". Again, I have to ask why any content creator in a virtual environment like SecondLife has any incentive to attempt that due diligence process if it more than likely will lead to futility in the end?


However, this isn't about who is and who is not breaking what laws. As for my video demonstrations, and the reason why I personally create branded content in virtual environments, I maintain that it is purely an academic exercise. The Capri Sun juice pouch in my mouth? It's a personal item and not for sale. The Papa Johns pizza box? Again, it's a personal item and not for sale. The speakers in the back, however, are for sale and ridiculously cheap (75L) and the arcade machines are all for sale at 250L each or 1000L for the entire set.


The latter, (arcade machines), are sold at the exact price that was stated in the licensing paperwork that I filed with Namco and Atari games. In that paperwork, I described the purpose of the creation and sale of those items as an academic exercise concerning my upcoming book chapter about the same topic (Electronic Commerce and Virtual Worlds). It was also detailed in that paperwork that the purpose of those items was not to create an atmosphere of monetary gain, and to that point they would only be sold in-world for the equivalent of $2 or less, and a majority of that would be funneled back into promotion costs for those items. Any further profits from those items would simply act as payment for the time spent to create, script, design and promote those items continuously.


In short, I did all of the work to create what accounts for a viral marketing placement in a virtual environment on their behalf. They reap whatever rewards there are from such practices and placements in the virtual space, and it would cost them absolutely nothing in return. Where they would normally have paid quite a lot of money for something similar if they hired a marketing firm to do the same thing, in this instance they get all of the benefits and none of the costs.


Let's take a step back though. I did mention that magical phrase "viral marketing" in the last paragraph, and if you are a marketing company in real life you probably just read the last few paragraphs and realized that it's a veritable Fort Knox of opportunity.


When writing the book chapter, and many years before that (back to 1998), I've outlined this exact same scenario time and again. Real world brands within the virtual environment in a manner which facilitates viral marketing capacity. This is where the Papa Johns pizza comes from at Pixel Labs; it originated from building a Papa Johns pizza building in ActiveWorlds in 1998, and making the online ordering option clickable in-world.


Since 1998, we've introduced a variation of that Papa Johns virtual item/location and online ordering in nearly every project we've built. The latest iteration in Second Life has not only in-world abilities but the built-in ability to allow people to actually order a real pizza via online ordering at Papa Johns. This is an example of the X-Factor in action, and I've known about it since the mid-1990's.


Possible Solutions


We've already taken time to establish what the x-factor is in this post, and we've also covered what the problems are which currently keep it from reaching full potential. Let's break down what we have, followed by what it is that is hindering it, and then we'll lay out the possible solution.


What we have:

  • Countless high quality content creators in-world
  • Fully functional and polished marketplace
  • Increasingly high demand for branded merchandise

What we're missing:

  • Reliable manner to license such IPs in a way that is beneficial to content creators, Linden Lab and the IP holder.
  • Supply of legally branded merchandise in-world

Possible Solution:

  • Linden Lab Marketing Dept. extends the opportunity to said IP holders to participate
  • A list of IP holders participating in a Verified Vendor program
  • Content Creators in-world can submit proposals to fulfill IP holders request for in-world items.
  • Linden Lab and IP holders choose which content creators are considered the best match for the job.
  • Chosen content creators receive approval for the creation of those items on behalf of the IP holders. Those content creators are given Verified Vendor status for those items.
  • Linden Lab may charge the IP holders (companies) for the marketing.
  • Content creator is allowed to place the items created (after approval) on Marketplace set to a free value.
  • Each sale of the item (free) is considered a promotional sale, and the IP holder agrees to pay the price, which is paid to the content creator, with percentage to Linden Lab to cover costs.
  • Users get the branded item for free, content creator gets paid, IP holder gets viral marketing for cheap, Linden Lab receives a fee from IP holder for the marketing services.

Verified Vendor items are given full Marketplace enhancements as part of the marketing package, for the life of the contract with the IP holders. When the IP holder has decided to end the involvement, the Verified Vendor may continue the sale of the items under the normal circumstances that any vendor in world would be subjected to: They are responsible for their own promotion, marketing, etc. They no longer can offer the item free unless they pay the fee themselves.

It would be pointless for an IP holder to end involvement with a verified vendor project and also expect to pull the item completely off the market. This would lead to copy-cat items again to fill the void they've left. It would be better, instead, to allow the vendor to remain the verified vendor of that item and continue to sell the item for a nominal fee which they are paid from the buyers.

In this manner, we exploit every conceivable aspect of social environments for the benefit of absolutely all involved. The Verified Vendor program would be seen as a competition of sorts, with some of the best content creators competing for the right to create items for those IP holders. Real life brands would enter into the marketplace, filling a demand (and subsequently acting to lower the demand for illegitimate items), and IP holders would have a safe and cost effective way to create an ongoing presence in the virtual environment without the overhead of an entire region.

And so ends the explanation of the SecondLife X-Factor, and how to utilize it to the fullest advantage. I'm curious to see how long it takes for virtual environment companies to figure this out. I'm patient... I've waited about 15 years so far.

Better yet, spread this article, retweet it, and somebody send a copy to Kim Selzer.