Is Croquet ready for this project?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Is Croquet ready for this project?

corwinhowlett
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
Reply | Threaded
Open this post in threaded view
|

Re: Is Croquet ready for this project?

Eugen Leitl
On Thu, Oct 09, 2008 at 12:48:40PM -0400, [hidden email] wrote:

> 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?

Have you looked into OpenSim?

--
Eugen* Leitl <a href="http://leitl.org">leitl</a> http://leitl.org
______________________________________________________________
ICBM: 48.07100, 11.36820 http://www.ativel.com http://postbiota.org
8B29F6BE: 099D 78BA 2FD3 B014 B08A  7779 75B0 2443 8B29 F6BE
Reply | Threaded
Open this post in threaded view
|

Re: Is Croquet ready for this project?

Darius Clarke
In reply to this post by corwinhowlett
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