Thursday, October 16, 2008
Free Tribes Casebook
My article, ROBLOX Virtual Playworld, can be found in the Tribes Casebook on pages 85 - 87.
Click here to Download the FREE TribesCasebook.pdf
I hope you enjoy reading it as much as I enjoyed contributing to it!
Saturday, August 23, 2008
Professor ROBLOX: Class In Session
ROBLOX offers the same potential as Alice and KidsLike.info agrees. Further, they left a comment on one of my ROBLOX-related posts asking if I could post some of my son's code in order to help other young people understand what ROBLOX code actually looks like. Great idea! I brainstormed with my son and he offered up the following short snippet of code that shows how he makes it easy to explode things within the ROBLOX world:
-- Scripts for creating, placing, and exploding bombs.
bin = script.Parent
local player = bin.Parent.Parent
-- Create a bomb where you clicked. Keep a reference to it so you can explode it later.
function onButton1Down(mouse)
mouse.Icon = "rbxasset://textures\\GunWaitCursor.png"
if (player.Character.Head.Position - mouse.Hit.p).magnitude < 50 then
local P = Instance.new("Part")
P.Name = "Bomb"
P.Size = Vector3.new(1,1,1)
P.Anchored = true
P.Position = mouse.Hit.p
P.BrickColor = BrickColor.new(26)
P.Parent = player.Character
mouse.Icon = "rbxasset://textures\\GunCursor.png"
end
end
-- When you press q, explode all the bombs you created and watch all the stuff explode!
function onKeyDown(key)
key = string.lower(key)
if key == "q" then
local g = player.Character:children()
for i = 1,#g do
if g[i].Name == "Bomb" then
local a = Instance.new("Explosion")
a.Parent = game.Workspace
a.Position = g[i].Position
wait(0.1)
g[i]:Remove()
end
end
end
end
-- Bomb tool selected. Hook in my own function for ButtonDown and KeyDown.
function onSelected(mouse)
print("Action Tool Selected")
mouse.Icon = "rbxasset://textures\\GunCursor.png"
mouse.Button1Down:connect(function() onButton1Down(mouse) end)
mouse.KeyDown:connect(onKeyDown)
end
bin.Selected:connect(onSelected)
ROBLOX is an event-based system that leverages Lua as the programming language. In the code snippet above, my son overrides the default events (i.e. onButtonDown, onKeyDown, etc.) and plugs in his own EXPLOSIVE extensions.
The code above essentially enables you to click anywhere to plant bombs wherever you want them, and then press the 'q' key to invoke your mayhem.
Good fun...good fun. :-)
Friday, August 1, 2008
Social Web Example: ROBLOX Virtual Playworld
In this post, I'd like to focus my attention on the intersection of the social web and online virtual worlds. While I find the recent news about 3D virtual worlds interesting, the highlighted examples such as Vivaty, Google’s Lively project, and the Electric Sheep Co.’s WebFlock feel a little empty and unremarkable from a "meaningful interactions" perspective.
I consider ROBLOX Virtual Playworld a much better example to explore. Why? Because it is an online destination that not only satisfies kids' social and entertainment needs but also addresses their hunger for creativity and learning.
To get a better feel for what ROBLOX is all about, just view the following video which illustrates ROBLOX in action:
Click here to view this video on YouTube.
ROBLOX enables 100's of thousands of kids to interact and play within virtual worlds while learning design, engineering, science and programming. I find the educational aspects so remarkable that I wrote a post earlier this year stating that ROBLOX was grooming our future open source developers.
Since that post, my son has spent countless hours designing, building, and scripting his own customized virtual worlds. For example, he created a very popular Baseball Stadium where you can almost smell the grass on the field while having fun throwing, fielding, and hitting the baseball. It is a modern stadium complete with hot dog stands and a giant blimp hovering over it.
He spends a lot of time using the ROBLOX Studio development environment PROGRAMMING the behavior of the elements/objects within his worlds. For example, he creates complex 3D behaviors within the world by calling mathematical functions that enable the bat, for example, to swing at a wide variety of angles rather than just back and forth. He also adjusts the impact on the ball so that it bounces off at varying speeds.
He leverages the "social" features of the site (beyond the Forum, Wiki, and Blog) including "friending" other people on the site, sending email-like messages to each other in order to ask and answer questions, chatting online while playing within a particular world, voting for "favorite places", etc.
Using my 7 Key Attributes of Social Web Applications, I think ROBLOX scores pretty well. Every user has an Identity; the information is not rich likely due to the fact that we are dealing with kids so onlineprovacy is important. Their Reputations are based on how they conduct themselves online as well as the quality of the places and/or scripts they create. They don't offer much in the way of Presence. People can strike up Relationships with eachother, but not nearly as robust as what you get on sites like Facebook. You can't really Group your friends as far as I can tell. Conversations happen via Forums, chat, and their built in email/messaging system. And Sharing happens all the time since people can share objects, scripts, places, etc.
ROBLOX Business Model
Standard membership in ROBLOX is free and provides the ability for kids to receive an avatar, play within the worlds, as well as design, build, and save a single place of their own. ROBLOX also offers Builders Club which is a premium service that gives kids the ability to create and manage multiple places. It also enables players to earn ROBLOX currency (called "ROBUX") which can be used to purchase premium items in the ROBLOX catalog that enable much greater customization of avatars and interactive creations. I like the fact that ROBLOX offers a free way for kids to get started and then charges extra for increased value.
Bottom-line: ROBLOX provides a great example of how combining the social web and online virtual worlds provides value beyond entertainment and social interactions. As they say on their website, ROBLOX believes "in the theory that kids learn best by making things - by engaging in the creative and complex process of imagining, designing, and constructing. Provide them with a safe and nurturing place to build, give them the requisite tools, and let them play."
NOTE: ROBLOX has a great web page for parents who want to learn more.
Monday, June 23, 2008
Social Web Example: The Nike Plus Community
The answer is an unequivocal: Absolutely!
I have already illustrated how the Jeep Community is an extension of Jeep.com that engages its passionate community directly as well as promotes the large number of Jeep communities that exist on social web sites like Facebook, Yahoo, etc.
The Nike+ Community is similar in that it engages its passionate member community directly from its own website. It is different in that it does not overtly interlink with other Nike communities that exist on other social web sites. At least not nearly as much as the Jeep Community site does.
The picture below shows the entry point for runners to track their mileage. A cool feature is the Community mileage counter that is constantly counting up the collective mileage posted by the Nike+ community. Kind of reminiscent of the McDonald's "100 Million Served" counter. Neat touch.

The next picture shows the entry point for finding and sharing events that the Nike community would be interested in. Nike clearly wants to encourage their community to run together and interact.

Nike also provides an information-rich blog entitled "Inside Nike Running". They have experts writing on a range of topics. So for the community members who primarily like to read and listen, they have a great resource. Nike also provides a Forum for members who are more vocal and want to share their own thoughts.

While the site is a little over-polished for my tastes, it absolutely provides a branded way for Nike to engage its community around an area of PASSION.
I searched on Facebook to get a feel for how Nike is expanding its Nike+ community by engaging with Facebook members directly. While there are a variety of Nike+ groups created on Facebook (ex. the "Nike+ Challenges" group), none of them appear to have a lot of momentum which may be due to the fact that the Nike+ website already has a lot of engaging content.
I really like the "Nike+ Running Monitor" Facebook application and how it connects Facebook and Nike+ website members.
"The Nike+ Running Monitor is connected to the Nike+ website, giving you the ability to share your running information with the Facebook Network.You have the ability to add your profile summary, runs, goals, challenges and much more so you can show off how well you are doing and to keep you inspired!"
Nike clearly has a great strategy for engaging its passionate community with useful information and tools that enable them to feel part of the larger community. If you look at each of the screenshots above, you will also see how Nike makes it easy for community members to find their running products and learn more about them. It's a great noninvasive way to market/advertise to people who actually care about the products.
What's the bottom-line benefit to Nike? Customer loyalty, word of mouth referrals, increased brand equity, and increased sales. They also likely have a much higher ROI on their product-related advertising since they are engaging well qualified customers directly.
Further Reading:
Why Build Social Applications into a Website?
Why Develop a Facebook Application?
Social Media: Rent or Own?
Search Advertising vs. Social Applications
You can find even more recommended reading in the Social Business section of the Ringside Networks website.
Friday, June 20, 2008
Social Web Example: The Jeep Community
The answer is an unequivocal: Absolutely!
Let's take a look at the Jeep Community for example. Jeep has devoted a section of their Jeep.com website to engaging their passionate member community via the social web and doing so in a wide variety of ways.

Scrolling down the page reveals much more:

In the above pictures you can see that Jeep enables their community to interact with a wide range of social applications: picture sharing, video sharing, games, special offers on merchandise, Jeep event calendar including marketing events such as “Jeep King of the Mountains”, and a ton of links to Jeep groups on Facebook, MySpace, Yahoo, Flickr, YouTube, etc.
Jeep is clearly a posterchild for how to effectively engage a community via the social web. Their Jeep Community site is effective since it enables their community to rally around their PASSION. And Jeep has done this in a way that increases the value of their own web property (Jeep.com) as well as taps into the power of the large social networks such as Facebook.
What's the bottom-line benefit to Jeep? Customer loyalty, word of mouth referrals, and increased brand equity.
Further Reading:
Why Build Social Applications into a Website?
Why Develop a Facebook Application?
Social Media: Rent or Own?
Search Advertising vs. Social Applications
You can find even more recommended reading in the Social Business section of the Ringside Networks website.
Tuesday, April 24, 2007
Driving Developer Preference
JBoss' success has hinged on grassroots adoption by developers and users of our open source technologies. Thank you for your support over the years! With our relaunch of JBoss.org, we are hoping to fuel that innovative spirit further and keep our users informed and excited about our new technologies and directions.
There are many types of developers, of course. While many will download our open source components and tools and support themselves via our forums and wikis, many corporate developers just want a set of solid tools they can use and a well tested platform to develop and deploy on. While they may think innovation is cool...and will factor it into future applications...stability is what gets deployed today. They have a job to do and want vendors like Red Hat to make their lives simpler.At Red Hat, we are focused on driving preference for our Open Source Architecture as early in the development lifecycle as possible. So, we are building on the grassroots relationship JBoss has with developers and consolidating our developer-related efforts into a single strategy across all of Red Hat.
Towards that end, we have launched the following new subscriptions:- Red Hat Developer Professional is designed for corporate developers and individuals.
- Red Hat Developer Enterprise is designed for Independent Software Vendors, larger development organizations and mission critical development projects.
- Red Hat Developer Studio is an Eclipse-based development tools environment that integrates tools for Linux, Java, and Web 2.0 application development.
The Red Hat Developer Studio subscription is due out in the summer timeframe and will integrate all of our Eclipse-based tools, including the Exadel Studio Pro and Ajax technologies, into a development environment that works well with and includes our certified platforms. So, developers will not only get the tools but also access to our certified JBoss and Red Hat Enterprise Linux platforms.
This is a first step, of course, and as always, if you have cool ideas for other things we should be doing to help developers, just let us know.Friday, March 23, 2007
SCA, OASIS, and the JCP
So, much like the JCP has implemented key WS-* specs within the Java platform, they should focus on doing the same with SCA/SDO as the specs work their way through the broader community review/input process.
On a related note, there's been way too much chest-thumping on SCA being a threat to Java EE, JBI, etc. Mike Edwards offers a perfect overview of the Relationship of SCA and JBI; lays out the similarities and differences nicely. SCA is from the tops-down user perspective; JBI is from the bottoms-up platform builder perspective. While they may share some similar patterns, those who pit SCA vs. JBI only demonstrate their inability to distinguish between the two perspectives.
Bottom-line: It is time to get the SCA/SDO specs out in the open and let the community process take it forward.
Thursday, March 22, 2007
Open Source Strategy: Freeing Great Technology
Having been with JBoss since 2004, our approach to expanding our base of open source technologies and accelerating innovation has been accomplished using one of the following approaches:
- Work within existing open source communities. Our work on a wide variety of Apache projects and Eclipse projects are examples here.
- Create and staff new JBoss projects. JBoss Seam, JBoss Portal, JBoss Messaging, JBoss Web Services, and JBoss ESB are examples of projects that fit this category.
- Identify complementary open source projects and recruit them to join our community. Hibernate, JBoss jBPM, and JBoss Rules are examples here.
- Free great proprietary/closed source technology. Let me use three examples to illustrate this further.
JBoss Transactions is an example of great technology that was previously proprietary. We worked with HP and Arjuna on freeing that technology so we could enhance our middleware technologies and open up technology to the benefit of the larger community.
Our partnership with Exadel is actually a blend of two approaches. We've added their open source technologies to our community as JBoss Ajax4jsf and JBoss RichFaces. And we are working with them on freeing their great Exadel Studio Pro technology at JBoss.org. Those who want to consume the individual Eclipse plug-ins will have that ability. Those interested in getting all of the Exadel, JBoss, and Red Hat Eclipse tools in an integrated and tested offering will be interested in the Red Hat Developer Studio.
Finally, our new Hibernate Shards project was developed by Software Engineers at Google who created some really cool technology built on Hibernate and then decided to free that great technology for the benefit of the broader community. Max Ross at Google describes the process in his Ode to Hibernate blog. Thanks Max, Tomislav, and Maulik and welcome to the community!
As I mentioned in my blog on Open Source Community, while I consider the open source projects and people who work directly on those projects as the core neighborhood within the "community", I do think the definition of community is broader and includes neighborhoods that extend beyond the core neighborhood.
I love working at a company whose core strategy is focused on constantly extending our community so we can free more and more great technology. It is much more difficult for proprietary closed-source sofware companies to follow suit since they are continually lured by the siren’s song of license sales and using “open source” as a marketing tick rather than as their raison d'etre.
Monday, March 19, 2007
Open Source Community and Barack Obama
"Obama's mother is of white U.S. stock. His father is a black Kenyan," Stanley Crouch recently sniffed in a New York Daily News column entitled "What Obama Isn't: Black Like Me." "Black, in our political and social vocabulary, means those descended from West African slaves," wrote Debra Dickerson on the liberal website Salon. Therefore....Obama is not black enough. Makes logical sense, right? Uhhhh.....I don't think so!
The definition of open source community isn't as singular in nature as some would like you to believe either. Definitions of open source community that focus on one way to do things or one way to interact and communicate are missing the bigger picture. Open source communities extend beyond those who interact directly on the open source projects, mailing lists and forums, and include the users, customers and partners in a wide variety of ways. In my opinion, there are neighborhoods within the larger community that have their own perspectives and ways of interacting with the larger community. So, yes, there is the core open source development neighborhood, but there are also neighborhoods for customers, partners, indirect users, etc. and they are all active community participants in their own ways.
In order to reach out to this bigger community, the Professional Open Source model we use at JBoss enables our developers to spend some of their time delivering services to our customers - via support, training, or consulting. This affords them the ability to interact directly with users who may not be subscribed to the individual project mailing lists, forums, etc. We also have Product Managers, Sales Engineers, Support Engineers, Trainers, and Consultants who spend a lot of time with customers and partners discussing and understanding their technical requirements and funneling that input directly into the open source process. At Red Hat, we spend a lot of time looking for new ways of serving, expanding, and recognizing our community including user conferences, roadshows, Innovation Awards, Red Hat Challenge, client advisory boards, web conferences, face to face meetings, etc.
The definition of open source community need not be so black and white.
Like the software these communities produce, the definition of community needs the chance to evolve and change in ways that we can't even imagine.
