MINT-core 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (8) hide show
  1. data/Gemfile +2 -15
  2. data/Gemfile.lock +13 -48
  3. data/History.txt +4 -0
  4. data/MINT-core.gemspec +59 -22
  5. data/README.rdoc +205 -39
  6. data/Rakefile +18 -4
  7. data/lib/MINT-core.rb +1 -1
  8. metadata +253 -34
data/Gemfile CHANGED
@@ -1,17 +1,4 @@
1
1
  source :rubygems
2
2
 
3
- gem "MINT-statemachine","1.2.3"
4
- gem "MINT-scxml", "1.0.0"
5
- gem "rspec", "1.3.1"
6
- gem "dm-core","0.10.2"
7
- gem "dm-rinda-adapter", "0.1.2"
8
- gem "cassowary","1.0.0"
9
- gem "eventmachine", "0.12.10"
10
- gem "rake","0.9.2"
11
- gem "rmagick","2.12.2"
12
- gem "hoe", "2.9.6"
13
- gem "newgem","1.5.3"
14
- gem "rdoc","3.11"
15
- gem "json","1.5.1"
16
- gem "redis","2.2.1"
17
- gem "dm-types","0.10.2"
3
+ gemspec
4
+ gem "rdoc"
@@ -1,69 +1,34 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ MINT-core (0.0.1)
5
+ MINT-statemachine (~> 1.2.2)
6
+ cassowary (~> 1.0.0)
7
+ dm-rinda-adapter (~> 0.1.0)
8
+
1
9
  GEM
2
10
  remote: http://rubygems.org/
3
11
  specs:
4
- MINT-scxml (1.0.0)
5
- MINT-statemachine (~> 1.2.3)
6
12
  MINT-statemachine (1.2.3)
7
- RedCloth (4.2.8)
8
- activesupport (2.3.14)
9
13
  addressable (2.2.6)
10
- bcrypt-ruby (2.1.4)
11
14
  cassowary (1.0.0)
12
15
  dm-core (0.10.2)
13
16
  addressable (~> 2.1)
14
17
  extlib (~> 0.9.14)
15
18
  dm-rinda-adapter (0.1.2)
16
19
  dm-core (~> 0.10.2)
17
- dm-types (0.10.2)
18
- bcrypt-ruby (~> 2.1.2)
19
- dm-core (~> 0.10.2)
20
- fastercsv (~> 1.5.0)
21
- json_pure (~> 1.2.0)
22
- stringex (~> 1.1.0)
23
- uuidtools (~> 2.1.1)
24
- eventmachine (0.12.10)
25
20
  extlib (0.9.15)
26
- fastercsv (1.5.4)
27
21
  hoe (2.9.6)
28
22
  rake (~> 0.8)
29
- i18n (0.6.0)
30
- json (1.5.1)
31
- json_pure (1.2.4)
32
- newgem (1.5.3)
33
- RedCloth (>= 4.1.1)
34
- activesupport (~> 2.3.4)
35
- hoe (>= 2.4.0)
36
- rubigen (>= 1.5.3)
37
- syntax (>= 1.0.0)
38
- rake (0.9.2)
23
+ json (1.5.4)
24
+ rake (0.9.2.2)
39
25
  rdoc (3.11)
40
26
  json (~> 1.4)
41
- redis (2.2.1)
42
- rmagick (2.12.2)
43
- rspec (1.3.1)
44
- rubigen (1.5.6)
45
- activesupport (>= 2.3.5)
46
- i18n
47
- stringex (1.1.0)
48
- syntax (1.0.0)
49
- uuidtools (2.1.2)
50
27
 
51
28
  PLATFORMS
52
29
  ruby
53
30
 
54
31
  DEPENDENCIES
55
- MINT-scxml (= 1.0.0)
56
- MINT-statemachine (= 1.2.3)
57
- cassowary (= 1.0.0)
58
- dm-core (= 0.10.2)
59
- dm-rinda-adapter (= 0.1.2)
60
- dm-types (= 0.10.2)
61
- eventmachine (= 0.12.10)
62
- hoe (= 2.9.6)
63
- json (= 1.5.1)
64
- newgem (= 1.5.3)
65
- rake (= 0.9.2)
66
- rdoc (= 3.11)
67
- redis (= 2.2.1)
68
- rmagick (= 2.12.2)
69
- rspec (= 1.3.1)
32
+ MINT-core!
33
+ hoe (~> 2.9)
34
+ rdoc
@@ -1,3 +1,7 @@
1
+ === 1.0.1 2011-11-09
2
+
3
+ * Included all dependencies stored in Gemfile into the Rakefile / gemspec
4
+
1
5
  === 1.0.0 2011-11-01
2
6
 
3
7
  * Initial release
@@ -2,32 +2,27 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{MINT-core}
5
- s.version = "0.0.1"
5
+ s.version = "1.0.0"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = [%q{Sebastian Feuerstack}]
9
- s.date = %q{2011-11-02}
10
- s.description = %q{Multimodal systems realizing a combination of speech, gesture and
11
- graphical-driven interaction are getting part of our everyday life.
12
-
13
- Examples are in-car assistance systems or recent game consoles.
14
- Future interaction will be embedded into smart environments offering
15
- the user to choose and to combine a heterogeneous set of interaction
16
- devices and modalities based on his preferences realizing an ubiquitous
17
- and multimodal access.
18
-
19
- The MINT Framework enables the design, creation, and execution of
20
- multimodal interfaces.
21
-
22
- The MINT core gem contains all basic AUI and CUI models as well as
23
- the basic infrastructure to create interactors and mappings. Please
24
- not that you need at least a CUI adapter gem to be able to actually
25
- run a system, e.g. the MINT-rails gem.}
9
+ s.date = %q{2011-11-08}
10
+ s.description = %q{Multimodal systems realizing a combination of speech, gesture and graphical-driven interaction are getting part of our everyday life.
11
+
12
+ Examples are in-car assistance systems or recent game consoles. Future interaction will be embedded into smart environments offering the user to choose and to combine a heterogeneous set of interaction devices and modalities based on his preferences realizing an ubiquitous and multimodal access.
13
+
14
+ This framework enables the modeling and execution of multimodal interaction interfaces for the web based on ruby and implements a server-sided synchronisation of all connected modes and media. Currenlty the framework considers gestures, head movements, multi touch and the mouse as principle input modes. The priciple output media is a web application based on a rails frontend as well as sound support based on the SDL libraries.
15
+
16
+ Building this framework is an ongoing effort and it has to be pointed out that it serves to demonstrate scientific research results and is not targeted to we applied to serve productive systems as they are several limitations that need to be solved (maybe with your help?) like for instance multi-user support and authentification.
17
+
18
+ The MINT core gem contains all basic AUI and CUI models as well as the basic infrastructure to create interactors and mappings. Please note that you need at least a CUI adapter gem to be able to actually run a system, e.g. the MINT-rails gem. But for initial experiements ist enough to follow the installation instructions of this document.
19
+
20
+ There is still no documentation for the framework, but a lot of articles about the concepts and theories of our approach have already been published and can be accessed from our project site http://www.multi-access.de .}
26
21
  s.email = [%q{Sebastian@Feuerstack.org}]
27
22
  s.executables = [%q{mint-aui}, %q{mint-cui-gfx}, %q{mint-juggernaut.sh}, %q{mint-tuplespace}]
28
23
  s.extra_rdoc_files = [%q{History.txt}, %q{Manifest.txt}, %q{PostInstall.txt}]
29
24
  s.files = [%q{Gemfile}, %q{Gemfile.lock}, %q{History.txt}, %q{MINT-core.gemspec}, %q{Manifest.txt}, %q{PostInstall.txt}, %q{README.rdoc}, %q{Rakefile}, %q{bin/mint-aui}, %q{bin/mint-cui-gfx}, %q{bin/mint-juggernaut.sh}, %q{bin/mint-tuplespace}, %q{lib/MINT-core.rb}, %q{lib/MINT-core/agent/agent.rb}, %q{lib/MINT-core/agent/aui.rb}, %q{lib/MINT-core/agent/auicontrol.rb}, %q{lib/MINT-core/agent/cui-gfx.rb}, %q{lib/MINT-core/agent/cuicontrol.rb}, %q{lib/MINT-core/mapping/complementary.rb}, %q{lib/MINT-core/mapping/mapping.rb}, %q{lib/MINT-core/mapping/on_state_change.rb}, %q{lib/MINT-core/mapping/sequential.rb}, %q{lib/MINT-core/model/aui/AIC.rb}, %q{lib/MINT-core/model/aui/AIChoice.rb}, %q{lib/MINT-core/model/aui/AIINChoose.rb}, %q{lib/MINT-core/model/aui/AIMultiChoice.rb}, %q{lib/MINT-core/model/aui/AIMultiChoiceElement.rb}, %q{lib/MINT-core/model/aui/AIO.rb}, %q{lib/MINT-core/model/aui/AIOUTDiscrete.rb}, %q{lib/MINT-core/model/aui/AISingleChoice.rb}, %q{lib/MINT-core/model/aui/AISingleChoiceElement.rb}, %q{lib/MINT-core/model/aui/AISinglePresence.rb}, %q{lib/MINT-core/model/aui/aic.png}, %q{lib/MINT-core/model/aui/aic.scxml}, %q{lib/MINT-core/model/aui/aichoice.png}, %q{lib/MINT-core/model/aui/aichoice.scxml}, %q{lib/MINT-core/model/aui/aio.png}, %q{lib/MINT-core/model/aui/aio.scxml}, %q{lib/MINT-core/model/aui/aisinglechoiceelement.png}, %q{lib/MINT-core/model/aui/aisinglechoiceelement.scxml}, %q{lib/MINT-core/model/aui/aisinglepresence.png}, %q{lib/MINT-core/model/aui/aisinglepresence.scxml}, %q{lib/MINT-core/model/aui/model.rb}, %q{lib/MINT-core/model/body/gesture_button.rb}, %q{lib/MINT-core/model/body/handgesture.rb}, %q{lib/MINT-core/model/body/head.png}, %q{lib/MINT-core/model/body/head.rb}, %q{lib/MINT-core/model/body/head.scxml}, %q{lib/MINT-core/model/cui/gfx/CIC.rb}, %q{lib/MINT-core/model/cui/gfx/CIO.rb}, %q{lib/MINT-core/model/cui/gfx/model.rb}, %q{lib/MINT-core/model/cui/gfx/screen.rb}, %q{lib/MINT-core/model/device/button.rb}, %q{lib/MINT-core/model/device/joypad.rb}, %q{lib/MINT-core/model/device/mouse.rb}, %q{lib/MINT-core/model/device/pointer.rb}, %q{lib/MINT-core/model/device/wheel.rb}, %q{lib/MINT-core/model/interactor.rb}, %q{lib/MINT-core/model/task.rb}, %q{lib/MINT-core/overrides/rinda.rb}, %q{script/console}, %q{script/destroy}, %q{script/generate}, %q{spec/AIC_spec.rb}, %q{spec/AISinglePresence_spec.rb}, %q{spec/MINT-core_spec.rb}, %q{spec/aio_agent_spec.rb}, %q{spec/aio_spec.rb}, %q{spec/aisinglechoice_spec.rb}, %q{spec/aisinglechoiceelement_spec.rb}, %q{spec/cio_spec.rb}, %q{spec/core_spec.rb}, %q{spec/music_spec.rb}, %q{spec/rcov.opts}, %q{spec/spec.opts}, %q{spec/spec_helper.rb}, %q{tasks/rspec.rake}, %q{.gemtest}]
30
- s.homepage = %q{http://github.com/sfeu/MINT-core}
25
+ s.homepage = %q{http://www.multi-access.de}
31
26
  s.post_install_message = %q{PostInstall.txt}
32
27
  s.rdoc_options = [%q{--main}, %q{README.rdoc}]
33
28
  s.require_paths = [%q{lib}]
@@ -40,19 +35,61 @@ run a system, e.g. the MINT-rails gem.}
40
35
 
41
36
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
42
37
  s.add_runtime_dependency(%q<dm-rinda-adapter>, ["~> 0.1.0"])
43
- s.add_runtime_dependency(%q<MINT-statemachine>, ["~> 1.2.2"])
38
+ s.add_runtime_dependency(%q<MINT-statemachine>, ["~> 1.2.3"])
39
+ s.add_runtime_dependency(%q<MINT-scxml>, ["~> 1.0.0"])
40
+ s.add_runtime_dependency(%q<cassowary>, ["~> 1.0.0"])
41
+ s.add_runtime_dependency(%q<dm-core>, ["~> 0.10.2"])
42
+ s.add_runtime_dependency(%q<dm-rinda-adapter>, ["~> 0.1.2"])
44
43
  s.add_runtime_dependency(%q<cassowary>, ["~> 1.0.0"])
44
+ s.add_runtime_dependency(%q<eventmachine>, ["~> 0.12.10"])
45
+ s.add_runtime_dependency(%q<rake>, ["= 0.9.2.2"])
46
+ s.add_runtime_dependency(%q<rmagick>, ["~> 2.12.2"])
47
+ s.add_runtime_dependency(%q<json>, ["~> 1.5.1"])
48
+ s.add_runtime_dependency(%q<redis>, ["~> 2.2.1"])
49
+ s.add_runtime_dependency(%q<dm-types>, ["~> 0.10.2"])
50
+ s.add_development_dependency(%q<rspec>, ["= 1.3.1"])
51
+ s.add_development_dependency(%q<hoe>, ["~> 2.9.6"])
52
+ s.add_development_dependency(%q<newgem>, ["~> 1.5.3"])
53
+ s.add_development_dependency(%q<rdoc>, ["~> 3.11"])
45
54
  s.add_development_dependency(%q<hoe>, ["~> 2.9"])
46
55
  else
47
56
  s.add_dependency(%q<dm-rinda-adapter>, ["~> 0.1.0"])
48
- s.add_dependency(%q<MINT-statemachine>, ["~> 1.2.2"])
57
+ s.add_dependency(%q<MINT-statemachine>, ["~> 1.2.3"])
58
+ s.add_dependency(%q<MINT-scxml>, ["~> 1.0.0"])
49
59
  s.add_dependency(%q<cassowary>, ["~> 1.0.0"])
60
+ s.add_dependency(%q<dm-core>, ["~> 0.10.2"])
61
+ s.add_dependency(%q<dm-rinda-adapter>, ["~> 0.1.2"])
62
+ s.add_dependency(%q<cassowary>, ["~> 1.0.0"])
63
+ s.add_dependency(%q<eventmachine>, ["~> 0.12.10"])
64
+ s.add_dependency(%q<rake>, ["= 0.9.2.2"])
65
+ s.add_dependency(%q<rmagick>, ["~> 2.12.2"])
66
+ s.add_dependency(%q<json>, ["~> 1.5.1"])
67
+ s.add_dependency(%q<redis>, ["~> 2.2.1"])
68
+ s.add_dependency(%q<dm-types>, ["~> 0.10.2"])
69
+ s.add_dependency(%q<rspec>, ["= 1.3.1"])
70
+ s.add_dependency(%q<hoe>, ["~> 2.9.6"])
71
+ s.add_dependency(%q<newgem>, ["~> 1.5.3"])
72
+ s.add_dependency(%q<rdoc>, ["~> 3.11"])
50
73
  s.add_dependency(%q<hoe>, ["~> 2.9"])
51
74
  end
52
75
  else
53
76
  s.add_dependency(%q<dm-rinda-adapter>, ["~> 0.1.0"])
54
- s.add_dependency(%q<MINT-statemachine>, ["~> 1.2.2"])
77
+ s.add_dependency(%q<MINT-statemachine>, ["~> 1.2.3"])
78
+ s.add_dependency(%q<MINT-scxml>, ["~> 1.0.0"])
79
+ s.add_dependency(%q<cassowary>, ["~> 1.0.0"])
80
+ s.add_dependency(%q<dm-core>, ["~> 0.10.2"])
81
+ s.add_dependency(%q<dm-rinda-adapter>, ["~> 0.1.2"])
55
82
  s.add_dependency(%q<cassowary>, ["~> 1.0.0"])
83
+ s.add_dependency(%q<eventmachine>, ["~> 0.12.10"])
84
+ s.add_dependency(%q<rake>, ["= 0.9.2.2"])
85
+ s.add_dependency(%q<rmagick>, ["~> 2.12.2"])
86
+ s.add_dependency(%q<json>, ["~> 1.5.1"])
87
+ s.add_dependency(%q<redis>, ["~> 2.2.1"])
88
+ s.add_dependency(%q<dm-types>, ["~> 0.10.2"])
89
+ s.add_dependency(%q<rspec>, ["= 1.3.1"])
90
+ s.add_dependency(%q<hoe>, ["~> 2.9.6"])
91
+ s.add_dependency(%q<newgem>, ["~> 1.5.3"])
92
+ s.add_dependency(%q<rdoc>, ["~> 3.11"])
56
93
  s.add_dependency(%q<hoe>, ["~> 2.9"])
57
94
  end
58
95
  end
@@ -1,63 +1,229 @@
1
- = MINT-core
1
+ = MINT Framework Core Platform
2
2
 
3
- * http://github.com/sfeu/MINT-core
3
+ * http://www.multi-access.de
4
4
 
5
5
  == DESCRIPTION:
6
6
 
7
- Multimodal systems realizing a combination of speech, gesture and
8
- graphical-driven interaction are getting part of our everyday life.
7
+ Multimodal systems realizing a combination of speech, gesture and graphical-driven interaction are getting part of our everyday life.
9
8
 
10
- Examples are in-car assistance systems or recent game consoles.
11
- Future interaction will be embedded into smart environments offering
12
- the user to choose and to combine a heterogeneous set of interaction
13
- devices and modalities based on his preferences realizing an ubiquitous
14
- and multimodal access.
9
+ Examples are in-car assistance systems or recent game consoles. Future interaction will be embedded into smart environments offering the user to choose and to combine a heterogeneous set of interaction devices and modalities based on his preferences realizing an ubiquitous and multimodal access.
15
10
 
16
- The MINT Framework enables the design, creation, and execution of
17
- multimodal interfaces.
11
+ This framework enables the modeling and execution of multimodal interaction interfaces for the web based on ruby and implements a server-sided synchronisation of all connected modes and media. Currenlty the framework considers gestures, head movements, multi touch and the mouse as principle input modes. The priciple output media is a web application based on a rails frontend as well as sound support based on the SDL libraries.
18
12
 
19
- The MINT core gem contains all basic AUI and CUI models as well as
20
- the basic infrastructure to create interactors and mappings. Please
21
- not that you need at least a CUI adapter gem to be able to actually
22
- run a system, e.g. the MINT-rails gem.
13
+ Building this framework is an ongoing effort and it has to be pointed out that it serves to demonstrate scientific research results and is not targeted to we applied to serve productive systems as they are several limitations that need to be solved (maybe with your help?) like for instance multi-user support and authentification.
23
14
 
24
- == FEATURES/PROBLEMS:
15
+ The MINT core gem contains all basic AUI and CUI models as well as the basic infrastructure to create interactors and mappings. Please note that you need at least a CUI adapter gem to be able to actually run a system, e.g. the MINT-rails gem. But for initial experiements ist enough to follow the installation instructions of this document.
25
16
 
26
- * still first alpha
17
+ There is still no documentation for the framework, but a lot of articles about the concepts and theories of our approach have already been published and can be accessed from our project site http://www.multi-access.de .
18
+
19
+ == FEATURES:
20
+
21
+ * Interactor-based modeling (Widgets) of interface elements by using statemachines (see http://github.com/sfeu/MINT-statemachine )
22
+ * Different to approaches like e.g. XHTML+Voice the mode and media synchronisation is implemented on the web server side, which enables interactions including several devices at the sam time and dynamically adding further media and modes during the interaction.
23
+ * The srver side is implemented as a distributed system based on software agents and a tuple space that enables to distribute arbitrary parts of the system to different machines.
24
+ * Interactors can also be modelled using s basic subset of SCXML (in work, see http://github.com/sfeu/scxml )
25
+ * A basic set of abstract (modality independent) interactors
26
+ * A very limited set of concrete interactors for the web based on a rails frontend (see http://github.com/sfeu/MINT-rails )
27
+ * Sound support (see http://github.com/sfeu/MINT-sdl )
28
+ * A basic model inspector to observe the state of all interactors during runtime (see http://github.com/sfeu/MINT-debugger )
29
+ * Automatic synchronisation of an abritary set of connected webbrowsers
30
+ * Basic constraint-driven automated ayouting on the server side that calculates pixel-exact coordinates for all interface elements based on the Cassowary constraint solver (see http://github.com/sfeu/cassowary )
31
+
32
+ == LIMITATIONS:
33
+
34
+ * No multi-user support or authentification, if another user connects to an application the presentation of the first user is mirrored to the second one.
35
+ * The framework only runs on Ubuntu and installation has only be tested for version 10.04 LTS
36
+ * We require ruby 1.8, the application threading model inside one agent is currently limited, but critical parts can be distributed to several agents instead.
37
+ * we currenlty only support rails 2.3, because we rely on the execute action plugin that has no been ported to rails 3 so far.
27
38
 
28
39
  == SYNOPSIS:
29
40
 
30
- run the agents
41
+ For testing the framework please try first to run our example application! - See the install section for the instructions to get it running.
42
+
43
+ To start a new project:
44
+
45
+ * install the MINT core gem
46
+
47
+ sudo gem install MINT-core
48
+
49
+ * create a new rails application
50
+
51
+ rails sample_app
52
+
53
+ * add the MINT-rails and the embedded-actions plugin
54
+
55
+ cd sample_app
56
+ ./script/plugin install https://github.com/sd/embedded-actions.git
57
+ ./script/plugin install https://github.com/sfeu/MINT-rails.git
58
+
59
+ * copy the relevant javascript files and images to the rails app public folder
60
+
61
+ rake mint_rails:copy_assets
62
+
63
+ * You need to add the following lines into your config/environment.rb file to disable active_record and to set your IP address. The former one disables active_record, which the MINT framework does not require (it also eliminates the sql-lite database requirement). The latter IP needs to be set to the IP from that you computer can be contacted from outside (if you want to offer the application to the internet) otherwise you can set it to the local 127.0.0.1 IP.
64
+
65
+ config.frameworks -= [ :active_record ]
66
+ HOST_IP = '127.0.0.1'
67
+
68
+ * use the startup script to start the application
69
+
70
+ ./script/mint/startup.sh
71
+
72
+ * Use Chrome our Chromium browser to access the application:
73
+
74
+ http://127.0.0.1:3000/mint
75
+
76
+ * You should see the MINT-Logo as well as a working mouse pointer synchronisation (the green/red dot that follows the mouse pointer)
77
+
78
+ * If your have troube, please contact us.
31
79
 
32
80
  == REQUIREMENTS:
33
81
 
34
- * MINT-statemachine
82
+ * Ubuntu LTS 10.04 !! (we have not ported cassowary to newer versions!)
83
+ * Ruby 1.8
84
+ * WxWidgets (MINT-debugger)
85
+ * libSDL (MINT-sdl for sound support)
86
+ * libCassowary (for constraint solver)
87
+ * libMagick (for layouting)
88
+ * several gems managed by bundler
35
89
 
36
90
  == INSTALL:
37
91
 
38
- sudo gem install MINT-core
92
+ The following instructions work only with Ubuntu 10.04 - we have chosen this release because it is an officially long-term supported release (LTS).
39
93
 
40
- == LICENSE:
94
+ * Install ruby 1.8 your Ubuntu 10.04 machine and set a symlink
95
+
96
+ sudo apt-get install ruby1.8 ruby1.8-dev libopenssl-ruby rake
97
+ sudo ln -s /usr/bin/ruby1.8 /usr/bin/ruby
98
+
99
+ * Install a recent ruby gems version from source and set a symlink (the 10.04 one is too old)
100
+
101
+ wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.5.tgz
102
+ tar -xzvf rubygems-1.8.5.tgz
103
+ cd rubygems-1.8.5/
104
+ sudo ruby setup.rb
105
+ sudo ln -s /usr/bin/gem1.8 /usr/bin/gem
106
+ sudo gem update --system
107
+
108
+ * install native library dependencies that some gems like eventmachine, SDL or Magick or our framework requires and a working C compiler to compile them
109
+
110
+ sudo apt-get install build-essential libsdl-dev libsdl-mixer1.2-dev libmagickcore-dev libmagickwand-dev libwxbase2.8-0 libwxgtk2.8-0 libssl-dev ibfreetype6-dev gsfonts libjpeg62-dev
111
+
112
+ * prevent installation of docs for all dependend gems (optional - but this will save you a lot of time)
113
+
114
+ include into file .gemrc in home folder
115
+
116
+ gem: --no-ri --no-rdoc
117
+
118
+ * install latest stable git for ubuntu 10.04 LTS (we require git with --recursive option support)
119
+
120
+ sudo apt-get install python-software-properties
121
+ sudo add-apt-repository ppa:git-core/ppa
122
+ sudo apt-get update
123
+ sudo apt-get install git-core
124
+
125
+ * Install redis 2.2.4 from source (10.04 comes with redis v1 only)
126
+
127
+ wget http://redis.googlecode.com/files/redis-2.2.4.tar.gz
128
+ tar -xzvf redis-2.2.4.tar.gz
129
+ cd redis-2.2.4
130
+ make
131
+ sudo make install
41
132
 
42
- (The MIT License)
133
+ * Install node.js version 0.4.12
43
134
 
44
- Copyright (c) 2011 Sebastian Feuerstack
135
+ wget http://nodejs.org/dist/node-v0.4.12.tar.gz
136
+ cd node-v0.4.14
137
+ ./configure
138
+ make
139
+ sudo make install
45
140
 
46
- Permission is hereby granted, free of charge, to any person obtaining
47
- a copy of this software and associated documentation files (the
48
- 'Software'), to deal in the Software without restriction, including
49
- without limitation the rights to use, copy, modify, merge, publish,
50
- distribute, sublicense, and/or sell copies of the Software, and to
51
- permit persons to whom the Software is furnished to do so, subject to
52
- the following conditions:
141
+ * To install Juggernaut 2 install node package manager "npm" after node.js has been installed
142
+
143
+ sudo curl http://npmjs.org/install.sh | sudo sh
144
+
145
+ * install juggernaut using the package manager
146
+
147
+ sudo npm install -g juggernaut
148
+
149
+ * Install libcassowary by adding a new package repository to /etc/apt/sources.lst
150
+
151
+ deb http://packages.multi-access.de lucid/
152
+
153
+ * update system to consider new repository
154
+
155
+ sudo aptitude update
156
+
157
+ * install cassowary library
158
+
159
+ sudo apt-get install libcassowary0
160
+
161
+ * Install bundler
162
+
163
+ sudo gem install bundler
164
+
165
+ * checkout an example app (MINT-MoBe2011) and let bundle install all gem dependencies (this will take a while if you have not disabled doc generation - see above)
166
+
167
+ git clone git://github.com/sfeu/MINT-MoBe2011.git
168
+ cd MINT-MoBe2011
169
+ bundle install
170
+
171
+ * start the example app (this will start a new tabbed console terminal
172
+
173
+ ./script/mint/startup.sh
174
+
175
+ * wait 30 seconds the use the latest google chrome or chromium browser to access the platform:
176
+
177
+ http://localhost:3000/mint
178
+
179
+ * This should show a table with a letter in each cell above the MINT framework logo. You should also realize the server-sided mouse synchronisation that prints a green/red dot under the current mouse pointer location. You can test the synchronisation by opening another browser window and access the same url. While you are moving the mouse in one window, that dot should be synced on both browsers.
180
+
181
+ * If you just see the MINT-Logo without a table your computer you should wait a bit more an reload the url.
182
+
183
+ * If it is stil not working - write us an email.
184
+
185
+ * Now you can play around with the debugger ( see http://github.com/sfeu/MINT-debugger for source code ) to observe all interactors state changes during runtime within the tuple space
186
+
187
+ ./schript/mint/debugger.sh
188
+
189
+ * Check if the sound is working ( see http://github.com/sfeu/MINT-sdl for source code ) - a clicking sound should be played while pointing to the different cells.
190
+
191
+ * Buy colored gloves and try our gesture recognition app ( will be releasen soon ) to navigate through the cells using hand postures.
192
+
193
+ * Browse the source code, read (and cite) our papers to get a basic understanding of the framework components.
194
+
195
+ * You have further ideas? Email us and help us improving the framework.
196
+
197
+ == LICENSE:
53
198
 
54
- The above copyright notice and this permission notice shall be
55
- included in all copies or substantial portions of the Software.
199
+ The MINT framework is developed by Sebastian Feuerstack Copyright (C)
200
+ 2010 and 2011 Sebastian Feuerstack
201
+
202
+ This program is free software; you can redistribute it and/or modify
203
+ it under the terms of the GNU Affero General Public License version 3
204
+ as published by the Free Software Foundation.
205
+
206
+ This program is distributed in the hope that it will be useful, but
207
+ WITHOUT ANY WARRANTY; without even the implied warranty of
208
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
209
+ General Public License for more details.
210
+
211
+ You should have received a copy of the GNU Affero General Public
212
+ License along with this program; if not, see
213
+ http://www.gnu.org/licenses or write to the Free Software Foundation,
214
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
215
+
216
+ You can contact Sebastian Feuerstack using the contact formular on his
217
+ homepage http://www.feuerstack.org.
218
+
219
+ The modified source and object code versions of this program must
220
+ display Appropriate Legal Notices, as required under Section 5 of the
221
+ GNU Affero General Public License version 3.
222
+
223
+ In accordance with Section 7(b) of the GNU Affero General Public
224
+ License version 3, these Appropriate Legal Notices must retain the
225
+ display of the "Powered by MINT Framework" logo. If the display of
226
+ the logo is not reasonably feasible for technical reasons, the
227
+ Appropriate Legal Notices must display the words "Powered by the
228
+ MINT Framework".
56
229
 
57
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
58
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
59
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
60
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
61
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
62
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
63
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile CHANGED
@@ -3,7 +3,6 @@ gem 'hoe', '>= 2.1.0'
3
3
  require 'hoe'
4
4
  require 'fileutils'
5
5
  require 'rdoc/task'
6
- require './lib/MINT-core'
7
6
 
8
7
  Hoe.plugin :newgem
9
8
  # Hoe.plugin :website
@@ -15,9 +14,24 @@ $hoe = Hoe.spec 'MINT-core' do
15
14
  self.developer 'Sebastian Feuerstack', 'Sebastian@Feuerstack.org'
16
15
  self.post_install_message = 'PostInstall.txt' # TODO remove if post-install message not required
17
16
  self.rubyforge_name = self.name # TODO this is default value
18
- self.extra_deps = [['dm-rinda-adapter','~> 0.1.0'],
19
- ['MINT-statemachine','~> 1.2.2'],
20
- ['cassowary','~> 1.0.0']]
17
+ self.extra_deps = [['dm-rinda-adapter','~> 0.1.0'],
18
+ ['MINT-statemachine','~> 1.2.3'],
19
+ ['MINT-scxml','~> 1.0.0'],
20
+ ['cassowary','~> 1.0.0'],
21
+ ["dm-core","~>0.10.2" ],
22
+ ["dm-rinda-adapter", "~>0.1.2"],
23
+ ["cassowary","~>1.0.0"],
24
+ ["eventmachine", "~>0.12.10"],
25
+ ["rake","0.9.2.2"],
26
+ ["rmagick","~>2.12.2"],
27
+ ["json","~>1.5.1"],
28
+ ["redis","~>2.2.1"],
29
+ ["dm-types","~>0.10.2"]]
30
+ self.extra_dev_deps = [["rspec","1.3.1"],
31
+ ["hoe", "~>2.9.6"],
32
+ ["newgem","~>1.5.3"],
33
+ [ "rdoc","~>3.11"] ]
34
+
21
35
 
22
36
  end
23
37
 
@@ -2,7 +2,7 @@ $:.unshift(File.dirname(__FILE__)) unless
2
2
  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
3
 
4
4
  module MINTCore
5
- VERSION = '1.0.0'
5
+ VERSION = '1.0.1'
6
6
  end
7
7
 
8
8
  require 'rubygems'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: MINT-core
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 21
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 0
10
- version: 1.0.0
9
+ - 1
10
+ version: 1.0.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Sebastian Feuerstack
@@ -15,10 +15,12 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-11-02 00:00:00 Z
18
+ date: 2011-11-09 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- version_requirements: &id001 !ruby/object:Gem::Requirement
21
+ name: dm-rinda-adapter
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
22
24
  none: false
23
25
  requirements:
24
26
  - - ~>
@@ -30,27 +32,43 @@ dependencies:
30
32
  - 0
31
33
  version: 0.1.0
32
34
  type: :runtime
33
- requirement: *id001
34
- prerelease: false
35
- name: dm-rinda-adapter
35
+ version_requirements: *id001
36
36
  - !ruby/object:Gem::Dependency
37
- version_requirements: &id002 !ruby/object:Gem::Requirement
37
+ name: MINT-statemachine
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
38
40
  none: false
39
41
  requirements:
40
42
  - - ~>
41
43
  - !ruby/object:Gem::Version
42
- hash: 27
44
+ hash: 25
43
45
  segments:
44
46
  - 1
45
47
  - 2
46
- - 2
47
- version: 1.2.2
48
+ - 3
49
+ version: 1.2.3
48
50
  type: :runtime
49
- requirement: *id002
51
+ version_requirements: *id002
52
+ - !ruby/object:Gem::Dependency
53
+ name: MINT-scxml
50
54
  prerelease: false
51
- name: MINT-statemachine
55
+ requirement: &id003 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ~>
59
+ - !ruby/object:Gem::Version
60
+ hash: 23
61
+ segments:
62
+ - 1
63
+ - 0
64
+ - 0
65
+ version: 1.0.0
66
+ type: :runtime
67
+ version_requirements: *id003
52
68
  - !ruby/object:Gem::Dependency
53
- version_requirements: &id003 !ruby/object:Gem::Requirement
69
+ name: cassowary
70
+ prerelease: false
71
+ requirement: &id004 !ruby/object:Gem::Requirement
54
72
  none: false
55
73
  requirements:
56
74
  - - ~>
@@ -62,41 +80,242 @@ dependencies:
62
80
  - 0
63
81
  version: 1.0.0
64
82
  type: :runtime
65
- requirement: *id003
83
+ version_requirements: *id004
84
+ - !ruby/object:Gem::Dependency
85
+ name: dm-core
86
+ prerelease: false
87
+ requirement: &id005 !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ~>
91
+ - !ruby/object:Gem::Version
92
+ hash: 51
93
+ segments:
94
+ - 0
95
+ - 10
96
+ - 2
97
+ version: 0.10.2
98
+ type: :runtime
99
+ version_requirements: *id005
100
+ - !ruby/object:Gem::Dependency
101
+ name: dm-rinda-adapter
66
102
  prerelease: false
103
+ requirement: &id006 !ruby/object:Gem::Requirement
104
+ none: false
105
+ requirements:
106
+ - - ~>
107
+ - !ruby/object:Gem::Version
108
+ hash: 31
109
+ segments:
110
+ - 0
111
+ - 1
112
+ - 2
113
+ version: 0.1.2
114
+ type: :runtime
115
+ version_requirements: *id006
116
+ - !ruby/object:Gem::Dependency
67
117
  name: cassowary
118
+ prerelease: false
119
+ requirement: &id007 !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ~>
123
+ - !ruby/object:Gem::Version
124
+ hash: 23
125
+ segments:
126
+ - 1
127
+ - 0
128
+ - 0
129
+ version: 1.0.0
130
+ type: :runtime
131
+ version_requirements: *id007
68
132
  - !ruby/object:Gem::Dependency
69
- version_requirements: &id004 !ruby/object:Gem::Requirement
133
+ name: eventmachine
134
+ prerelease: false
135
+ requirement: &id008 !ruby/object:Gem::Requirement
70
136
  none: false
71
137
  requirements:
72
138
  - - ~>
73
139
  - !ruby/object:Gem::Version
74
- hash: 17
140
+ hash: 59
141
+ segments:
142
+ - 0
143
+ - 12
144
+ - 10
145
+ version: 0.12.10
146
+ type: :runtime
147
+ version_requirements: *id008
148
+ - !ruby/object:Gem::Dependency
149
+ name: rake
150
+ prerelease: false
151
+ requirement: &id009 !ruby/object:Gem::Requirement
152
+ none: false
153
+ requirements:
154
+ - - "="
155
+ - !ruby/object:Gem::Version
156
+ hash: 11
157
+ segments:
158
+ - 0
159
+ - 9
160
+ - 2
161
+ - 2
162
+ version: 0.9.2.2
163
+ type: :runtime
164
+ version_requirements: *id009
165
+ - !ruby/object:Gem::Dependency
166
+ name: rmagick
167
+ prerelease: false
168
+ requirement: &id010 !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ~>
172
+ - !ruby/object:Gem::Version
173
+ hash: 59
174
+ segments:
175
+ - 2
176
+ - 12
177
+ - 2
178
+ version: 2.12.2
179
+ type: :runtime
180
+ version_requirements: *id010
181
+ - !ruby/object:Gem::Dependency
182
+ name: json
183
+ prerelease: false
184
+ requirement: &id011 !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ~>
188
+ - !ruby/object:Gem::Version
189
+ hash: 1
190
+ segments:
191
+ - 1
192
+ - 5
193
+ - 1
194
+ version: 1.5.1
195
+ type: :runtime
196
+ version_requirements: *id011
197
+ - !ruby/object:Gem::Dependency
198
+ name: redis
199
+ prerelease: false
200
+ requirement: &id012 !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ~>
204
+ - !ruby/object:Gem::Version
205
+ hash: 5
206
+ segments:
207
+ - 2
208
+ - 2
209
+ - 1
210
+ version: 2.2.1
211
+ type: :runtime
212
+ version_requirements: *id012
213
+ - !ruby/object:Gem::Dependency
214
+ name: dm-types
215
+ prerelease: false
216
+ requirement: &id013 !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ~>
220
+ - !ruby/object:Gem::Version
221
+ hash: 51
222
+ segments:
223
+ - 0
224
+ - 10
225
+ - 2
226
+ version: 0.10.2
227
+ type: :runtime
228
+ version_requirements: *id013
229
+ - !ruby/object:Gem::Dependency
230
+ name: rspec
231
+ prerelease: false
232
+ requirement: &id014 !ruby/object:Gem::Requirement
233
+ none: false
234
+ requirements:
235
+ - - "="
236
+ - !ruby/object:Gem::Version
237
+ hash: 25
238
+ segments:
239
+ - 1
240
+ - 3
241
+ - 1
242
+ version: 1.3.1
243
+ type: :development
244
+ version_requirements: *id014
245
+ - !ruby/object:Gem::Dependency
246
+ name: hoe
247
+ prerelease: false
248
+ requirement: &id015 !ruby/object:Gem::Requirement
249
+ none: false
250
+ requirements:
251
+ - - ~>
252
+ - !ruby/object:Gem::Version
253
+ hash: 39
75
254
  segments:
76
255
  - 2
77
256
  - 9
78
- version: "2.9"
257
+ - 6
258
+ version: 2.9.6
79
259
  type: :development
80
- requirement: *id004
260
+ version_requirements: *id015
261
+ - !ruby/object:Gem::Dependency
262
+ name: newgem
81
263
  prerelease: false
264
+ requirement: &id016 !ruby/object:Gem::Requirement
265
+ none: false
266
+ requirements:
267
+ - - ~>
268
+ - !ruby/object:Gem::Version
269
+ hash: 5
270
+ segments:
271
+ - 1
272
+ - 5
273
+ - 3
274
+ version: 1.5.3
275
+ type: :development
276
+ version_requirements: *id016
277
+ - !ruby/object:Gem::Dependency
278
+ name: rdoc
279
+ prerelease: false
280
+ requirement: &id017 !ruby/object:Gem::Requirement
281
+ none: false
282
+ requirements:
283
+ - - ~>
284
+ - !ruby/object:Gem::Version
285
+ hash: 17
286
+ segments:
287
+ - 3
288
+ - 11
289
+ version: "3.11"
290
+ type: :development
291
+ version_requirements: *id017
292
+ - !ruby/object:Gem::Dependency
82
293
  name: hoe
294
+ prerelease: false
295
+ requirement: &id018 !ruby/object:Gem::Requirement
296
+ none: false
297
+ requirements:
298
+ - - ~>
299
+ - !ruby/object:Gem::Version
300
+ hash: 17
301
+ segments:
302
+ - 2
303
+ - 9
304
+ version: "2.9"
305
+ type: :development
306
+ version_requirements: *id018
83
307
  description: |-
84
- Multimodal systems realizing a combination of speech, gesture and
85
- graphical-driven interaction are getting part of our everyday life.
308
+ Multimodal systems realizing a combination of speech, gesture and graphical-driven interaction are getting part of our everyday life.
309
+
310
+ Examples are in-car assistance systems or recent game consoles. Future interaction will be embedded into smart environments offering the user to choose and to combine a heterogeneous set of interaction devices and modalities based on his preferences realizing an ubiquitous and multimodal access.
311
+
312
+ This framework enables the modeling and execution of multimodal interaction interfaces for the web based on ruby and implements a server-sided synchronisation of all connected modes and media. Currenlty the framework considers gestures, head movements, multi touch and the mouse as principle input modes. The priciple output media is a web application based on a rails frontend as well as sound support based on the SDL libraries.
86
313
 
87
- Examples are in-car assistance systems or recent game consoles.
88
- Future interaction will be embedded into smart environments offering
89
- the user to choose and to combine a heterogeneous set of interaction
90
- devices and modalities based on his preferences realizing an ubiquitous
91
- and multimodal access.
314
+ Building this framework is an ongoing effort and it has to be pointed out that it serves to demonstrate scientific research results and is not targeted to we applied to serve productive systems as they are several limitations that need to be solved (maybe with your help?) like for instance multi-user support and authentification.
92
315
 
93
- The MINT Framework enables the design, creation, and execution of
94
- multimodal interfaces.
316
+ The MINT core gem contains all basic AUI and CUI models as well as the basic infrastructure to create interactors and mappings. Please note that you need at least a CUI adapter gem to be able to actually run a system, e.g. the MINT-rails gem. But for initial experiements ist enough to follow the installation instructions of this document.
95
317
 
96
- The MINT core gem contains all basic AUI and CUI models as well as
97
- the basic infrastructure to create interactors and mappings. Please
98
- not that you need at least a CUI adapter gem to be able to actually
99
- run a system, e.g. the MINT-rails gem.
318
+ There is still no documentation for the framework, but a lot of articles about the concepts and theories of our approach have already been published and can be accessed from our project site http://www.multi-access.de .
100
319
  email:
101
320
  - Sebastian@Feuerstack.org
102
321
  executables:
@@ -189,7 +408,7 @@ files:
189
408
  - spec/spec_helper.rb
190
409
  - tasks/rspec.rake
191
410
  - .gemtest
192
- homepage: http://github.com/sfeu/MINT-core
411
+ homepage: http://www.multi-access.de
193
412
  licenses: []
194
413
 
195
414
  post_install_message: PostInstall.txt