|
Hi John, Thanks for your inquiry. This is the correct place for now. We are starting a new discussion list for developers as well, hosted by Duke. https://lists.duke.edu/sympa/info/cobalt-dev
There are several developers on this list. I'm one of them :). Let me know if you'd like a sample of my work. What you describe is certainly doable in Cobalt. There are a few questions you need to ask your client to help you further decide which platform would work best for you.
- Will the environment be multi-user?
- If so, how many at the same time?
- Who can talk to whom and how easily? (Do students help each other or hurt each other in unsupervised, peer to peer coverstaion?)
- Does someone need to host this on a server and manage it?
- Will there be several "appartment buildings" to facilitate different clubs, organizations, institutions, care givers who already have thier own groups, teams, and other support systems to integrate to this?
- Will it be a product students can carry around with themselves (on laptops) for peer to peer meetup without a server?
- Will the students create their own products to sell to earn the simulated money?
-
Would you want students to actually do some programming to enhance the simulation, enhance their communication in a mulit-media multi-modal maner, focus their concentration productively and creatively, and to create dynamic, interactive artwork to express their internal state?
- What kind of record keeping would be needed for the staff, parents, students and for subsequent analysis?
- How would they mark, reward, and celebrate the student's improvements?
- Is this a one-time shipped product/service or does it improve and evolve over time like World of Warcraft?
- Does it need very smooth animation, professional level artwork?
- Do you know what kinds of computers it will run on and their 3D capacity?
- What other products would this compete with?
The eCommerce might be supported in Cobalt from the 3D environment to a web based back end, but the dynamic data interaction over that link (kind of like screen scraping) would need to be programmed.
OpenSim doesn't have the commerce part of SL and is lacking in many of the tools one expects from SL. I've talked with a few of their developers. They're not trying to /be/ SL so their goals are different from SL. One has to find out their specific direction from them, since it keeps changing by committee. ;-).
SL does provide private hosted world, for the right amount of money. I've attached here my reply to an earlier email about how I think Cobalt is better suited to a project for those with autism. While they've moved on, you might want to check out what they had accomplished in this same area of your interest. ( http://xaverse.blogspot.com/2007/11/isocial-virtually-social-space-for.html )
Cheers, Darius metaverseographer edusims.com
Hi Matt,
That's a great question. Above all our Cobalt related efforts, the message about how we're different might be most important.
Until
we can demonstrated it more fully, perhaps using analogies is best for
explaining such differences. Note, many of the possibilities I
described are facilitate by the architecture of Croquet/Cobalt,
not necessarily already implemented in it's current version (like the
exchanging of program behavior through sharing source code). Also, I've
not tried Wonderland, so some of my comparisons and assumptions might
be inaccurate and I welcome anyone to correct me.
Smalltalk is like the modeling clay of computer languages. You can
easily make a change anytime and anywhere and at several places at the
same time. But, it's easy for anyone to bump it and mar it. Other
languages are like sculpting a stone sculpture. You can make only the
changes that a chisel/tool can make and only one place at a time. The
changes are slow and mistakes are hard to fix. But, it's also hard for
anyone just touching it to mar it. The 3D part is like dressing the
sculpture. It's easy to change clothes and accessories but the clothes
have to fit the stone sculpture. If you want to try different sized
clothes, it's easier to change the whole sculpture with the clay
sculpture. You can chop up the stone sculpture into modules, but now
you have a lot of separate piece to keep track of and make sure the
person dressing the sculpture can keep track of the pieces as they
change the clothes too. If you pile on too many clothes, the weight of
the clothes may overload and bend the clay sculpture against our will,
while the stone sculpture can hold a tremendous amount of clothes (as
long as they are all the proper size for each layer). Note, we can bake
the clay sculpture to be very close to being as strong as the stone
one, but we lose the flexibility after that for the dressers, but we
can make many of them rather quickly and bake them at different sizes.
It is easier to hand a blob of clay to a friend and have them start
modeling right away, wherever they're at. One can hand their friend a
stone and then a chisel but you'll have to train them, fix their
mistakes, move to a safer area away from others, and they risk cutting
themselves. If one has a 1,000 friends, it's a bit easier to hand out a
1,000 pieces of clay than 1,000 stones, chisels, training time, etc. It
is easier to attach everyone's separate clay sculpture together into
one sculpture, but it might not look like what everyone had in mind and
may require extra adjustments. It is quicker to assemble everyone's
separate stone sculptures together into a united sculpture if it is
planed in exact detail from the beginning and everyone sticks to the
plan, which rarely happens and the subsequent adjustments are harder to
make in the stone.
Take Sun's Wonderland for an example now. Java may support many
open source projects and its specification may be open to view. But, it
has been very hard to ask Sun to change the Java language to meet
modern needs. Java requires lots of extra tools to keep track of its
pieces. Even if you can change the Wonderland code and change the Java
language, who is willing to change all the servers to meet your
specific change request? The culture and structure is to write a few
times, read mostly, and get it right the first time because IT
administrators and or local hosted server users don't like to change
server software and take down access to the service while they are
doing so. It affects too many people.
Smalltalk lets you create and share the content but the behavior, the code, can be shared as easily as the content. Cobalt/Croquet will be like a "live-running-software-wiki" where you can change
eachother's world behavior while you're in world as easily as you can
share a text document or edit a wiki, with a security structure in
place like a wiki's pages or file uploads. Few, if any, server changes
would need to be done by server admins.
Second Life and Wonderland have gradually added new media formats,
in-world audio, in-world video, etc. But these media are like strangers
in the 3D model world, requiring version changes and a new download of
the client and server software as they are added. There is no
"non-linear video editing" in the 3D worlds for example. Can you edit
the sound and store it by manipulating 3D objects? Text editing in SL's
shared experienced 3D space is almost impossible. Usually text must be
converted to graphics or only edited in the 2D heads-up display (HUD).
Can you write a 2D drawing program that exists in the shared 3D world
of SL? 2D graphics is not a native media format in these 3D worlds.
Because everything is composed of "living objects" in Smalltalk,
these artificial barriers are almost eliminated. One will be able to
edit text or animate 2D graphics in a 3D world as easily as one does in
a 2D world. Text, sound, and 3D objects can be attached to each other,
while the system is running, in novel and, as yet, unimagined ways. New
media yet to be invented will be just as easily handled w/o having to
rewrite the entire UI to accommodate it with a "wait for the next
version to be released to the open source community". Once someone
accomplishes the import of the new media in one Cobalt/Croquet session, they should be able to immediately share the code for it with any other Cobalt/Croquet node that needs to import/manipulate that media.
This vision does require that everyone be willing to edit code as
easily as they edit their blog or Facebook site. But that can also be
delegated by a "trusted friend network". The PC computer became much
more popular when almost anyone could
create a program with Visual Basic and share it with anyone else.
Before then, the commercial software was just not that interesting.
With the advent of the PC and Visual Basic, every niche community could
make their personal computer a tool for their specialty. Not so with
the midrange or mainframe computer. Many novel ideas could be explored,
broadly shared, and either thrown away or kept with a PC, but not a
server.
Compare creating a website with a website editing software vs. a
wiki. They both publish information in text and pictures to a web
server, but one is more dynamic, interactive, easier to fix small
mistakes frequently, easier to share the load of creating a single page
among others. The other may allow one to be more accurate and precise
control over the content, but adds several stages to go through to
accomplish it. You have local storage of your copy and few people see
that copy. You edit it privately then post a mostly finished product to
the server if you have enough authority. Fixes require you to copy the
page back down if someone else edited it and repeat.
When you say you want to use an "open source stack" the word stack
implies all the levels one must install and maintain and which many may
not be able to extend all the levels even if they are open source. Take
the LAMP stack for an example. Would your team want to edit the Linux
code? the Apache code? the MySQL code? the syntax of the PHP or PERL
language? You can only really edit the configuration files and even
those have different rules for every level in the stack. In Smalltalk,
the stack is just one single layer, all editable while it is running...
data storage format and technique, web server, OS type functions can
easily be edited and even the syntax of Smalltalk can be molded into
mini "domain specific languages" if needed because of the built-in
compiler/interpreter.
3D environments facilitate a major trend. How we communicate and
learn is rapidly changing and accelerating the rate of change as well. Croquet/Cobalt is a platform which can more quickly adjust to those changes than any other in my opinion.
Lets take an example from a list of current changes to learning, compiled by Steve Hargadon:
http://www.stevehargadon.com/2008/03/web-20-is-future-of-education.html
I've put a comment a the end of each line describing how Cobalt/Croquet facilitates each trend.
* From consuming to producing - Even the casual person visiting the 3D world can edit the world's code to produce something new.
* From authority to transparency - Everyone can see the code while they are running it.
* From the expert to the facilitator - Teams of people can help each other in Cobalt/Croquet
to change the application, especially at the moment it is most needed.
You don't have to send a change request to the developers and hope they
fix it. They can also communicate in more ways than a pre-made service
could provide.
* From the lecture to the hallway - Cobalt/Croquet is portable, w/o having to be always online. A two person notebook-to-notebook 3D network will be just as easy in Cobalt/Croquet as linking to a university 3D library of worlds. One's personal world is one's hallway for meeting others.
* From "access to information" to "access to people" - One can find the initials of the code developers in Cobalt/Croquet to ask why an application works in a certain way. In Cobalt/Croquet ,
one can establish one's own criteria of what constitutes the group and
how much attention is required to maintain participation in the group.
* From "learning about" to "learning to be" - The flexibility in Cobalt/Croquet allows world creators to create environments that more accurately
reflect/simulate what we are most concerned about. The simulation is
not just a 3D movie about the subject material with extra buttons, it
becomes the 3D control panel to manipulate and do something about the
subject material. One learns by doing. Hence, one can practice at being
a subject mater expert by practicing the same skills and manipulating
similar object.
* From passive to passionate learning - This can be accomplished by transitioning to the 3D environments in general.
* From presentation to participation - This can be accomplished by transitioning to the 3D environments in general.
* From publication to conversation - Cobalt/Croquet lets the conversation go deeper into comparing simulations and their
rules by manipulating them, rather than just watching and talking about
what someone else created.
* From formal schooling to lifelong learning - You can take your Cobalt/Croquet world and the complete development environment with you. You are not dependent on an organization's hosting server.
* From supply-push to demand-pull - In Cobalt/Croquet you can simply ask for just a part of a world based on some custom
criteria or filter a view of someone else's world based on your
criteria. Other systems fix the experience so you can only experience
the world as it was created (with a few little changes like the sun's
position at a different time of day). 3D creates worlds to explore to
satisfy their curiosity, when the students' skills and need arise to
make them ready.
You might consider reviewing the essay: "The Cathedral and the Bazaar" as well. http://catb.org/~esr/writings/cathedral-bazaar/
___________________________________________________ Now, applying Cobalt/Croquet specifically for your needs ... studying autism and helping those with autistic traits.
- Keeping with the "program it yourself" theme of Cobalt/Croquet, many with autistic traits like the focused discipline of programming, if in a physical environment with few distractions.
- Cobalt/Croquet may be able to filter out many distractions in 3D worlds which might not be possible with something like Sun's Wonderland.
- Is studying autism and helping those
with autistic traits a dynamic field or a well established discipline?
Perhaps the software should meet the dynamism of the field, one that
can represent, share, communicate, and recreate many (conflicting)
theories and models of behavior and thinking.
- Are discoveries, techniques, and treatments discovered by one
organization or many small organizations and individuals? A one size
fits all software might be good for centralized organizations while
leveraging and testing by many individuals might be better for a more
dynamic/portable environment.
- Is it easier to communicate about and describe autistic
behavior with words, numbers or recreating demonstrations of behavior?
You might want a system which would most easily allow a researcher or
caregiver to emulate and record the performance of the behavior by a 3D
character/scene model, for later viewing in a 3D world.
- Your team might want a software package where the person with
the autistic traits can express their view of their world in a more
visual than linguistic format and take wherever they go, no matter what
organization is caring for them. Something they can have ownership of.
- How easy is it for those with autistic traits to
save/store/represent what they've learned by practicing in the software
package. If they have to resort to text or audio rather than 3D
objects/scenes/animations themselves, they may need a more flexible
environment.
Please let me know if this helps your understanding or if you have further questions for me.
Cheers, Darius metaverseographer edusims.com__________________________ On Thu, Oct 9, 2008 at 9:48 AM, <[hidden email]> wrote:
I apologize if this is the wrong list for this inquiry and would be willing to
be redirected.
A client has approached my company about creating a virtual environment to be
used to teach social/life skills to teens with autism. The environment would
include a multi-floor apartment building, stores, furniture and some sort of
system for tracking expenditures. Teens would rent and furnish an apartment,
conduct conversations and transactions with staff in the role of business
owners, deal with a budget, etc.
This project is unworkable in 2nd Life due to terms of service issues and the
age of the students (some would be on teen grid, others too old.)
Is this project "creatable" using Opencroquet, and what would be the best way
to contact developers able to work with us on the project? If not, do you have
suggestions for other virtual world environments to develop this?
Any guidance would be greatly appreciated.
John H
|