Google Groups Home
Help | Sign in
Message from discussion Why Cobalt and not something else?
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
Matthew Schmidt  
View profile
 More options Apr 8, 10:27 pm
From: "Matthew Schmidt" <matthew.schm...@gmail.com>
Date: Tue, 8 Apr 2008 21:27:07 -0500
Local: Tues, Apr 8 2008 10:27 pm
Subject: Re: [Croquet Cobalt] Re: Why Cobalt and not something else?

Darius, thanks so much for the very thoughtful and comprehensive response.
This is exactly what I was hoping for.

I will respond to your points at a later date... I'm swimming in
dissertation stuff right now... but wanted to ping you with a huge THANK YOU
now. Your input is much appreciated.

Cheers,

-Matt

On Tue, Apr 8, 2008 at 1:50 PM, Darius Clarke <socin...@gmail.com> wrote:
> Hi Matt,

> That's a great question. Above all our Croquet 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, 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. 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
> animat 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 Croquet session, they should be able to immediately share the code for
> it with any other 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 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 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 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* - Croquet is portable, w/o having to
> be always online. A two person notebook-to-notebook 3D network will be just
> as easy in 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 Croquet to ask why an application works
> in a certain way. In 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
> 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* - 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
> 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 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/<http://catb.org/%7Eesr/writings/cathedral-bazaar/>
> ___________________________________________________

> Now, applying Croquet specifically for your needs ... studying autism and
> helping those with autistic traits.

>    - Keeping with the "program it yourself" theme of Croquet, many with
>    autistic traits like the focused discipline of programming, if in a physical
>    environment with few distractions.
>    - 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 Clarke
> metaverseographer.com

> On Thu, Apr 3, 2008 at 7:37 AM, Matthew Schmidt <matthew.schm...@gmail.com>
> wrote:

> > So the question has come up yet again with my project as to why there is
> > any reason to use Cobalt/Croquet instead of something with a bigger
> > community that uses a more common programming language, such as Wonderland.
> > We are committed to using an open source stack.

> > Instead of trying to come up with an argument on my own, I'd like to
> > solicit the community's help. Why should we stick with Cobalt/Croquet? We
> > are at a very early stage in development. Really just prototyping. So it
> > would not be a monumental shift if we switched now.

> > Information about the project is here:
> > http://xaverse.blogspot.com/2007/11/isocial-virtually-social-space-fo...

> > Many thanks,

> > -Matt


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2008 Google