My Thoughts about @EbbeAltberg and #SecondLife
It can be taken as read that I have been and continue to be quite the outspoken and borderline cynical mind in the group of cheerleaders for Second Life. It's no secret that I think the past CEOs have been colossal screw-ups even from the moment they stepped foot into Linden Lab (excellent executives but horrible for the exotic case of Linden Lab). After all, I knew the entire playbook for Linden Lab the moment Rodvik took the CEO position, and I ended up being correct (despite people thinking I was being mean).
Picture Credit: Jo Yardley
With Ebbe, I feel differently.
On the one side, the ToS and a number of things need to be re-aligned and fixed in the company. This has been a fact for years now going back to the first time Philip stepped down. From a purely executive standpoint, Linden Lab has been a clusterfsk internally with a vision statement that resembled the fog on an autumn day in London. Mostly just throwing things at the wall and hoping to make them stick, and in the case of Rodvik just forcing the issue across the board without consideration for anything but his own wishes.
I'm no cheerleader, but instead I'm a realist with a dash of idealism.
I got to be this way from twenty years in the industry, watching it rise and fall flat on its face countless times. It takes a toll on you to experience countless hardware, hype and “VR is the future!” opportunistic sales pitches from people in the industry who clearly don’t know their asses from their elbows when it comes to virtual worlds. I no longer buy into the hype of virtual reality or even augmented reality because it has always been a let-down for essentially the same exact reasons like a record on repeat.
I’d very much like to get off of that Merry-Go-Round.
In the case of Ebbe, I do feel differently than I have about all other predecessors for a number of reasons. I get a different "vibe" off of this guy. I’m almost willing to say that he “gets it”. Almost... it’s a bit too premature for me to say that officially, but that’s the vibe I’m getting from him. Normally a red-flag would go up from gut instinct if something was out of place, and not even Philip Rosedale escaped that intuition with me.
In so much that he isn’t triggering that intuition from me is far more telling than anything else I could possibly say.
What I get from Ebbe so far is the following -
He's had some experience with Second Life, and so has his teenage son. That doesn't make him an expert, but in the same notion that gives him a leg-up in knowing that Second Life is the flagship product and needs to be cultivated as such. With the cancellation of Versu, DIO and (?) Creatorverse I believe he's thinking along those lines and saying roughly the same things that I would have said in the same situation -
Why have we as a company lost our focus and why are we spreading ourselves so thin on things which do not celebrate nor embody the vision of what this company and it's customers have created and have been known for?
So he is rightfully turning the focus back to Second Life, because it is the flagship product. But more importantly, there is an understanding that I think a lot of people missed outright -
Second Life should be able to focus on many contexts without having to employ everything it can do all at once. This hearkens back to the statement I made awhile back about how any CEO worth their salt would immediately recognize that Second Life *is* their platform and that they should empower that platform in order to make it useful across many contexts of interaction in order to appeal to a wider base. If Second Life as a platform was fulfilling that mandate, then there would never be a reason to publish a game outside of that platform - because by doing that, you are admitting that your platform isn't capable of even a simple game experience in a compelling or reliable manner.
This means creating a context that allows for building games/experiences efficiently in Second Life, and this means building business and education contexts on the same platform without needing everything up front. For this, we're talking things like the ability to have two modes of simulation as dictated by the sim owner - Open-Ended and Publish.
The latter (Publish) is what would appeal to actual game developers in the real world (and not in our little Second Life community bubble). Considering that Second Life is essentially a game engine environment editor (much like you’d see with CryEngine) the only thing it’s missing is that “Publish” button to nail down the virtual space. Second Life (in this manner) is essentially a game engine perpetually stuck in Edit Mode.
But let’s say there was a context where you finally added that Publish button to the editor. Now you have a platform to seriously publish content on (in the eyes of real world game devs). Published simulations are optimized for all manner of things like lighting, collisions, and so forth. I used to create Doom II WAD files back in the day, and while I could play-test those levels, the engine always had a “compile” step to nail it all down and pre-calculate stuff.
That’s the sort of differentiation that is needed for Second Life.
Yes, you can create games in Second Life now, using it as your platform – but just like a game engine stuck in Edit Mode, your games are running unoptimized and horribly inefficient. In the same manner as people can model stuff with Prims (hold on there, this is important) – The Prim editor in Second Life isn’t the bastard child people think it is. It’s a 3D Modeller program stuck in Edit Mode and without the Compile button to merge the tree making it into an Optimized mesh.
Think about that for a second.
If you could create something with Prims in-world, and then commit it to an optimized Mesh.. what would that mean to you? In a way, there are third party HUDs and such that can do this already (albeit in a limited manner) but what if that was built into Second Life itself natively?
No longer would people be saying “But I have to learn how to use Blender to make anything useful in SL!” but instead you’d be able to hand them the exact same tool that has been in Second Life since the beginning and say “You already know how to use this... we just gave you the Export to Mesh option.”
The most powerful tool in Second Life is ironically collecting dust.
I don’t really know jack about using Blender or another 3D modeling program. I’ve used a number of them over the years but I wouldn’t say I’m terribly proficient with them. However, I can model like a pro in Second Life. It’s too bad I can’t export to OBJ when I’m done as a native option or else I’d see SL as a toolbox that transcends into the real world.
Elaborating that toolbox and bringing more of those 3D Modeling functions back into SL natively would be a god-send. Sure you’d still have to use external modeling programs to do more advanced things until the native toolbox in Second Life was comparable, but in the short term, being able to use Second Life as a native 3D Modeling program to export would be great (assuming of course the permissions are correct).
There is (of course) the other caveat of that Toolbox which to this day hasn’t been addressed. In ActiveWorlds there was the native ability in the toolbox to define Particles via Point & click interface (much like you can do in SL with the other Toolbox functions). You didn’t have to touch a single line of code to make it work.
That would be something to make happen as soon as possible in Second Life – adding a Particle Editor to the Toolbox natively as a tab without it spitting out a separate Script for you to stick into the contents. Call it a Native Script versus a User Script. A native Script is what all objects would have internally and editing things like Particles via the Toolbox would alter that Native Script. User Scripts would be what you add to the Contents tab manually that you have coded externally.
Objects/Prims already do this – where do you think it’s storing the properties that you are setting when building? Native Particles would be no different... you’re just setting some more object properties for it to store.
This is something that (for ten years) has utterly baffled me for why it hasn’t been added yet (among a few other things). Staples of virtual environments like ActiveWorlds which predate Second Life by about 20 years have a better grasp on their in-world toolbox.
And I think that’s what gets me the most about all of this. Ten years later and Linden Lab has been so side-tracked or apathetic that they haven’t managed to finish what they started seven years ago. From a virtual world stand-point, the Second Life virtual environment is half of a platform full of unfinished things that went live before it was time. It is a box full of spare parts collecting dust... Like having a hammer but no screwdriver. The logical things that should be there simply are not, and the things that made no sense to do are favored with heavy bias.
So it’s not feasible now to just start from scratch or shut it down. It’s like a jet in mid-flight... but what you can do is go ahead and finally start finishing the things that should have been in Second Life that were systematically blown off for the past seven years, in order to make it a robust platform again.
It’s time to get the focus and vision back.
Take for instance the ongoing lack of native Weather in Second Life.
The biggest reason cited for not having Weather in Second Life is that it rains indoors with no good way to do a collision check for the particles. This is patently false and has been since day one. It just boils down to nobody wanting to actually do it or being given some other priority to focus on (with all of these CEOs changing their focus like I change my socks).
Implementing native Weather in Second Life is dead simple. Here’s how to go about it in two easy steps:
The same company responsible for Windlight (WindwardMark)... go back and get their Weather system too. That’s step one.
I know what you’re saying:
But, Will! Windlight doesn’t have Weather!
Oh yes it does, Skippy. Linden Lab deliberately left it out when they introduced Windlight to Second Life (circa 2007). Even though Windlight Weather is far more efficient than the 3rd party in-world solutions for Particles (which lag the hell out of the viewer), somehow this isn’t a native option in Second Life still.
Windlight Weather uses Screen Space Particles which are way better for the effect. It’s also how I used to implement weather effects in ActiveWorlds using their built-in particle editor on the toolbox, by defining the effect as a Screen Space Particle.
Here’s the video to prove the functionality exists:
Step two: You already have Prims, and what you need to do is create a manner by which a user can define ZONES. Zones are a staple in game engines... they are essentially Mega Prims which are phantom and contain special properties when outside or inside their space. This single step actually solves something like a few hundred issues in Second Life in one blow.
The same sort of issues that the community have created 3rd Party solutions and HUDs just to overcome. This alone should be telling... when the community is solving things that the main company isn’t touching.
Interestingly, Linden Lab is about 80% capable of doing all of this out of the box and I don’t think they’ve ever truly realized it (or particularly cared).
Zones are how ActiveWorlds handled the “It’s raining inside” problem without doing a collision check for every single object in world. But more importantly, there are countless other benefits to implementing user-defined zones.The users would define a Zone, pick a shape type, define the dimensions of that zone, and then assign properties to that zone.
Properties like:
- Particles originating outside cannot enter.
- Particles originating inside cannot exit.
- VoIP inside this zone is not heard Outside the zone.
- VoIP is disabled in this zone
- People and objects inside this zone are not visible to people outside
- Upon entering this zone the lighting changes to [this].
- Ambient audio in this zone is [this]
- Fog inside this zone is...
- Upon clicking this object, change Zone Properties to [this].
- This zone has the following media streaming when inside of it.
- This zone has the following gravity.
- and one of my favorites – This zone acts like water.
I have to take a moment to elaborate a bit on the Zone Occlusion property. This is quite possibly the greatest thing to be implemented. It allowed the creator to occlude areas and objects, which in turn drastically lowered the load time and lag. You could, for example, create a Zone for the inside of buildings which said that if you were outside of that zone (outside the building) then nothing inside would load. This saved on bandwidth and scene complexity by a light year. I’d walk into a building, and everything inside that zone would then load up but would then unload the minute I walked back outside.
Can you imagine an entire complex and dense city in Second Life using this to their advantage? I don’t want to name anything in pa- *coughs* Insilico
The last property for zones was particularly useful for swimming pools. You define a swimming pool and then a Zone inside of it with Water turned on as a property. Whenever you entered that Zone your avatar would start swimming and you would move as if you were in water. I also had a blast defining zones with varying gravity in mid-air to simulate gusts of wind columns that the user would do a leap of faith into with a particle effect to look like dust was being blown up in those spaces.
The Water property for the zone was the same property that was used natively for the Ocean. Another contention I have is that the Zone (yes, Virgina... zones already exist in SL) for the Ocean is unfinished. Unless you have some attached HUD to go Scuba Diving (which is a 3rd Party workaround), you do not swim in the water. You just walk on the bottom of the ocean floor.
Essentially, Zones are like dynamic Parcels on steroids.
You create a house, then you create Zones inside of it with accompanying properties. Viola! It’s not raining inside your house anymore.
ActiveWorlds even added Mirrors to their platform years ago and it works just fine. Do you know how they got around the issue of it requiring too much horsepower? They added a property to it called Radius and limited the output to something reasonable like 128, 256 and 512 resolution so as not to kill a graphics card.
But of course, I digress (as usual) and have gone off on a tangent. Though we must keep in mind that this tangent has a very good point and it is related to the subject at hand... which is our dear commander in chief Ebbe Altberg. So let’s get back on track (though I can’t offer a segway).
Back to the Point
When Rodvik went off to make games and a distribution platform for them, it was a tacit admission of failure on his part. Instead of using his most powerful platform to create stunning experiences, he chose to follow the EA playbook and opt for a closed publish model unto itself separate from Second Life. The platform is (and always will be) Second Life, and the goal should be to make your platform robust enough to allow those better experiences to be created.
There is no reason why it cannot be done. Especially if a twenty year old company that is on its own death bed (ActiveWorlds) managed to do it years ago.
This is why with Ebbe, I see the same realization up front from him, and that is promising.
Second Life is many things to many people, and it should (going forward) be robust enough to cater to those use-cases natively so that it can be the universal platform for creating collaborative/shared experiences.
With Ebbe Altberg, the reason I’m not jumping on my usual cynicism bandwagon is because I get a very different “vibe” from him. From what I’ve seen so far, the very same types of things that I’ve said above, and the sorts of things that I’ve said for years in this blog, are also the same types of things Ebbe is looking at with a heavy dose of clarity and common sense.
So far, he’s very competent and showing a penchant for comprehending the situation in a manner that has been overlooked for years, with a breadth of inquiry and interaction that sorely needed to take place (and should by all means continue).
Only a few points in my opinion have been deducted... privately inviting 8 people to come talk with him and of those people are mostly just the shameless cheerleaders of Linden Lab. That irks me a bit because with the changing of the guard, the old lap-dogs are immediately sucking up to the new boss and flaunting “teacher’s pet” all over again.
There is a difference between 8 cheerleaders and 8 advisors. Remember that.
For that little maneuver, I deduct points. Because I heard a number of people asking me whether or not it was an invitation via the SL Press Corps and maybe they had their IM’s capped and missed it...
To which I had to say:
No, Linden Lab privately invited those people.
I deduct points for that because it’s not in Ebbe’s best interest to surround himself with unapologetic ass-kissers. Those 8 people will always find a way to spin things in a favorable light just to remain the teacher’s pet and gain favoritism as part of that.
If Rome was burning to the ground, they’d tell us how wonderful Nero’s music was during the campfire cookout.
Group Notice: Nero is playing Live at the Ampitheater! It’s Best In Beachwear at tonight’s BBQ with 1000L on the board! Bring your friends and remember to tip the venue!
Which is exactly why I refer to them the way I do. Yes, I am perfectly aware it’s insulting... but the premise of that situation is insulting to the entirety of Second Life. The company doesn’t need Yes-Men and Girl Friday’s, it needs people who are going to cut the shit and get to the brass tacks.
There is no hard journalism with them, and in fact almost always look for a way to spin a situation in the best possible light, or if unable will sit on the fence and insist things aren’t as bad as they seem (let’s just wait it out and have total faith they have our best interest in mind!). Essentially, it’s just a long string of fluff pieces... which is fine if you’re looking for entertainment and feel-good antics, but you’re not going to get anything done if you aren’t willing to pull a Mike Rowe from Dirty Jobs.
That’s why I’m a lot more proactive about things. I’m interested in actual answers, and barring having them am willing to go right ahead and find solutions. It’s no secret that I’m not one to just sit on my hands and regurgitate whatever the popular opinion is or try to paint the situation in the best possible light.
So if the situation is screwed up... I’m going to say so. The first step is admitting you have a problem. Already in this post I’ve gone ahead and solved about one-hundred issues with Second Life while proving it is undeniably possible to do so based on a twenty year old virtual environment. You can make that 101 if you want to include the Second Life X-Factor post I did a few years back detailing that Marketplace is the key to real world marketing involvement.
That’s a new record, even for me.
I didn’t show up to a meeting and ask questions... I flatly solved issues, and that’s the difference between a cheerleader and an advisor. If you’re a cheerleader, you ask questions like “How will the ToS be resolved?”, as an advisor you say “This is the point of contention, and here is why. Let’s understand the balance between the interests of Linden Lab and the interests of the content creators in order to hammer out a middle ground both can accept so we can move on.”
As a cheerleader, you show up to a private meeting so you can ask how Ebbe is going to address new user retention. As an advisor, you outline the things which are causing that new user retention to be low and then start making suggestions based on prior virtual world history on how to solve them.
Cheerleaders ask questions. Advisors offer actual solutions.
This is the reason I don’t take the SL Press Corp group seriously. You had to jump through hoops to get into it only for Linden Lab to ignore it and invite their favorite people privately for anything of importance. At the end of the day, that serves only one purpose – and that is to get the big names in SL media to show up, ask some questions, and then just relay that to the public (more often than not with a massive “go team!” bias).
Tsk tsk.
Don’t get me wrong... I understand that you very well couldn’t just invite everyone in Second Life as a free-for-all.
So this is what I would suggest:
Now that Linden Lab has had a talk with their teacher’s pet cheerleaders, the next meeting should be picking 8 academics with a comprehensive understanding of virtual environment history for a sit-down and a serious, non-fluff, discussion about the whole kit n’ kaboodle. They aren’t there to take notes and write a blog post about it, and they aren’t there to tell Ebbe what he wants to hear. They are there to get shit done and find actual solutions. They are there to offer their collective knowledge of the entire industry and its history to Ebbe so he can do his job more effectively and figure stuff out.
And I mean a serious discussion... not a one hour expose interview. Just devote an afternoon with a cup of coffee to really have a discussion and ask questions. But there is a difference here -
That first meeting was essentially the cheerleaders asking questions so they can go ahead and regurgitate to the public.
The second meeting should be 8 academics offering actual insight and answers on how to solve those problems. Less about those 8 academics asking Ebbe questions and more about Ebbe asking those 8 academics questions instead... asking people who can actually give insight and answers based on a little more than personal opinion or rose-colored glasses from inside Second Life. Advisors have one foot firmly in Wonderland and one foot firmly in the Real World.
Overall, I’m not cynical about this guy. If anything I’m actually intrigued and hopeful. He’s (so far) doing a well balanced and good job. Aside from the private meeting with the cheerleaders, and the name dropping of calling Philip Rosedale for a personal favor to get his kid unbanned... those are the only two points I deduct at the moment.
For the rest, I’ll just have to wait and see what actually happens... and as usual, I’m gonna call it like I see it.
It’s a dirty job, but somebody’s gotta do it.