User Tools

Site Tools


ischeme:example_applications

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ischeme:example_applications [2010/07/28 20:20]
ebainomu
ischeme:example_applications [2011/04/08 18:34] (current)
ebainomu
Line 1: Line 1:
 ====== Example Applications ====== ====== Example Applications ======
-[[iScheme]] has been used to develop non-trivial distributed iPhone applications. +[[ischeme]] has been used to develop non-trivial distributed iPhone applications. Below are the representative example applications:
  
 +  * [[#AmbiScrabble_Game_for_the_iPhone | AmbiScrabble Game for the iPhone ]]
 +  * [[#PolyGlot_Chat_Application| PolyGlot Chat Application]]
  
 ===== AmbiScrabble Game for the iPhone ===== ===== AmbiScrabble Game for the iPhone =====
 +AmbiScrabble is a digital version of a scrabble-like game where players work collaboratively with their iPhones to form words. The screen shot below shows the AmbiScrabble application on the iPhone. 
  
 ==== How the game works ==== ==== How the game works ====
  
-AmbiScrabble is a digital version of a scrabble-like game where players work collaboratively with their iPhones to form words. The screen shot below shows the AmbiScrabble application on the iPhone. The game works as follows: Players are organised in teams and each player has a rack of letters. Letters are consumed by forming valid English words. The team that first consumes all its letters wins. Players belonging to the same team can exchange letters among themselves. +The game works as follows: Players are organised in teams and each player has a rack of letters. Letters are consumed by forming valid English words. The team that first consumes all its letters wins. Players belonging to the same team can exchange letters among themselves. 
  
 {{ ischeme:ambiscrabble.png }} {{ ischeme:ambiscrabble.png }}
Line 28: Line 30:
   * [[http://soft.vub.ac.be/~ebainomu/AmbiScrabble-movies/Request.mov|Handling letter requests]]   * [[http://soft.vub.ac.be/~ebainomu/AmbiScrabble-movies/Request.mov|Handling letter requests]]
   * [[http://soft.vub.ac.be/~ebainomu/AmbiScrabble-movies/Disconnection.mov|Dealing with player disconnections]]   * [[http://soft.vub.ac.be/~ebainomu/AmbiScrabble-movies/Disconnection.mov|Dealing with player disconnections]]
 +
  
 ==== Credits ==== ==== Credits ====
-Nick De Cooman for undertaking the AmbiScrabble project (under supervision of [[Engineer Bainomugisha]] and [[Elisa Gonzalez Boix]]) to validate the Scheme and Objective-C symbiosis+Thanks to Nick De Cooman for undertaking the AmbiScrabble project (under supervision of [[http://soft.vub.ac.be/~ebainomu|Engineer Bainomugisha]] and [[http://soft.vub.ac.be/~egonzale|Elisa Gonzalez Boix]]) to validate the Scheme and Objective-C symbiosis 
 + 
 + 
 +===== PolyGlot Chat Application ===== 
 +PolyGlot chat is a distributed chat application that enables users to write text messages in their preferred language and have the text message translated in realtime to the receiver's language.  
 + 
 +==== How the chat works ==== 
 +The application works as follows: When a chat application is started the user is prompted to specify the preferred language.  Then a text chat conversation can begin with a selected a buddy. When a chat message is received from a buddy,  it is automatically translated from the buddy's language to the user's specified language. For instance, if Bob (an English speaker), sends a message "Hello there" to Tim (a Dutch speaker), the message is displayed as "Hallo daar" on Tim's chat window. 
 + 
 +{{:ischeme:polyglotchatshot.png|:ischeme:polyglotchatshot.png}} 
 +==== Application design and implementation ====
  
 +The PolyGlot chat application has been designed in a peer-to-peer fashion without assuming a centralised server. We implement the chat logic and distribution concerns of the application in [[iScheme|iScheme]], while the graphical user interface (GUI) is implemented in Objective-C using the Cocoa framework. The translation happens using the Google translator API which is accessible from iScheme, thanks to the Objective-C and Scheme symbiosis. 
ischeme/example_applications.1280341221.txt.gz · Last modified: 2010/07/28 20:20 (external edit)