Wednesday, October 09, 2013

ADL Sandbox project and Virtual World Framework



I am very excited with the ADL Sandbox project and Virtual World Framework at all, and that it is available in open source to experiment with.
By the way, I am from Smalltalk world and an acceptor of OpenCroquet architecture, which has it's own history. OpenCroquet in it's latest form of OpenQwaq take all the features and benefits from the platform being realized on (the open source Smalltalk language dialect Squeak).
But, Virtual World Framework goes further now, especially in moving from class based language architecture to prototypes, that gives a shared code and behaviours used in distributed computation, to be modified at runtime!
So, that's one of the main criteria, I am start moving now from OpenCroquet to Virtual World Framework, despite of sadness of parting with all the benefits of Smalltalk language and it's IDE, comparable to JavaScript and Ruby. Although, I have the insights of looking a Smalltalk language as a DSL language for Virtual World Framework in the future (for example as Seaside web framework for HTML and JavaScript).
ADL Sandbox project uses already one JavaScript language for all stuff.  And one interesting thing to realize in it is having OMeta'JS workspace inside Sandbox script editor, which will allow to define own language's grammar and replicate it through the application instances, then have a running scripts on that shared grammar. Almost all JavaScript language dynamic capabilities will be used in distributed computation then. For example, you could have all the languages down from Logo (Turtle graphics) to Smalltalk available for scripting the virtual world just in the Web browser.
More over the integration between LivelyKernel and Virtual World Framework will give the endless capabilities of in browser project development and editing.
So, I have started using the ADL Sandbox project and Virtual World Framework to build a Virtual Learning Environment for modern mathematics and phisics, exploring the new ways of developing the concrete tools for modelling, rendering and interaction with the content of the virtual world.
Will post about the progress here.

Sunday, July 28, 2013

Curved Space Explorer for Squeak



Want to introduce the Curved Space Explorer for Squeak project,  known as CCSE by Krestianstvo SDK.
It is a Smalltalk port version of Curved Spaces, originally developed by Jeff Weeks (geometrygames.org) in C language.
This Squeak version is derived from Krestianstvo SDK project's version, where Curved Space Explorer is collaborative in it's nature and available mainly for distributed computation.
The aim of this project is to make Curved Space Explorer in Smalltalk being available for the large Smalltalk audience and mainstream Squeak distribution, so that anybody interested could work with it.
The project is Open Source and the code is available here: http://sdk.krestianstvo.org/sdk/ccse.html


To run the CCSE you need to download the latest Squeak distribution from the official sitehttp://ftp.squeak.org/4.4/Squeak-4.4-All-in-One.zip
Also I recommend to use the latest Smalltalk CogVM from the http://www.mirandabanda.org/files/Cog/VM/
and in the running image, execute in the workspace:

"1. Load FFI"

(Installer repository: 'http://source.squeak.org/FFI')   
 install: 'FFI-Pools';   
 install: 'FFI-Kernel';    
install: 'FFI-Tests'.

"2. Load 3DTransform "

(Installer repository: 'http://www.squeaksource.com/CroquetGL')
    install: '3DTransform'.

"3. Load OpentGL and CCSE"

(Installer repository: 'http://sdk.krestianstvo.org/sdk/ccse')
    install: 'OpenGL-Pools';
    install: 'OpenGL-Core';
    install: 'OpenGL-NameManager';
    install: 'CCSpaceExplorer'.

"4. Run sample application"

CCSEMorphRender runApp

" Help

In running application there are some options available using the keyboard and mouse:

"up" and "down" arrows on the keyboard - speed of the ship movement
"left" and "right" arrows on the keyboard - change aperture

mouse move with left button pressed - rotation of the ship
mouse move with left button pressed and shift pressed - translation of the ship

press "o" on keyboard - switch between "head" and "body" rotation
press "p" on keyboard - switching on stereo (anaglyph) mode
press "l" on keyboard - switching shaders support (only for Mac OS X for now)

"


Also you can use the preinstalled image from here: http://krestianstvo.org/sdk/Squeak4.4-12327-ccse.zip

Happy exploring!

OpenGL procedural textures generator (by David Faught) for Squeak 4.4

Repost from mail list to blog



I have successfully proceeded in running TweakCore on the recent Squeak 4.4 trunk image (from Jenkins).
And one of the famous existed applications developed in Tweak is the OpenGL procedural textures generator by David Faught.
I make it also loadable to the current Squeak.  

You could download the ready to run image from here: http://krestianstvo.org/TweakCoreOpenGL-squeak44.zip
or
execute in the workspace in own image:

"1. Load FFI"
(Installer repository: 'http://source.squeak.org/FFI')
    install: 'FFI-Pools';
    install: 'FFI-Kernel';
    install: 'FFI-Tests'..

"2. Load CroquetGL " 
(Installer repository: 'http://www.squeaksource.com/CroquetGL')
    install: '3DTransform';
    install: 'OpenGL-Pools';
    install: 'OpenGL-Core'.

"3. Load TweakCore and Procedural textures application for Tweak"
(Installer repository: 'http://sdk.krestianstvo.org/sdk/inbox')
    install: 'tweakcore';
    install: 'Tweak-OpenGL-sn.3'.

"4. Set the default settings in Tweak"    
CDefaultWidgetLibrary setDefaultSettings.

"5. Run one of two examples"
CProjectMorph open: Wrinkle1.
"or"
CProjectMorph open: Wrinkle2.

The attached screenshot shows the running application. 

Regards,
Nikolay

Monday, April 09, 2012

Virtual World Framework (aka Croquet 2) goes live!

"The Virtual World Framework (VWF) is a fast, light-weight, web-based architecture for creating and distributing secure, scalable, component-based, and collaborative virtual spaces. It leverages existing web-based standards, infrastructure, and emerging technologies with the intent of establishing a powerful yet simple to use platform that is built on top of the next generation of web browsers. " from http://virtualworldframework.com/

Here is the information about VWF, that is available on Internet for now:
The VWF source code, published during the conference http://www.gametechconference.com/
Video showing the Virtual World Framework, starting from 0:40 min.
Slides from WebGl camp 4 about VWF architecture.
I have tested the installation process of VWF server on Mac OS X Lion 10.7.3, here are the steps:
Launch a terminal window:
1. Load the source code from VWF Git repository:
$ git clone https://github.com/virtual-world-framework/vwf.git vwf
2. Install RVM
$ curl -L get.rvm.io | bash -s stable
2. Reload your shell environment
$ source ~/.bash_profile
3. Find the requirements (follow the instructions)
$ rvm requirements
4. Install ruby
$ rvm install 1.9.3
5. cd to your VWF development directory
$ cd vwf/
6. Install bundler
$gem install bundler
7. Install the RubyGems to the system
$bundle install --binstubs
8. Edit the file "config.ru", correcting the file paths:
require "init.rb"
change to
require "./init.rb"
5. Set Ruby 1.9.3 as the default for current shell.
$ rvm use 1.9.3
6. Run the VWF server:
$ ./bin/thin start
7. Open http://localhost:3000 in WebGL enabled web-browser (for full experience you will need the latest Mozilla Firefox web browser)
If you want to start VWF server as a background service, just add -d key:
$ ./bin/thin start -d
Also I tested the installation procedure on FreeBSD 8.1
and has successfully ran the VWF server instance on http://www.krestianstvo.org:3000/plane

Happy Birthday to Virtual World Framework!

Wednesday, January 25, 2012

Krestianstvo SDK at C5-2012 conference


This year I was very happy to be at the The Tenth International Conference on Creating, Connecting and Collaborating through Computing 18-20 January 2012 (Institute for Creative Technologies, University of Southern California, CA, USA) and to demonstrate Krestianstvo SDK's projects and quit new features of it, like Microsoft Kinect and CAVE support for OpenQwaq. The primerily proceedings are available for download (publication to appear).

Almost all Viewpoints research institute's team was there!
There was a great tour of USC Institute for Creative Technologies and demonstrations of their projects.


Coach Mike (programming robot with blocks)

ICT Graphics Lab: Light Stage X, Gunslinger: Virtual Human integration demonstration, ICT Mixed Reality.

in.. Los Angeles, California...

Wednesday, December 21, 2011

David A. Smith has revealed a new Croquet-like framework available in March 2012

David A. Smith, one of six principal architects of the Croquet Project has revealed a new Croquet-like framework that is built on WebGL and HTML, on which he is working now!
"We plan to have an open beta in March 2012" - David A. Smith said.
That's incredible!
Merry Christmas and Happy New Year!

Monday, November 14, 2011

Krestianstvo SDK2 goes CouchDB and OSC through the Web


After some silence the new version Krestianstvo SDK v.2.0.4 is available.
The updated version contains just the preloaded packages, which will allow to realize a lot of interesting things in near future!

1. Seaside 3 and Pier 2 for ForumPages and web-services.
2. OSC support for TUIO, Kinect, FaceAPI and WebApp controllers.
3. OMeta for user-defined markup languages.
4. CouchDB for services serialization on distributed DB, instead of platform-dependent file system.
+ some fixes, mainly Windows dependent

So, feel free to Download, Register and enter the Krestianstvo.
Looking forward to meet you online in space!

Saturday, June 18, 2011

Krestianstvo SDK2 users registration is online!


Glad to invite everybody to register for exploring now the OpenQwaq's collaborative 3D forums using Krestianstvo SDK2 and ongoing Krestianstvo's 2 forums (CCSE, Learning math, Collaborative music, Art disks, ect.) in near future.
The registration page is available online now for all: http://www.krestianstvo.ru/register (RU: http://неучи.рф/регистрация ).
As soon as you get the Login and Password, you could enter into the collaborative 3D forums anywhere through the internet. But for that you'll need to download the new version of SDK.v.2.0.2: here or using an alternative link, or update the 2.0.1 one (Monticello repository here: http://krestianstvo.ru:8888/sdk/Monticello/sdk2/).
The main feature of the new 2.0.2 SDK is the new database storage logic, entirely based on XML and taking away the ODBC/MySQL usage. So, the OpenQwaq's service provider (not the Local's one) use the XML based db just as MySQL db, while storing it in Smalltalk class variable and serializing it's tables onto disc with plain XML files. That scenario is suitable for local and internet servers, thus turning OpenQwaq onto really mobile platform. Another feature is directed against Apache/PHP, meaning the coal/web/forum services running on :9991. So, the first step you could look at working online registration on Krestianstvo site and next will be having all admin pages using just Javascript and Ajax, hosted on the same Smalltalk image.

See you in the forums!

Sunday, May 15, 2011

Krestianstvo SDK v2 based on OpenQwaq

OpenQwaq is the most awaited framework in the virtual world's development domain!
Four years left after the latest OpenCroquet release and OpenCobalt has done a lot to bring virtual worlds closer to life, but OpenQwaq set the final point!
Now anybody could set up it's own virtual space or forum and do not worry about the underlying network architecture, just create Forums, create content for them and place on the servers through the web and collaborate.
So, everything looks just fine, but... to start own server on LAN or WAN someone need to install Linux, Apache, PHP, MySql and OpenQwaq server itself following config rules and avoiding the pitfalls.
But hey? We are in Squeak/EToys platform, Smalltalk at last.. in the self-contained environment, so why all these third-party tools a needable? (Yes, for: Security reasons, Application services, Streaming, account politics ect). But in learning situation at classroom or in Art gallery during installation all of these features are not too critical.
I decided to explore, how it is possible to have just One-Click OpenQwaq image with server and client on it, that could run as internet or local server or just a client. Image, that in a few clicks could be used by children setting up the classroom's network or artists making performance / installation.
And the Krestianstvo SDK 2.0 as experimental platform was borned!
Comparable to OpenQwaq, I started Krestianstvo2 with only one image for server and client versions (the server one based on Squeak 4.2).
The aim is to start the server with no need of installing any other third party applications (apache, mysql). Of course, some (a lot of) features of OpenQwaq could not be available in such scenario, but the work is in progress...
In the current version, anybody could easily setup the running server on LAN or WAN (the server http://www.krestianstvo.ru has already running the same image as provided for download).
SDK is developed on top of OpenQwaq, so that no part of the original OpenQwaq code in image is modified from the functional point of view. So, SDK image allows to run OpenQwaq Forums just in pure mode. Nevertheless, for localization purposes the String method #translateMe was introduced and was injected into OpenQwaq code for the most of string's objects. Translation process is still in progress too.
SDK works with Russian language support by default!
----------
Try out the running space!
The demo logins and passwords, that's working on krestianstvo.ru

Login: member
Password:
member
Organization: krestianstvo
Server: kresianstvo.ru

Login: guest
Password:
guest
Organization: krestianstvo
Server: kresianstvo.ru
-----------
You could add as new members and new groups in setup, visually.
In main login screen use right mouse button to have the context menu and select: "Add new user...".


Example connection scenario:

1. On the 'A' host you start Krestianstvo with as server (type instead of krestianstvo.ru the in the 'Server:' field).
2. On the 'B' host you start Krestianstvo with IP address of 'A' host as server.
3. Then try to login with l: admin/p: admin (l: member/ p: member) accounts (or add new members in 'A' host (on the main login screen, where is proxy configuration dialog).

So, in final it will be good to have: CoalServices working with local storage database in memory (instead of mysql) with Smalltalk WebServices front-end (instead of apache/php).

The project page: http://www.krestianstvo.ru/main
Monticello: http://www.krestianstvo.ru:8888/sdk/Monticello/sdk2/
Download the image: http://krestianstvo.googlecode.com/files/Krestianstvo2.0a.zip

Monday, December 27, 2010

Multi-touch table based on Krestianstvo SDK

Here is a video from the recent event, which was held in the "Museum of Science" (Russia, Vologda), where the Multi-touch table based on Krestianstvo SDK was shown. The table is controlled directly by Krestianstvo virtual space and it's objects shared on the Croquet island. So, several such tables could be organized into p2p network and become a really interactive classroom, programmable just in Smalltalk. For recognizing reacTIVision fiducial markers and TUIO protocol are used (based on Simon Holland TUIO for Squeak work). For music synthesising SuperCollider through OSC is connected, using the idea from SCIMP (SuperCollider Server client for Impromptu) and realized in Smalltalk.




Friday, November 26, 2010

Microsoft Kinect sensor in Krestianstvo SDK

Want to share my early experiments with the novel controller from Microsoft: Kinect, fine working in Krestianstvo SDK (based on Smalltalk dialect Squeak/Croquet). Here you could find an interesting list of projects and ideas already evolving using Kinect in different programming languages (c, c++, of, max/msp, processing. java, ect.)
But, why not in Smalltalk?.. And in pure 3D Virtual Space (Croquet), controlling your Avatar with own body and operating on objects just with own hands..
So, using OpenKinect driver, I prepared the plugin KinectSqueak.framework and the changeset for Krestianstvo (source code is avaliable here) with Mac OS X support only for now (Window will be very soon). The latest downloadable SDK is also include Kinect support, so just download it and try the sensor, if you have one..

Happy Kinecting!

Monday, October 25, 2010

World serialization support in Krestianstvo SDK | OWML

Happy to announce an October update of Krestianstvo SDK with it's main feature:

World serialization support


Meaning, that one could freely save a current work, being done in active space and then restore it at any time later. The spaces are saved into OWML text file format (check them in Resources/resources/MySpaces folder).
In the next post, I will write an introduction to this new format. Briefly to say, it is mainly based on Sophie XUL and partially C3X serialization logic.

Some other features: new objects (Text3D), Seaside and Squeak base image update, Cog VM update, UTF-8 encoding is default in Mac VM now.

Happy serializing!

Sunday, September 12, 2010

Krestianstvo update: New UI and Cog VM


Happy to announce that from now Krestianstvo SDK is running on the new Cog VM (Windows, Mac OS X, Linux Ubuntu 10.x are tested).
Also the new graphical user interface was introduced, including russian and english versions.
Island to island connection through local network is now possible and works just from the main window. OSC features now work properly.
Below is the introduction video to the updated SDK:

[RU]
Рад сообщить, что отныне Крестьянство SDK работает на новой Cog VM (Windows Vista, Mac OS X 10.6, Ubuntu Linux 10.x проверены).
Кроме того, представлен новый графический интерфейс пользователя, в том числе на русском и английском языках.
Остров на остров соединения по локальной сети теперь работают, с возможностью запуска и из главного окна программы.
Ошибки в OSC функциях исправлены.

Monday, August 09, 2010

Man'J - running Arduino, Krestianstvo and SuperCollider


Creating music in movement by interacting with people and architectural objects in realtime.

Video shows the Man'J chair prototype with built in Ultrasonic sensor, controlled by Arduino board, open sourced software Krestianstvo and Supercollider.

Saturday, July 31, 2010

Krestianstvo SDK 1.1 is avaliable

Krestianstvo SDK 1.1 is available for download and now it is based on the new Squeak 4.1 image!

SDK includes:

1. Working version of Collaborative Curved Space Explorer
2. Examples of Seaside 3.0 and Open Croquet integration in web browser with Comet support.
3. Examples of Collaborative coding trough web-browser on several images running Open Croquet
4. Open Sophie CSS/XUL logic for describing Tweak user interfaces.
4. Math examples on matrices and vectors in Krestianstvo's learning 3D space
5. OSC remote controlling support
6. 3d vision (red/blue) support
7. Tool for building multi-pixel projection walls or CAVE

and more..

Happy exploring!

Wednesday, July 28, 2010

Open Croquet running on Squeak 4.1

Yes, now it is possible...!
This is very experimental, but working announce.
Open Croquet code from 1.0.18 SDK is now working in new Squeak 4.1 image and even ready to run on Cog VM.

Download to try it out:
image with all needed content (full):
http://www.krestianstvo.ru/sdk/CroquetSDK-1.0.18-Squeak4.1.zip
just image
http://www.krestianstvo.ru/sdk/Croquet-Squeak4.1-image.zip

Images are based on updated Squeak4.2-10160-alpha.

Wednesday, May 12, 2010

Video cupture support in Krestianstvo SDK (from Scratch / Etoys)

EN:
There are recent great news from Etoys dev-list, that "Derek's new CameraPlugin morph should work on Windows, Mac and Linux in Etoys image" :)
And now it is available and working in Krestianstvo SDK as video window in 3D space (several camera instances support also). Online video is replicated to all participants of an island in realtime.

So to try, just update your recent image or download the latest SDK with CameraPlugin support in it.
CameraPlugin binaries for Mac OS X/Linux/Windows are available here or could be found in Scratch distribution.
When running Krestianstvo world, check the new item "Видео камера" in menu "Инструменты".
Now everything is ready to:
  1. develop the 3D stereo 'real world' vision support, using 2 video-cameras for left and right eyes, then
  2. combine it with 'virtual world' stereo vision (already existed as 3D stereo filter) using some of video tracking technique, and
  3. do all this in real-time

Happy VJeing!


RU:
Прекрасные новости из Etoys листа разработчиков, что "новый Derek's CameraPlugin может работать на Windows, Mac и Linux " :)
И вот теперь он доступен и работает в Крестьянство SDK как видео-окно в 3D пространстве (с поддержкой нескольких видео-камер). Онлайн-видео репликацируется для всех участников соединения в реальном времени.

Ч
тобы попробовать, обновите систему по кнопке "Обновить" или загрузить последнюю версию SDK с поддержкой CameraPlugin в нем.
Двоичные файлы
CameraPlugin для Mac OS X / Linux / Windows можно скачать здесь или они могут быть найдены в дистрибутиве Scratch.
"Видео камера" добавлена в меню "Инструменты".

Теперь все готово к:

1. разработке 3D стерео видения "реального мира", используя 2 видеокамеры для левого и правого глаза соответсвенно, а затем
2. его соединения со стереовидением в "виртуальном мире" (уже существуеющем в виде 3D стерео-фильтра), для этого использовать некоторые техники видео-трекинга
3. делать все это в режиме реального времени


Счастливого Виджеинга!

Thursday, April 29, 2010

Методическое пособие по Крестьянство SDK | Krestianstvo SDK Documentation

Вот и вышла долгожданная первая версия методического пособия по текущей версии Крестьянство SDK, состоящая из описаний, рекоммендаций и документации.
Скачать в формате (pdf) можно здесь: Методическое пособие

The first version of Krestianstvo SDK documentation book (on Russian) has gone online.
Download is available in pdf here.

Wednesday, April 14, 2010

Stereo 3D filter in Open Cobalt

Experimental Stereo 3D anaglyph filter for Open Cobalt.
To try, just load Cobalt-Stereo package into the recent Cobalt image from the contributions repository.
To view filter menu item in the View bar, load or take the changes from the CobaltUI-sn.200.mcz

Thursday, April 08, 2010

Крестьянство | Krestianstvo SDK support Stereo 3D

As of April 2010 Krestianstvo SDK has the following new features:
  1. Stereo 3D anaglyph filter portal (derived from Croquet Jasmine stereo code)
  2. Work with virtual Lights (creating, editing, composing)
  3. CAVE ready
  4. Examples of learning mathematics collaboratively in 3D
Vector product in 3D | Векторное произведение
Matrix calculator | Матричный калькулятор
Pyramid example | Задача о пирамиде

Stereo 3D filter window


RU:
Новые возможности Крестьянство SDK (апрель 2010)
  1. Поддержка Стерео 3D визуализации для красно-синих очков (работа основывается на коде из Croquet Jasmine)
  2. Поддержка работы с виртуальными световыми источниками (создание, редактирование, композиция)
  3. CAVE подготовлена
  4. Примеры математических интерактивных объектов для совместного изучения в 3D