Aug 30, 2011

Offerings for Akuma

Demons ask not for forgiveness, for they know not that they are evil #nymwars

 

It was once said that the greatest trick the Devil ever pulled was to convince the world that he/she did not exist. I believe this to be untrue, because I contend that the greatest trick the Devil ever pulled was instead not that he/she did not exist but instead that he/she was God.

 

Think about it.

 

Would we not have religions that contradict their own words of enlightenment at the expense of others? I feel that our ideals are corrupt and that it is not entirely our own fault. We see these demons among us in many forms, coming to us in the guise of angels bringing our salvation and safety, but after we’ve given ourselves to them, they show their true nature – far after it is too late to change.

 

 

akuma

 

 

However true this revelation may be, I still refuse to condemn the entire human race for ignorance. No, we always search for deeper meaning and salvation, it is simply in our nature. There is nothing wrong with that driving force within us, but it is that which deceives the masses with false hope and promises that is to fault for this.

 

I blame the Akuma… the demon.

 

This is not a debate over religion or lack thereof. I merely wish to frame a related situation in terms which many of us can easily visualize. There is salvation, but not without a fight.

 

I speak of a special sort of Akuma, or demon… one which infiltrates nearly every facet of our lives. It makes us lazy, and increasingly dependent upon it. We grow weak with every passing day as it grows stronger at our expense and few are the wiser for it.

 

I am wiser for it, and I wish to shed light.

 

By nature I study and strive to understand the world of technology. It is a blessing and a curse to know the intricate details and force with which it controls our lives. I am a technology forecaster, a futurist, an academic researcher, but most importantly and foremost I am human. What surprises me most in my study of technology is the condition of the human race as a result of it.

 

Technology is the beast which demands offerings, and feeds upon us more and more. Much like a demon, it begins with the promise of salvation, and when we begin to trust in it, it asks for more. We do not see the dangers in the innocent requests of this demon because at first it seems so little to give for so much in return.

 

We receive these great devices and services which allow us to communicate, entertain, and access to all the world’s knowledge in a moment. But just like a demon, our technology grows by our submission to it. We give to it all of our lives, we feed it with images, video, audio, personal details of every part of our lives. We trust in this demon to keep us safe, and we trust this demon implicitly.

 

But just like a demon, it is never satisfied.

 

A demon cannot know that it does evil if it believes what it does to be good. Maybe it has worn the disguise for so long that it has begun to believe its own lies. It has become so convincing that a great many are willing to give themselves over without ever questioning the motives or intentions.

 

I speak of a great evil, an Akuma. A demon so powerful that it has control over most of our lives, and we would be nearly powerless without it. Akuma knows this already, which is why it has become so brazen as to no longer ask for our submission to it, but instead demands our sacrifice to it. When we protest the demands, Akuma is crafty in its response for it knows that words are easily twisted to meet its own ends. We do not stop Akuma… we merely slow the progress for a moment.

 

Blind progress leaves us frail and powerless. To burn bridges as we cross them in pursuit of our technological superiority is more blunder than blessing.

 

To know the true power that Akuma has upon you, simply turn off your breaker and shut off the electricity in your home. So fragile is your life and well being that a single button can threaten you.

 

Somebody controls that button, and it isn’t you. You merely have the ability to demonstrate to yourself that such devastation is possible by a mere button. Listen to your home, how quiet and still it has become. Think of how much you rely on that power to keep you alive.

 

No bombs are needed to kill you. Not a single bullet need be fired. There is no army to raise against you. There is only silence.

 

Deafening silence.

 

In this silence is where the seeds of fear are planted, and where our very sanity is engulfed. The demon knows it will not lift a finger save that to give silence, because many will willingly kill themselves and others in that breach of sanity and desperation.

 

Akuma is bad only because we are careless, it is powerful only because we are blinded by the distractions and gifts it returns, all with strings attached. Akuma is bad only because it knows nothing else to be true and believes it is doing good for us all.

 

Technology is not bad if we remain in control of it, and do not let it control us. Akuma is evil only because we allow it.

 

Akuma goes by many names in modern times. It is called by the demon of information, Google, whom came to us as an angel of order, telling us it would do no evil and now demands all things from us. It twists words and rephrases intentions in order to deceive those which it depends upon for power. It gives privilege to those which submit unto it, and punishes those whom dare defy.

 

A demon feeds on the lives of others, it collects the souls of its victims; even if it must do so in pieces. A demon punishes those who will not submit unto it when it believes that its power is absolute. It rewards you with things which do not exist, and will steal away from you all that truly matters if you let it.  Demons are masters of illusion and lies. They take from you the things you can hold and offer in return the things which do not exist or matter.

 

More importantly, demons in our lives exist only because we give them the power to do so. We give these demons control over our lives and offer no resistance or alternatives for salvation.

 

I am not a Luddite. I know that technology and progress have power to make our lives better. It is when we become so complacent in our submission to it and we no longer can offer control over it that technology and progress rule us instead of the other way around.

 

As Jaron Lanier once said: You Are Not A Gadget. You are bigger than your technology, and only you can find deeper meaning in the interaction and salvation it offers. You alone control whether it becomes a demon or an angel, as it is a reflection of ourselves.

 

It still remains that Akuma is simply a reflection. It needs us to have any sort of power, and it keeps this knowledge from us in hopes that we should never have this revelation.

 

Remember this the next time your power goes out, or these demons stop asking you to comply and begin demanding when it believes you have no other choice.

 

There is always a choice, and it begins with knowledge. Do not be afraid of Akuma, for it is powerless without your submission, and knowledge is its weakness. It is weak against the same things which all demons are – the light of truth and human spirit.

 

Be not afraid of our technology, nor compelled to give unto it things which would endanger you or remove your control over it. It is you who control this demon, and determine if it remains an angel at our mercy or becomes so corrupt that we are merely slaves.

 

 

 

 

Aug 26, 2011

There is Darkness

A rare glimpse into the side of me that so many fear does not exist.

Life is one of those things that can be very cruel. I’m not one to mull around and pretend that somehow my experiences are worse off than another person, because honestly that would be pretentious at best and arrogant at worst. In the end, what I can comfortably say is that “I truly understand”.


Good_vs_Evil_by_DomMcCann

Maybe it’s empathy that drives us, a yearning to walk in another’s shoes just for a bit and bond closer? I’m not entirely sure about this, and that’s one of those things that you’ll rarely hear me say out loud. I have a fear… and it is a gripping fear. It is that someday I will not be able to help somebody when they need it most. The words “I don’t know” are like poison on my lips, because I may be sealing the fate of another by not being able to bring light into their life.

Not knowing is something that scares me more than anything. Time and again, it is the specter of not knowing that threatened people’s lives, people I dearly care about – family and friends. It’s not knowing that could make the world worse off, in my opinion. Contrary to popular belief, I really do have the best interest of others in mind, even when I’m being a hard-ass or deliberately disagreeable. It is in those times when I actually care the most for others.

I am hyper-critical in the eyes of many, but there is a deeper meaning behind exactly why I act that way. It isn’t necessarily for the sake of starting an argument, or creating some sort of ill-will toward others or even aimed at myself (although the latter is quite common toward me). I consider that collateral damages at best, but still worth the effort. It’s not the collateral damages I’m after, but preparing people to rise out of those ashes a better and stronger person.

That’s where the confusion comes… because many (if not most) only see the collateral damages or trials by fire as a result of my hyper-critical nature, but fail to see the extended outcomes of that.

It isn’t whether I’m criticizing others or even companies that matter – it’s the willingness on my part to rub salt in the wounds in order that we hopefully address there are wounds to begin with and focus our attention on healing them while we can, before we bleed out (metaphorically speaking). Nobody likes having those wounds ground in salt, nor should they… but if it was all roses and rainbows, we’d never get heated or passionate about the subjects at hand or bother to address them at all, and to me… that’s far worse because it’s “not knowing” that can be the worst damage.

I’m no stranger to darkness and pain, and my life has brought me much more than any one person should ever be asked to endure. No, I didn’t lose my legs in a war. I’m not living in a poverty stricken third world country. There are horrors and struggles that even I wouldn’t wish on others, and truly wish there was a solution to.

Over the past few months it’s been like that for me, and maybe a large part of the years of my life as well. A lot of strife and grief… unimaginable to a guy like myself who thinks there must be reason and logic to all things, and suddenly there is not. I’ve held a broken man in my arms in tears as he had a total nervous breakdown – afraid to go to the hospital because he thought they’d never let him out of the psychiatric ward, I’ve learned that my step-sister was murdered by her boyfriend in another state, and I’ve been to funerals that I never thought I’d go to so soon in my life.

I’ve had to wonder if anything I’ve done is worthwhile, if it really made a difference in the end. I’ve lost a lot in life… I’ve run into burning buildings to save people only to have them die a few months later of a heart attack. I’ve had love and lost it countless times, mostly because I’ve been lied to, stranded, cheated on, or worse.

Even in the darkness there is light sometimes. 

I’m more of a realist, with a side of sarcasm. It’s not the realization that I’ve been cheated on or lied to that hurts most, because over the years that has become inconsequential to me, it’s instead when you have to let the person you love go in order for them to be happier without you, and to be a better person. It’s when you see there is a wound and you know the only way to make it better is to point it out and pour some salt on it. It’s knowing your name will be on their lips only in salt and vinegar from that moment on, but they will be stronger because of it, even if it means you have to take a hammer to your own heart to do it. That is a level of caring that I think few these days possess… often too selfish to let go even when they know they should.

I have a unique sort of perspective on things.   Maybe it’s a curse… seeing the bigger picture and not being afraid to rub salt in the wounds when it’s needed. In the long run, people do change and become better for it, no matter how much they think I’m a horrible person in the short term. I can take that collateral damage if it means people will ultimately be better off for it.

I was asked in an interview recently what the best and worst parts of being an analyst and trend forecaster are, and my answer was cutting and truthful. The best part is that those situations are like a giant puzzle to be solved, something that begs to be worked out… the challenge. The worst part is knowing the solution is something that will never be acted on, and that you have no choice but to watch with your hands tied as a ticking time bomb counts down. Even worse when you have no choice but to rub salt in the wounds just to make things apparent, but know full well things will bleed out in the end because people are more interested in defending themselves instead of fixing what is wrong.

Sometimes there aren’t any solutions at all, and that’s even worse for me. Sometimes I have to lay awake at night knowing there is nothing I could have done to prevent a murder, and even the noblest of intentions did not save a friend in the end. Staring in to the hollow eyes of a dying relative who has made peace, knowing you’ll never see them again. Those eyes still haunt me today in my dreams. That’s the stuff nightmares are made of.

Inside my mind is often a dark place. There are screaming souls, strife and grief swirling and angry at the world. I’ve learned that pouring salt on those wounds is the best remedy even for myself, and trial by fire sets those dark specters ablaze in the inky void. Despite the darkness, there is always a shining light, and if I have to destroy hell itself to let it shine through, then so be it.

I’ll take being relegated to damnation if it means others are saved by that light.

“Demons”, my friend used to say, “are my only friend”. I remember he used to sit alone and cry, with the grip of addiction, anger and shame choking him. I could do nothing… I had no pearls of wisdom… I had no comfort to offer… it was his trial by fire, and I would do worse to him by stopping it. It was gut wrenching for me… and I cried with him many nights. Angels who have fallen have no choice but to become Demons… something I said a long time ago to him… and he had it tattooed on his back. There was no rehab for him… he’d been there countless times and it never worked.

He’s clean now, but only because he’s spent many years in jail. Sometimes what we think is the worst thing that could happen, really is what may have saved our lives or made us a better person because of it. This is a reality that I’ve come to understand.

I’m a better person for all the tragedy and suffering I’ve endured or had to witness. From my own trial by fire I’ve learned something invaluable – the ability to have perspective.

It’s made me a harder person, I will agree. But underneath all of that is somebody who cares deeper for others than many may even imagine.

Does this make me a lonely or bitter person? Sometimes. Some days I wonder what life would be like if I were just able to play ignorant and pretend everything was alright. Ignorance is bliss, and it’s a bliss I’m not afforded… It’s a high price to pay.

I remember when I was younger… in highschool. I watched helpless as a friend had his head blown off at point blank range. It was a pointless argument on the basketball court, and my friend didn’t want any trouble. He begged… he pleaded and cried… as the other kid pulled out a gun and held it to his forehead. I tried to intervene… and I was beaten horribly by the rest of his gang. I should have run for help… but instead I lay beaten and held down.

Later when I was in my early twenties, I worked at a bar. A friend of mine at the time came strolling in late one night, and there was clearly something wrong with him. I called for the bar owner to come down… was an older man in his fifties. The kid, and I still think of him as a kid today, snapped over something somebody said and went into a full out brawl. Eventually we managed to pull him out of the bar into the sidewalk, still beating on the bar owner… we tried to call the cops, but the bar owner told us not to. I finally jumped in and yanked the kid off of the bar owner and when the kid started swinging and fighting me, I tried to back off… but he had his sights set on me and would have no part of it.

I had no choice at that point but to fight back. I ended up slamming the kid’s head into the brick wall outside and beating the ever loving piss out of him until he would stop attacking everyone in arms length. Bleeding and defeated, he got up and started walking down the road… the bar owner went inside to get cleaned up and call the police. The kid and I were the only two outside in those dark and desolate streets.

I’ll never forget that night… as he wandered down the road… toward his home. Turning to yell things at me. I’ll never forget it because that was the last time anyone saw him alive.

The police went to his house later only to find he was slumped in his kitchen… blood smeared all over the walls and floors… he had committed suicide. His wife and young daughter were traumatized. I never felt so bad in my life… that I could have followed him home… I could have kept an eye on him… anything. But I didn’t and he’s dead. I don’t blame myself or beat myself up over it. I blame the drugs he was on, and the depression and guilt… It finally did him in.

I have scars on my my body that serve as a constant reminder that from that night on I would stand to defend and try to help people at nearly any cost. Even if that meant I would take the grief for it. I’ve been stabbed, beaten, burned, and more over the years standing for that ideal. But I stood tall and refused to back down. Because I know it could be worse… it could be a lot worse.

Despite all of this, I choose to embrace not the darkness but instead always search for the light. I choose to look for how to make all things better, but I’m not afraid of the darkness either… I’m not afraid to admit when you have to storm the gates of hell to get to that light, and face your deepest fears, anger, aggressions, insecurities, and all those demons that hold us down. I know that we all have to face those demons, and if we want to be better people we have to be willing to defeat them. We have to be willing to face them head on and not try to convince ourselves that those demons do not exist, or that we are somehow immune to their effects.

Salt in the wound is the least of our worries. It’s what happens when we bleed out and could have stopped it that we should be most afraid of. What I fear most is having no choice but to watch that happen.

I’m harsh and cynical at times, but it’s always a fa├žade. I’m this way because I don’t want this world, and the great things you do, to be destroyed and tormented by the demons that haunt you, to overrun all the good things you are capable of and take them away from you. I’ve seen the horrible things that happen when they do. It isn’t because I’m angry… and it’s not because I like causing contention. It’s because I want less of those demons in this world, even if we have to face them together.

Whether that applies to love, business, or just personal lives… I want what is best for everyone. I’m willing to stand against those demons alone and fight against the things that shouldn’t destroy us in any capacity. Hopefully, one day… I will no longer be standing alone in that fight.

Until that day, I am glad for what little light there is in the darkness, and choose to shine that light (however painful) on those demons. I choose perspective.



Aug 24, 2011

Why I Dislike “Other” Grids

Convincing Huck Finn to whitewash the #SecondLife fence.

 

This is one of those blog posts that will invariably be written from the top of my head, but definitely less technical. It’s about life experience, history repeating, and of course about why I really don’t like “other” grids in SecondLife. I understand very well that “other” grids aren’t necessarily part of SecondLife and it can be argued that they are separate entities unto themselves. For instance, OSGrid, ReactionGrid, InWorldz (which I have a particular distaste for), SpotOn3D (which is probably the only grid that actually manages to piss me off simply because of their arrogance and disregard), and others.

 

This isn’t to say that I dislike all other grids, however I do keep the whole thing in proper perspective, which seems to be a rarity with those who actually use those grids.

 

Let me tell you a story about my

first years in virtual reality.

 

I got my start back in the days of VRML and places like Blaxxun Contact, but the system I was using back then wasn’t exactly Blaxxun. Instead it was a place called Cybertown (which to this day most likely still exists as a digital ghost town). Cybertown could be described under the concept that I became very familiar with over the years called a White Label product, whereby the company responsible for the technology or service would license that technology to third parties without any branding. In the case of Blaxxun (and I’m sure BSContact can correct me if I’m wrong), it was a company that made a good technology product – in that they made a multi-user layer for VRML systems, and that technology was white labeled and licensed to third parties who would then create their “unique” systems powered by Blaxxun Contact technology.

 

Years later, I encountered this scenario while using ActiveWorlds technology. Their main universe, the Active Worlds Universe, was really of little concern to the company because they made a majority of their money (and probably still do to this day) licensing out their technology to third parties as a white label product and service. Just like the scenario with Blaxxun, there existed in the case of ActiveWorlds dozens or maybe even hundreds of third party “Active Worlds” based universe systems all rebranded with different company names and sold as unique services, all betting on the idea that nobody had heard of ActiveWorlds, or any of the other third party universes to begin with.

 

Concerning ActiveWorlds, at least they were partially correct in assuming nobody had heard of the parent company responsible for the technology. But during those years I wound up with a sort of virtual world fatigue. I’m sure any long-term virtual environment user will concur, that virtual world fatigue is real and it comes and goes, but often is triggered by oversaturation of similarity.

 

What brought this on in my AW years was this constant insistence by third party universe owners (white labeled universes) that I should leave ActiveWorlds and come join their universe instead. Clearly they were better than ActiveWorlds, would go the argument. They, of course, had essentially bolted on various additions to the browser at the time, maybe set up a novel registration system, or paid for certain modifications to the ActiveWorlds browser or server which made their version slightly different. Many of these third party, white-label universes were small fish in the ocean of virtual worlds and you’ve likely never heard of them before. Places like Virtual Celebrity Islands (Peace City), Virtual U, SpiralMatrix, Vectorscape, Galaxyworlds, Cybernet Worlds, and even the ill-fated Juno Internet Service had their own browser at one point. If you’re an ActiveWorlds user (or an old timer who remembers) those names should sound familiar, but if you weren’t in the ActiveWorlds scene, then it is highly likely none of those systems ring a bell, let alone remembering ActiveWorlds itself.

 

Part of the third party ploy to attract users away from other systems and from ActiveWorlds itself was to offer cheap land and server space for the object paths (sound familiar?) or tout how they had a better and easier setup and registration process that in some way had different features that made it better than what Activeworlds had offered. Many even introduced their own in-world currency system.

 

Is any of this sounding familiar to you?

 

 

philip-on-caticorn

This pretty much sums up what goes through my mind

 

In the end, the hard truth of the matter was this: No matter how much any of them tried to differentiate themselves from the main company responsible for the technology in the first place, they always fell short and instead were always seen as either short term flash-in-the-pan or (more appropriately) living in the constant shadow of Activeworlds, and thus perceived as a cheap copy.

 

There was, of course places that exist today like VirtualU, but despite the in-world hacking and paid additions to the software in order to add features and abilities, to this day the idea of a specialized system built for expos and business meetings never seemed to make sense to me (and even if it did, I can’t imagine that business is exactly booming). The modern equivalent to VirtualU today is SpotOn3D, who I’ve had the pleasure of hearing insist to me how they alone finally got this “virtual world” thing right when all else have not – however not realizing that it’s all been done before and has failed, and that I actually know this because I witnessed it myself over many years in the industry before SecondLife even existed. But moreover, the modern equivalent to all of those third-party universes from the Activeworlds white-label process happens to be the scenario by which we have all of these different “grids” and then SecondLife as the main example of the technology.

 

Just replace the word “Universe” with “Grid” and you realize we’ve repeated the scenario once again, and I’m seeing pretty much the same outcomes and attitudes replayed.

 

With InWorldz, they remind me of SpiralMatrix or Cybernet Worlds, where the land is basement priced, the service is on par, and the technology is two generations or more behind the main company responsible for the technology to begin with. The users of that system act like a cult from Utah, and insist it is far superior to even SecondLife or any of the other grids, and always cite things like “the land is so much cheaper here!”. Hell, they even created their own currency in world called I’s or whatever. Congratulations to the hard work of the team behind InWorldz, because it does take a lot of work to run and operate a virtual world environment. However, your “grid” is doomed to obscurity in the grand scheme of things, and if SecondLife itself is a niche audience, yours is a niche within *that* niche.

 

I have the same to say about most “grids” and even to many virtual environment systems on the whole like BlueMars and Kaneva, and (yet again) There.com. Let me address a few “grids” here. It’s not sugar coated, and it’s going to hit a nerve, but at least I’m being blatantly honest and upfront. I’m sure it is likely to offend, because I’m not about to paint a rose-colored picture of where we’re at as a whole.

 

I’m about to be very candid, and straight to the point.

 

If you wish to remain unoffended or stay within your rose-colored world where nothing you do is wrong, I suggest you skip the rest of this post, as it will be a realist viewpoint verging on the edge of cynicism. Any comments that are derogatory, flaming or just outright attacking will be ignored entirely. This is just my own opinion and analysis, without any sugar coating – it will likely be very harsh.

 

SpotOn3D – you haven’t gotten anything right. You’re just arrogant and ignorant. All the business acumen in the world didn’t save you from brewing the worst PR sh*tstorm you could have mustered, and a lack of actual understanding for the history and practice of virtual worlds as a whole has you repeating common (yet completely avoidable) mistakes. You don’t seem to understand the merit of how people react to what seems like subtle policies or actions on your part, and that it would cause trouble in the long run. Pride comes before the fall. You haven’t done anything at all different than when I called your idea “VirtualU” or any number of other virtual world environments who thought it was a novel and innovative idea ten years ago to set up a walled garden system to cater to business professionals and schools. You’re heading down the same path as your predecessors, gleefully and completely oblivious, if not outright self-assured. If anything, the recent PR nightmare should have been your wake-up call. 

 

InWorldz Put a leash on your community. It’s ok to want to grow your userbase, but not through sleazy practices like trying to get people to leave other virtual environments. I don’t hold you, as the company, at fault. I fault your community – but you can make a big difference in that perception by actually coming up with creative outlets to promote InWorldz *outside of the SL community niche* like an actual, honest to god, real company would. Right now, you (and many other grids) are giving off the perception that you’re a bunch of vultures fighting over users. That has to stop if you ever hope to be a brand and service that stands on its own merit, and not in the shadow of others – a footnote in the history of virtual worlds, if you even bother to warrant that much.

 

Avination: Start with what I just said about Inworldz and add to it this nugget of knowledge: An online marketplace isn’t the reason your in-world land sales falter. Banning magic-boxes isn’t any more of a solution than banning automobiles because you can’t seem to sell horses anymore. The problem isn’t the innovation in marketplace type systems, it’s the lack of added value in having in-world stores. Forcing the issue isn’t a solution. Instead, why not offer education to your business users or entrepreneurs to show them that actually running a virtual business implies many of the same things as running a real business, and that if they insist on making their “store” nothing more than a fancy vending machine, then they should not expect people to treat it any better than that. Having a privately held marketplace system that doesn’t interoperate with other grids unless they agree to a privately held agreement does more damage than good in the bigger picture – and is the same lesson I offer to SpotOn3D as well as Linden Lab, except in the notion that Linden Lab can afford to ignore this for the time being while you and other open grids cannot. 

 

Kitely: While you have a good idea, I don’t believe it has really been brought to your attention that marginalizing and perpetuating the already damaging image of treating virtual environments as disposable and cheap is bad for the industry as a whole. The entire point of the virtual world industry is to try and convince the majority of the public that virtual worlds are a lasting, persistent and engaging arena for all manner of interactions – so much so that it has the potential to supplant or greatly augment current web practices. By offering cookie-cutter, on-demand, throw-away instances, you bring that higher understanding down to the level of “gimmick”. While you are poised to make money in the short term, and even make an adequate business model from doing so, the bigger picture is that the cost of doing so is near irrevocable damage to the overall perception and expectation of seriousness and persistence for virtual worlds as a whole. On-demand spaces serve a very small niche, while perpetuating negative ideals of what a virtual world should be to the masses.

 

Linden Lab: I don’t even know where to begin. You have a decent system, not the best. There is a lot to offer but it is buried in bad decision making, high employee (and CEO) turnover, and stagnation in innovation. You have a marketing leader who has done little to innovate the perception or lead of your company. Of the 150 brand names in virtual worlds as of 2006-2007 (as reported by KZero), considered the hey-day of SecondLife, possibly 2 exist actively in SecondLife today, while brand names like Dell Computer are a digital wasteland of inactivity, probably flying under the radar of accounting and existing purely on recurring billing. Searching for any of those brand names today is like reading a virtual worlds obituary. You control the most powerful marketing engine the world has ever known called Marketplace in conjunction with what amounts to the most ideal (for the time being) method of immersive experience, and fail to see the connection between real life brands as marketing and prosumer culture by which your system boasts in spades.

 

You literally have an army of content creators who would bend over backwards to accommodate your company in the unlikely event that you implemented an IP system which rewarded users for creating content on behalf of brand names instead of punished them. This should be your focus, and not expending inordinate amounts of time and money chasing down DMCA requests and playing virtual worlds Whack-a-Mole. Instead, your marketing director has spent the last year “getting acquainted” with SecondLife and has enacted what constitutes business as usual – all the while seemingly not understanding that SecondLife is far from business as usual and by no means should be treated like a video game. Instead of implementing a prosumer based solution to your dilemma you continue to approach this issue in brick and mortar methods; separation between producers of content and consumers – you’re thinking like a video game company and not like an open ended virtual environment company. In the process, you continually invoke the Streisand Effect, shutting down one or a group of IP infringing creators, only to have twenty or more pop up shortly after either on your marketplace or bypassing your gaze and selling directly in-world. Your IP “Pop Quiz” that every person needs to take and pass before they are allowed to upload content via Mesh is the thinnest veil of a solution, demonstrated by the Back to the Future Delorean Mesh car replica sitting on the Beta Grid – not just one, but half a dozen of them.

 

Instead of wasting money and time playing cat and mouse, or covering your ass in the thinnest excuse for IP protection action you could muster, it’s time to use your resources to work smarter and not harder. You need to give those brands a reason to come back, and this time actually stick around. You need to do this in a manner which celebrates the fact that you have an army of prosumers who are more than eager to do your bidding and win sanction for those brand names, to do the work for them, and hold their heads up high as the official outlets of those products in your virtual space, while giving those brand names inexpensive and viral capacity for marketing in the virtual environment. It’s time to turn your perception of negative into positive and use it to your advantage. Clearly Linden Lab didn’t give them a reason the first time when they had all the world as a stage, so you had better be willing to roll up your sleeves and work on being innovative and enticing to those brands that you lost, getting them (and far more) back into your system. It’s not as hard as you’re making it out to be, trust me.

 

When you said you didn’t understand why SecondLife had staying power, or why it continues to be popular, I knew you weren’t lying. It clearly has an appeal that has yet to be effectively quantified for you or your staff, or how to actually use that to your advantage. Just ask your marketing director, who doesn’t seem to have any more of an idea than she did a year ago when she began. Mr Humble, in all of your experience in the video game industry, even you have to admit that it didn’t prepare you for SecondLife – in many ways this digital nation is leaving you baffled and perplexed.

 

What you need, Linden Lab, is somebody who can explain this to you and give you a clear path to raise the bar. Somebody who can easily lay it out, and explain why consumer versus producer thinking doesn’t work in your business, and what is more likely to work in your favor instead. The problem is that the person you are likely to find for that position isn’t going to conform to your preconceived notions of who you think is best. They should be willing to tell the hard truth, and not sugar coat it. It should be a person with multitudes of experience in virtual world environments, not just SecondLife but across a very broad range of virtual world environments over the course of many years spanning almost to the dawn of virtual world environments themselves. You’re looking for people who have experience in technology or video games, but seem to not understand that you’re hiring people for the wrong job. SecondLife isn’t a video game, and hiring people with video game industry experience is a mismatch. Hiring the right person will be the hardest decision you’ll ever make, because your very core of being will scream and tell you not to.

 

That, however, should be your clear indication that you are about to get it right. I don’t really care who you hire, as long as they are capable of meeting or exceeding those requirements, however unconventional.  Virtual Environments like SecondLife are new media, cutting edge, and there aren’t any degrees from any college that will prepare somebody for dealing with it – that is your first mistake. Mr Humble, you’re the CEO of Linden Lab and even your own years of experience at a video game company didn’t prepare you for SecondLife, so it’s time to start looking for people who meet unconventional and realistic expectations for the situation at hand. You should be hiring for that based on actual virtual environment experience in a business sense, not whether they can pull a college degree out of their butt on demand.

 

I’ll say to you what I’ve told countless other virtual environments and even game companies before you: You have the potential to be something far more amazing than even you can imagine right now. Unfortunately, potential is only one part and is often overshadowed by lack of action or understanding. It would be a shame if your potential were wasted like so many others in the history of virtual worlds. Just ask all the white label spin-offs who the world has wholly forgotten, and will continue to forget today.

Aug 11, 2011

Quantum Rush: [redux]

Possibly the most important article about computer graphics you’ll ever read.

 

In the prior article “Quantum Rush” I took a look at possible methodologies concerning the Euclideon “Unlimited Detail” system and how such may be more plausible than we’re giving credit for. I touched on some very basic ideas that were considered my “first pass” approach to understanding this type of methodology, and I received quite a lot of feedback in the comments.

 

After a bit of clarification, both from my standpoint and coming from the very talented commenters on the article, I’ve further refined what I believe is a better understanding on how such an “Unlimited Detail” system could exist. Let’s start simply by breaking this monumental task into parts in order that we could better identify the processes at work under the hood.

 

 

Lady

 

 

True Geometry

 

As I previously conjectured, Euclideon is using a specialized method of representing point cloud data for the high detail 3D objects they employ. In much the same manner as we have the basis for what constitutes True Color, as in the upper limit of color representation that the human eye can discern before further refinement goes unnoticed, Euclideon likely employ the same train of thought to the representation of the 3D models themselves. There must be an upper limit to how much detail can be resolved before resolving any further would go unnoticed by the human eye, regardless if the system can resolve unlimited detail further. We’ll refer to this as a “True Geometry” method.

 

 

bitdepth_examples_large

 

 

Indeed, they are using a type of point cloud data representation for the models themselves, often times laser scanned into the system with nearly a million polygon equivalent, however this comparison is not exactly accurate when we’re dealing with point cloud data, or furthermore the Unlimited Detail scenario. While we can say the file originally was 1,000,000 polygon equivalent, when it is transformed into the procedural point cloud dataset, that equivalent remains the same while reducing drastically the filesize and computational requirements for rendering the same type of fidelity. However, the key to enabling this type of filesize reduction coupled with the fractional computation for much higher fidelity isn’t due to a single innovation, and in effect depends on a number of things happening at the same time and working in concert to achieve the desired effects shown in the videos.

 

 

 

Point_cloud_city

 

 

The Searchable Point Cloud Model

 

One of the important things to consider on our list of innovations is the assertion by Euclideon that they are also employing an advanced search algorithm within the context of this unlimited detail system. This is highly important in the fundamental understanding of how this type of system is enabled, in that instead of having to access the data contained within the model type files in entirety, it is likely broken up into a type of restricted database format whereby the cells in the database contain parts of the geometry cloud data with a possibility of relative positioning for that particular part of the geometry in relation to the overall model representation. This relative positioning metadata would then be used to figure out ahead of time the occlusion of the potential geometry in relation to global position within the model, in the world and accounting for the camera space of the user.

 

This methodology would remove the linear barrier that is cost of rendering, although even this alone is just a single step in the methods used overall in concert, however impressive. We’ll label this as “Non-Linear Data”.

 

Procedural Methods

 

Now that we have a beginning to our understanding, we continue on to exactly what those database lines are likely storing. Normally the geometry for something like a Collada (DAE) format would look like this:

 

<?xml version="1.0" encoding="utf-8"?>
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
    <asset>
        <contributor>
            <authoring_tool>Softimage|XSI version 7</authoring_tool>
        </contributor>
        <created>2008-08-21T17:18:12Z</created>
        <modified>2008-08-21T17:18:12Z</modified>
        <revision>1.4.1</revision>
        <unit meter="0.1" name="decimetre"></unit>
    </asset>
    <library_cameras>
        <camera id="cameras_0">
            <optics>
                <technique_common>
                    <perspective>
                        <yfov>53.638000</yfov>
                        <znear>0.100000</znear>
                        <zfar>32768.000000</zfar>
                    </perspective>
                </technique_common>
            </optics>
            <extra>
                <technique profile="XSI">
                        <XSI_Camera>
                            <xsi_param sid="std">9 </xsi_param>
                            <xsi_param sid="aspect">1.333333 </xsi_param>
                            <xsi_param sid="fov">0.000000 </xsi_param>
                            <xsi_param sid="fovtype">1 </xsi_param>
                            <xsi_param sid="proj">1 </xsi_param>
                            <xsi_param sid="orthoheight">0.100000 </xsi_param>
                            <xsi_param sid="interestdist">20.099751 </xsi_param>
                            <xsi_param sid="near">0.000000 </xsi_param>
                            <xsi_param sid="far">0.000000 </xsi_param>
                            <xsi_param sid="projplane">FALSE </xsi_param>
                            <xsi_param sid="projplanewidth">0.188976 </xsi_param>
                            <xsi_param sid="projplaneheight">0.141732 </xsi_param>
                            <xsi_param sid="projplaneoffx">0.000000 </xsi_param>
                            <xsi_param sid="projplaneoffy">0.000000</xsi_param>
                        </XSI_Camera>
                        <XSI_CameraFocalLength>
                            <xsi_param sid="projplanedist">4.747280</xsi_param>
                        </XSI_CameraFocalLength>
                </technique>
            </extra>
        </camera>
    </library_cameras>

 

 

The prior is taken (with great pains) from a COLLADA mesh of a Rigged Man, weighing in at around 15MB of data. In order to get the raw data (XML) I attempted to load the file in Notepad, which locked up for awhile during the process of loading the entire 15MB of XML text. Clearly I’m not posting the entire XML data here on the blog, because that would be kind of asinine.

 

The point here is that de facto standards like COLLADA are horribly wasteful and bloated as file formats to represent model data. The issue isn’t the geometry or the properties involved, it’s literally down to how they are represented in the file and how a system would need to access that individual data within the file.

 

In our linear method of thinking, we assume that every point and detail need be written out in semantics in order to have what we need to reconstruct the model in 3D. This is also supposing that we need to load the entire model in entirety before we can run some sort of calculations on level of detail and occlusion. After all, how can be suppose to know what geometries in our model will be occluded if we can’t load the entire file up front to analyze it?

 

The answer may come from our original thinking in the prior section, coupled with the file format itself, and then we put them together with intelligent methods for further optimization.

 

Firstly, being a search engine algorithm base, the file format would likely be represented like a database and not a bloated XML text of all geometry that has to be preloaded into memory. Instead we now have access to individual lines or sections of the file without having to load the entire file into memory up front as a result, effectively streaming the required geometry from the file in real time while actively ignoring any lines that don’t match the search requirement. This is a big step forward on its own, but we aren’t quite there with a total solution. How that geometry and property data is represented on those lines within the database are also of concern for addressing the computational requirements.

 

Sure, we no longer would be restrained to linear methods and not having to load an entire bloated model file into memory to work with it, but if the geometry lines themselves in the database are still 1:1 and bloated, then the total filesize remains very large. So we’ve solved the computational side and access, but we’re left with the filesize aspect to solve.

 

Coincidentally, this is where we add the possibility of procedural methodologies to store the point cloud data lines within the database file structure for easy access and indexing by the search algorithm in the engine itself. On its own, procedural methods can produce the type of fidelity we see with Euclideon, but at a terrible rendering expense for computation in order to effectively solve equations to get our results. In a linear fashion this would instantly be prohibitive to accomplish because we’d have to load possibly a 15MB file which then would need to be systematically “inflated” in entirety, or at a very high resolution, before being able to process occlusion or geometry in the 3D space.

 

However, we’re not dealing with a linear methodology, and as such are freed from the constraints of having to solve an entire geometry of the model  prior to further occlusion calculations and rendering. Instead, we can now selectively stream only the geometries in specific lines within that database and ignore the majority of the file as a whole in the process.This comes as a surprise to traditional thinking in that we are no longer having to load a model up front prior to work with it, and instead are now dealing with fractional file segments in the rendering pipeline. The inclusion of procedural methods of representing that geometry on a per-line basis only adds to the reduction of requirements for rendering in this case because complex calculations need not apply as a whole (which would be computationally expensive) but instead only very small snippets of calculations that are easily solved in real-time are in use.

 

But, of course, there is even more than this going on under the hood.

 

Screen Space Limiting

 

An addition to this line of thinking comes in the guise that even though we may have solved a potential bottleneck with filesize requirements (Procedural Point Cloud Data) and computational requirements (Search Algorithm and Database style selective streaming) we are still left with a hefty chunk of data to represent in a 3D space. This, too, is reduced even further through the implementation of search criteria prior to loading the index and returning values. The screen space itself becomes an important factor to making yet another drastic improvement to the rendering cost in that only the pixels within the viewing space of the 3D environment via the 2D viewport canvas need be calculated, further reducing the overwhelming complexity normally seen in traditional methods.

 

Since there is a likelihood that procedural geometries come with some sort of relative positioning data in the case of Euclideon’s unlimited detail system, the search algorithm is pre-occluding geometry prior to actually loading it into memory via selective query. Add to this the further refinement of calculation based screen space occlusion within the confines of a 2D space of window resolution, and we have further methods for a search based algorithm to ignore further individual lines of geometry data when resolving geometry in a 3D world.

 

As stated by Euclideon recently, a majority of the requirements for their system stem from simply a computer’s ability to display a bitmapped image on screen, which arguably any computer ranging back to 1994 is capable of in spades, and in software mode alone.

 

Deconstructing Complexity

 

What we’re left with is a lot of complexity when all is said and done. Even if the individual lines of the database structure are non-linear access based on a highly complex set of search rules, we’re still left with the notion that procedural methods still come down to recursion algorithms, which still can be quite computationally expensive. However, yet again, our reasoning seems to offer an answer to this problem before it ever becomes a problem.

 

Procedural Point Cloud Data has a potential to be very large in filesize or computational cost, but that is merely potential and not application in this case. The actual equations themselves take up a tiny fraction of filesize data to store, and while resolving those equations in totality can inflate a file and computation immensely, we’re in no position to actually require that we resolve those computational algorithms stored on a per-line basis to any extensive detail to begin with. What difference would it make if those procedural algorithms were solved within 5 steps or less in recursion versus a linear approach that would require a few hundred or thousand in complexity? 

 

The answer happens to be a computational savings of a few thousand percent, and readily within the realm of software computation alone. We aren’t having to resolve more than a position of individual points in a cloud, and individually these computations are ridiculously low-end, but taken together make up a powerful system.

 

Since there is a limiting factor based on screen space and pixel resolution, those normally computationally intensive resolutions for geometry become downright trivial and even then are only on a line-by line non-linear basis with extensive pre-culling with search methods.

 

Hence, even though there is potentially high computational and filesizes, the actual output does not require that. It also explains how the only real requirement is the ability to render a simple bitmapped image in graphics within reason.

 

Epilogue

 

I’d like to remind my readers that what is presented in this article constitutes no more than outside conjecture. While I would love to validate these ideas via access to a hands-on demonstration with the Euclideon Unlimited Detail system, sadly at this point I am unable to do so. The best that I can offer in the meantime is to analyze what has been said in relation to this system and piece together plausibility through non-linear thinking.

 

Whether I am in the ballbark for how this system works or not remains inconsequential because the intention of this deconstruction is simply to show a plausible method by which this could be possible. It may constitute just one of many details for how this would work, however the intention is to create a jumping off point for thought experiments, expanding our notion of what is and is not, and maybe giving us all some insight for what we should expect going forward for the entire industry.

 

My intention here is to create a thought experiment for you to continue working on, and hopefully inspire long-tail innovation and differential analysis. Hopefully you, as my readers, can clarify further and add to this in a manner which will reveal more than even I can wrap my head around. 

Aug 5, 2011

Quantum Rush

When Infinite Detail Isn’t a Hoax

 

There’s this company, and I’m sure by now you’ve heard of them, called Euclideon who has been showing off these insanely impressive videos of a rendering engine they are working on that supposedly handles “unlimited” detail in real-time using only software methods. I’ve read the responses from major players like @Notch at Mojang (of Minecraft fame) and even he is screaming it’s a scam.

 

Turns out that Euclideon has themselves a variation of a sparse voxel engine, and it’s an open and shut case; I mean, how do you move around 512 petabytes of information for such a large island without requiring tons of storage space and rendering time?

 

This would be true if it weren’t for some related factors that people seem to have glossed over in their assessment of the situation.

 

 

Elephants

 

The Euclideon system, aptly named Unlimited Detail, may actually be quite capable of doing exactly what they claim – however in order to possibly understand how, we first need to suspend our disbelief, start answering some important questions, and even get a little philosophical.

 

Overwhelming Complexity

 

Let’s say for a moment that this is some sort of elaborate hoax. After all, the shear amount of data involved is mind-boggling if the entire 3D space is using what amounts to atomic voxel level of detail without repeating the data, right? Similar arguments in the same manner are given by even well known game programmers like @Notch at Mojang, as quoted below:

 

Well, it is a scam.

 

They made a voxel renderer, probably based on sparse voxel octrees. That’s cool and all, but.. To quote the video, the island in the video is one km^2. Let’s assume a modest island height of just eight meters, and we end up with 0.008 km^3. At 64 atoms per cubic millimeter (four per millimeter), that is a total of 512 000 000 000 000 000 atoms. If each voxel is made up of one byte of data, that is a total of 512 petabytes of information, or about 170 000 three-terrabyte harddrives full of information. In reality, you will need way more than just one byte of data per voxel to do colors and lighting, and the island is probably way taller than just eight meters, so that estimate is very optimistic.

 

Assuming is a big word here, and that is exactly what the gaming industry (and Notch) seems to be doing right now concerning this type of technology. 512-petabytes of information is a mighty lot of data to be moving around and storing, but we’ve left out a really simple explanation for why Unlimited Detail probably is not storing or moving around anywhere near that much data for the level of detail they are showing. Regardless if a well known game programmer like Notch at Mojang insists this is impossible, we must understand that impossible often times means we simply do not understand or are unwilling to try, and those are two very different scenarios.

 

Below, I’d like to set aside my disbelief and try to wrap my head around how such a thing would be possible, and we’ll assume it is while we’re trying to figure it out, like a good magic trick. As you read on, just keep in mind that it’s all hypothetical, even if plausible. I have no actual idea how they are doing it, but I can make some very educated guesses instead of blindly dismissing it as a scam or hoax.

 

Non-Linear Data

 

When does 512 Petabytes of data not actually equal 512 Petabytes? The answer to this requires non-linear thinking, which the gaming industry seems to be lackluster at lately.

 

It is very likely that Euclideon actually is using a type of voxel rendering system, but nowhere near in the traditional way that we’re immediately thinking. In all likelihood, it is closer to a Procedural Voxel rendering engine than a traditional voxel rendering engine. As it is said in the videos, the screen space itself is the limiting factor and also a  key to all of this.

 

Just like a Mandelbrot Fractal, which goes on infinitely, all it really takes to make that happen is a simple equation. In the same manner, converting models into proceduralized point cloud data would be a likely approach for “unlimited” detail aside from the nature of Voxel systems to have built in level of detail to begin with, coupled with highly aggressive point cloud culling based on algorithmic rules. It wouldn’t be storing a 1:1 representation, but instead a procedural and algorithmic method to be solved on the screen space itself in much smaller chunks than worrying about the entire 3D world. Essentially, streaming the point cloud data as required for the current screen space, with a very aggressive culling and search based algorithm discarding (or more likely not even calling into existence) anything it doesn’t need.

 

While a Mandelbrot Fractal uses repeatable data, and so too does Voxel methods use copies of data to minimize the requirements and memory usage for unique instances, a Procedural Voxel Point Cloud would not have that constraint. We’re dealing with, just like a procedural texture, a very small algorithmic file which when resolved to X number of steps produces the shapes and details, except in a 3D setting via Point Cloud data.

 

What is actually on the screen at any given point, is only the viewable data, other data ignored in real-time. It’s like asking only for 1/10th of a model because only 1/10th of it is visible at the moment, so you only need to load 1/10th of the file itself. But even further is the idea that even the data for it is algorithmic, and thus not a bloated 1:1 representation of detail, instead just the procedural algorithmic representation which can be solved as said 3D object. Again, this is quite possible and I’ve seen examples weighing in at a mere 177kb in size, but giving modern games weighing in with many gigabytes of data a run for their money.

 

So what we have is a Voxel Point Cloud System, which can be easily concluded, but what isn’t so obvious are the algorithmic methods employed in order to transcend the Voxel limitations normally encountered.

 

Another point I’d like to bring up is the statement by Euclideon that the system is working more like a search engine algorithm. Why is this important?

 

Well, since we’re dealing with a Voxel systems and it uses Point Cloud data for the items in the 3D space, the search type algorithm is only returning (of the fractional file as stated above) the points in the cloud data that matter based on the myriad of criteria assigned in the engine itself – camera distance, etc.

 

So now we can have a point cloud data for a voxel engine, that requires a fraction of the file space versus the same as represented as a linear file type, and even then only is required to load a fraction of that data for the screen space, and even then, the internal sorting algorithms are only asking for a fraction of that data to resolve and display based on the sorting and screen space requirement limiters.

 

To See Into Forever

 

Do we still have a basis for a claim of “Unlimited Detail” in this case? Well, yes and no. What is unlimited detail if only the idea that no matter how closely we inspect something it never loses resolution? Much in the same manner as we look closer into reality we see molecular structures, atomic structures, and sub-atomic structures and even theorize about the underlying energy of quantum structures.

 

However, I’m beginning to see a parallel between a Procedural/Algorithmic Voxel system and the fundamental and philosophical questions posed by people who study reality itself. In a quantum reality, are the underlying levels of detail actually there if we aren’t viewing them or is this all just a well organized simulation where detail and complexity resolve based on the conscious observer? Due to the nature of quantum mechanics, the latter may be the answer in that things don’t resolve unless consciously observed.

 

This is some seriously deep stuff to think about.

 

The nature of infinity may be that of infinite detail on instance, while everything else is non-existent until observed. Sort of like an on-demand reality, which might explain what’s outside the observable universe – not a damned thing until we can see that far, in which case something will be there.

 

Think of it like streaming the HD content of a video. While watching it, it’s high definition and moving, but clearly has no requirement of loading the entire file before you can watch it. In fact, it only needs to load a fraction of that file and keep that fraction streaming in instance. Now, if the movie was converted to a procedural method file, that file may be many orders of magnitude smaller and only have to resolve a fraction of that total file to create the buffered stream portion in play because only the portion to be displayed actually is resolved algorithmically on demand, while the rest of the movie doesn’t exist until called into a specific instance.

 

We’re not trying to resolve the entire file through procedural algorithm, but only 30 still frames per second, before discarding and moving on to the next fractional batch, and the reason it knows what portion of the algorithmic representation to ask for is based on the idea of the “more like a search engine” approach Euclideon mentions.

 

There is also the “limitation” of animating voxel data, and I’ve seen this argument already used for why a dynamic voxel scene is Euclideon’s Achilles Heel. I hate to burst that bubble, but animation of voxel point cloud data is possible, and so is the rigging, as demonstrated in a thesis by Dennis Bautembach named simply “Animated Sparse Voxel Octrees”.

 

 

 

 

Apparently it’s not impossible to animate voxels any longer…

 

 

 

Final Thoughts

 

Whether or not Euclideon is bluffing isn’t the point. Personally, I don’t actually know if they’ve accomplished what they say, but I do happen to know the idea of how it would be very possible to do so if somebody tried. What it takes is the ability to ignore traditional thinking and really think dynamically. Procedural methods, highly optimized point cloud searching, and intelligent methods to limit the required data to only the pixel screen space can make such a system at least feasible without breaking the laws of physics (or a typical computer) in the process.

 

Unlimited Detail is actually possible if you understand that you don’t need to load all of infinity at once to make it happen or even acknowledge the need to store infinity in the first place. Algorithms are elegant representations of things, much like we can represent a Pine Cone and most of nature not as bloated 1:1 geometry in a huge file, but instead as a simple equation. This equation requires only a few bytes, or even kilobytes at most to be represented. When resolved, we can scan through the number set to find the exact part we actually need for the instance in 3D, but we don’t really need to solve the whole equation in infinite detail to get our tree or pine cone, now do we? No, we only need to solve a reasonable depth of that equation before we can declare that any further detail would be pointless and non-observable for the current instance. This in itself is the basis for the idea of Level of Detail to begin with, however, actively and aggressively ignoring data and using fractions of the file itself, which may already be a procedural point cloud, would add more bang for the buck and invalidate quite a lot of arguments which say this sort of thing is impossible.

 

Since we aren’t being required to solve the entire equation, but only the portions that are relevant to the exact screen space at that still frame moment, the amount of CPU/GPU required would substantially drop as it is solving fractional data. So all of this talk about petabytes of data being required is actually nonsense. That is simply the old-style of thought for 3D environments, and not the new school of thought. They are both wildly at odds with each other, much like classical physics and quantum physics don’t see eye to eye.

 

That’s a good analogy, actually… currently, we’re using methodologies that resemble classical physics, while the next generation will be using what appears to be magic (quantum thinking) in regards to the last generation onlookers.

 

 

Arthur C. Clarke said it best

Any sufficiently advanced technology is indistinguishable from magic.

 

Remember this the next time somebody pulls infinity out of their hat.

Aug 3, 2011

SpotOn3D

Elevating virtual worlds history denial into an art-form #SecondLife

 

Apparently there is this controversy brewing over SpotOn3D and their web viewer “plugin”, in that they have the intention of filing for a patent on the process by which they have replicated a “viewer embedded in a webpage” experience. Most well respected open source contributors are up in arms over this recent move by SpotOn3D simply because it amounts to what can be describes as a stab in the back to all developers who are contributing to OpenSim development freely.

 

Of course, I had a wonderful opportunity to check this SpotOn3D “web plugin” out before it reached the ears of the media public, and I had then the same opinion that I do now concerning where they are headed with it all.

 

Let’s begin by stating what the SpotOn3D “plugin” is and is not, because it bares repeating in public to put the record straight.

 

It’s Not Really a Plugin

 

By most definitions it is simply a program wrapper that happens to embed a full program, which must be downloaded and installed as a standalone product, into a web page. In this manner, the comparison as a web plugin is laughable at best. It would be like saying that making a wrapper for LibreOffice to embed the program into a webpage is a “plugin”, even though you are downloading and installing a 300MB installation package which also works as a standalone product from your desktop. The reasoning is quite silly when you actually think about it.

 

In the case of SpotOn3D, they have a program that is separate as a wrapper (and provided as open source), in which certain arguments are called in launching the wrapper which tell it what fully installed program to embed into the web page – by their own admission, this plugin could embed just about any standalone program into a webpage, and I know this to be a fact.

 

So, too, SpotOn3D attempts to pass off a full standalone viewer, installation and all, as though it were a lightweight plugin when it’s really a separate plugin framework system calling a fully installed viewer that is a standalone product. But even the plugin wrapper isn’t even theirs to claim, unless they are willing to publicly acknowledge the other 28 programmers who contributed to the very open source project which made the SpotOn3D wrapper possible. I’d also think that those 28 contributors would be pretty pissed off to find some random company making an attempt to patent something based on Open Source works.

 

 

 

SpotOn3D Not a Plugin

 

 

Clearly there is an icon on my desktop that launches the same viewer as the one that is embedded into the webpage via the program wrapper. To also say that this is a novel approach is also untrue in that the only way one can claim such a thing is if you were to entirely ignore the history of virtual world environments, much like the Pilgrims selectively ignored the Native Americans when they first arrived, and pretended the entire continent was uninhabited. (dramatization provided by Eddie Izzard: possibly NSFW)

 

 

 

You own the entire country, yet have no system of ownership? SpotOn3D to the Open Source Community

 

 

The point here is that unless they are willing to ignore everything that came before them, as well as the community which provided the open source software for them to modify in the first place, coupled with throwing gobs of cash into the arena in order to undermine and compete with underfunded and spare-time open source initiatives, then yes I suspect they can claim there is something to patent. It’s really deniability at this point, or at least willful ignorance of the subject at hand, although I suspect it is more like willful abuse of patent process in order to gain an upper hand in a competitive market.

 

Case in point; The claim of bringing virtual worlds to Facebook. In the video above, the claim is that the entire continent is devoid of other people and the Pilgrims are the first to ever step foot there, despite staring point blank at Native Americans. In the case of SpotOn3D and their “plugin”, they are making a claim of doing something different and unique, and touting their “plugin” integration on Facebook, despite the fact I can claim I’ve seen this trick before in 2007 with ActiveWorlds (Press Release Located Here).

 

 

 

ActiveWorlds Facebook Web Embed

 

 

 

Even though we can say that the ActiveWorlds version used Internet Explorer exclusively for the ActiveX embed, and this only worked on Windows operating systems at the time (which wasn’t anything new since ActiveWorlds only works on Windows to begin with), there is definitely a precursor showing that a virtual environment company has embedded their “viewer” into a webpage and even Facebook using a “plugin”. The reason I say “plugin” again with quotes is because the ActiveWorlds variation of this method worked essentially the same exact way as Spoton3D and their “plugin”. It was a specialized wrapper that called the fully installed, stand-alone viewer and embedded it into a webpage via third party methods.

 

 

 

SpotOn3D Entry

 

 

My Dragon is Bigger: Stealing FireBreath

 

The question becomes, how exactly does one patent something that is actually quite common, shows prior art, and is probably covered by GPL or BSD license and by law shouldn’t be hoarded – nor is actually patentable? The answer is simply that you can’t, but being an IP attorney, the CEO of SpotOn3D already knows this – and he also knows that the intention isn’t to actually patent anything but to get a patent pending in order to hang the threat of litigation over anyone who tries to follow in SpotOn3D’s footsteps, and since patent applications can take 4 – 5 years before they are accepted or rejected, this means that SpotOn3D is using the patent system in order to buy themselves a 4 – 5 year head start on using the external plugin system to embed SpotOn3D into webpages, keeping the entire Open Source community at bay (so they hope) while they reap the rewards.

 

Unfortunately, I’m going to take a moment and return their serve with a hope shattering volleyball spike to the face. Feel free to quote me.

 

The secret to SpotOn3D’s “web plugin” is not proprietary, nor is there any way they could possibly patent it, since both the viewer itself and the plugin system they are using are both covered as Open Source (GPL or BSD licenses). Anyone is free to go grab the “plugin” architecture and make their own embedded [insert any program] at will, and no amount of attempted patenting by SpotOn3D is going to change that.

 

firebreath-logo-r26Introducing FireBreath

 

A cursory look at the javascript on the SpotOn3D “web embed” points to FireBreath API calls. A five minute search later provided the link above, complete with source code and documentation.

 

In short, feel free to ignore SpotOn3D’s assertion that they are getting a patent on their plugin system, it’s just a sleazy tactic to give them a head start under threat of litigation. 

 

FireBreath is licensed under a dual license structure; this means you can choose which of two licenses to use it under. FireBreath can be used under the New BSD license or the GNU Lesser General Public License v2.1. Want to steal SpotOn3D’s thunder? Go ahead and download the entire sourcecode and examples for FireBreath.

 

Epilogue

 

If the viewer itself is open source and FireBreath is open source, I’d like to know at what point SpotOn3D is planning to make a case for filing patent claims based on entirely open source methodologies which would prohibit patenting the process to begin with. The odds are much higher that they are using this as a bluff in order to scare off competition in the web browser “plugin” realm, even knowing full well that when the verdict comes in on the patent process it’ll likely be rejected due to prior art, among many other reasons (like trying to patent open source work as your own and violating the initial agreements that came with it).

 

While I like to give companies the benefit of the doubt, in this case SpotOn3D’s tactics make me nauseous. It is this reason, among others, that I have no respect for SpotOn3D as a system.

 

I won’t even get into their “Double Dutch” Delivery system… I can’t support it simply out of principle because it goes against the very nature of cross platform interoperability.

 

As LiteSim developer Gareth Nelson said, “…people have the right to see the source code for the plugin.” and I agree 100%. That’s why I’m providing that to the public since SpotOn3D seems to want to hide the fact they are using FireBreath.

 

As an official quote from Hypergrid Business (and NWN) with a statement  from Steven Lieberman states:

 

According to SpotON3D cofounder and CEO Stevan Lieberman, who is also an intellectual property attorney with Greenberg & Lieberman, the company is in full compliance with GPL license requirements and has publicly released the relevant code elements.

 

“The plugin is an entirely separate program that has been designed to and does work on not only OpenSim, but also on numerous other programs,” he said in a comment at New World Notes.  ”The technology encompassed in the plugin is patent pending world wide as well as copyrighted.”

 

 

That is probably the single most misleading statement I’ve ever heard, but considering he’s also an IP Attorney, that doesn’t surprise me at all.

 

Here’s the link to steal their thunder (or in this case, fire):

 

FireBreath