IKANGAI Solutions. e.u.

Idea Factory For Mobile Design.

T F G+ E

Posts Tagged ‘Twitter for Team Collaboration’

Building Interfaces for Human Provided Services

May 15th, 2012 by Martin No Comments

As discussed earlier, our concept of a Human Assisted Service Environment (HASE) encompasses the handling of the interaction between the human and the software on mobile devices. Mobile devices impose a set of constraints that need to be taken into account, like connectivity, screen size of the device, input capabilities or user interface limitations. For example, a SOAP messages like:

 

<?xml version=”1.0″?>
<soap:Envelope
xmlns:soap=”http://www.w3.org/2001/12/soap-envelope”
soap:encodingStyle=”http://www.w3.org/2001/12/soap-encoding”>

<soap:Body xmlns:m=”http://www.example.org/stock”>
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>

</soap:Envelope>

must be transformed (e.g., with XSLT) to remove the meta information, before presenting it to the human. Thus, the handling of SOAP requests requires the implementation of a dedicated client that is able to parse the incoming requests and – based on the input – generate a user interface to present the request. The generation of arbitrary interfaces is difficult; however, it is possible to accept only a certain type of SOAP requests for which the user interface is present.
By utilizing a platform like Twitter, we circumvent these types of limitations: we simply utilize Tweets to represent Service requests that are written in Tweetflows, a human-readable domain-specific language to interact with Services, both human- and software-provided. Especially the the human readability of Tweetflow commands (see our Amazon Mechanical Turk Experiment) has the benefit of not needing an additional extra layer of transforming Service requests into human-readable Service requests. A Tweetflow command that is received on a mobile device as Tweet only requires a Twitter client to interact with.

your ikangai science team

Motivating an Idea in a Scientific Paper

May 14th, 2012 by Martin No Comments

When writing a paper, authors often struggle with the application of their ideas in real life. It is often the case that an idea is interesting, but fails to convince others because of the lack of immediate applicability or a difficulty to provide real world data. This problem is faced by many authors; for example, in 1989 when Tim Berners Lee proposed an information system that later became the WWW, there was no proof that this could work.
So, in order to convince others, authors invent application scenarios that illustrate the application of their idea in a “realistic” setting. However, sometimes these settings are not well fitted and convincing. This was also one of the reasons for the rejection of our SOCA paper. So we thought of new scenarios and actually found them right away: we looked at our own marketing methods and we decided to describe them with with Tweetflows. The setting has completely changed and moved towards crowd sourcing without being a typical crowdsourcing example like tagging images. Instead, we are able to foster the ground for a new concept which we call social tuple space (STS) that is used to coordinate the services during the execution of the Tweetflow. Within this setting, we are able to describe a new working example as follows:

A startup company (ikangai solutions) is launching a new mobile app and as promotional offer they will give their customers a promotional discount, i.e., unlocking of additional App features for free, if customers invite the their friends to download the app. Customers can invite 5, 10, 20 or more friends from their social network to benefit from different promotions (bronze, silver, gold or platinum), with 5 being the lowest number for a promotion.
Customers can optionally customize their invitations before sending them to their friends. The invitation contains a link to a marketing survey which will be collected by the ikangai solutions to get feedback for the app (e.g., if the app was downloaded). Once the invited friends have completed the online survey, the customer receives the promotion code and can unlock new features in the App.
For the promotion, ikangai solutions uses its own Twitter network and posts a Tweetflow that describes the necessary activities needing to be executed:

LG didStart.Tweetflow #app_marketing
SR @cerridan download.App http://www.ikangai.com #app_marketing
SR @cerridan select.friends #twitter #app_marketing
[SR @cerridan select.Friend | SR @cerridan customize.Invitation | SR @cerridan send.Invitation | SR (Friend) confirm.Invitation | SR (Friend) complete.Survey http://wwww.ikangai.com | SR @cerridan send.Info] {5,} #app_marketing
SR @ikangai unlock.Bronze {5} #app_marketing
SR @ikangai unlock.Silver {10} #app_marketing
SR @ikangai unlock.Gold {20} #app_marketing
SR @ikangai unlock.Platinum {21,} #app_marketing

Conceptually, these commands create a social tuple space that contains Tweets of the followers of ikangai solutions. These Tweets represent information tuples that are used to coordinate the execution of the Tweetflow. The tuple space exists as temporary space: as long as the Tweetflow is executed, the Tweets are available. The Tweets are automatically purged from the social tuple space as Twitter only retains a history of about 3000 Tweets for each user. The creator of the tuple space monitors the execution by following the Tweets of the users:

LG @ikangai didSelect.Friend #app_marketing
LG @ikangai didCustomize.Invitation #app_marketing
LG @ikangai didSend.Invitation #app_marketing
LG @cerridan didConfirm.Invitation #app_marketing
LG @cerridan didComplete.Survey #app_marketing
LG @ikangai didSend.Info #app_marketing

LG @cerridan didUnlock.Bronze #app_marketing
LG @cerridan didFinish.Tweetflow #app_marketing

We believe that this example is illustrative and clearly motivates the use of Tweetflows in such settings. One of the next steps is to elaborate on social tuple spaces and to provide a simulation of Tweetflows in the Twitter Testbed of Andreas Scharf.

your ikangai science team

Installing a Twitter Testbed

May 11th, 2012 by Martin No Comments

Installing an open source Twitter Server (Status.net) can turn out to be a very time consuming task. It took me four days and dozens of “trial and error” to find the proper configuration for Status.net on our Server. One of the main problems was my lack of experience with being a Server admin: I’m a computer scientist, but I’ve never really administrated a Server. So I’m not used to cryptic error messages like “DB:Error” that frequently occurred during the installation of the current stable version of Status.net.
One of the things that I tried, was to install the previous version of Status.net – which also didn’t work. Then I tried the current developer version – which didn’t work at first. But this version returned an error code that was helpful and put me on the right track. PEAR was not included in the Open Basedir settings of the PHP installation of my Server. And this ultimately did the trick: after I changed the configuration, I was able to install Status.net and to run an initial experiment of Twitter Testbed that was developed by Andreas Scharf during his Master Thesis. Now I’m finally able to start with my actual work that was planned to be finished by today :-) .

your happy ikangai science team

Tweetflow Syntax Considerations

April 23rd, 2012 by Martin No Comments

After our Amamzon Mechanical Turk experiment, we took a closer look at the data. As discussed earlier, turkers had some troubles understanding the meaning of Tweetflows, due to the lack of an explanation. Omitting a detailed description was a deliberate choice: we wanted to know, if turkers were able to create Tweetflows with a minimal set of examples. We did not explain that Tweetflows are designed to be machine-readable and we did not discuss the structure of Tweetflow commands which can be separated into four distinct parts:

prefix – defining the type of command (e.g., service request, service provision)
command – consisting of an auxiliary verb, a verb and a noun
link to a resource
optional (semantic) suffix – providing additional information encoded as hashtags that allow for classification of the request

However, to facilitate the translation, we chose Tweetflow commands that turkers could easily derive from the examples. One interesting aspect is the use of hashtags, which lead to some confusion of the turkers:

I was not sure how to incorporate all of the hashtags

The same symbol # is used as different word to connect the words to form sentences.The commanding person may think to communicate different sentence and the receiving person may assume different sentence by using different words in place of # symbol to form sentence.It may lead to misunderstanding and communication gap.

I don’t know the exact prepositional phrases to put in front of #QRCode #Scanner #iPhone.

it has # in the tweet and I don’t know what it means by #

it was a little confusing to comprehend the meaning of the words after the “#” expression. I am uncertain whether I translated the meanng correctly but it did seem to make sense at the time.

As solution to this problem, some of the turkers just included the nouns into the Tweetflow commands or added the hashtags to the resource link:

ikangai, can you publish the description of http://www.ikangai.com/blog with QR Code of Scanner and iphone after johannes2112 completed the proofread of http://www.ikangai.com/blog with QR Code of Scanner and iphone ?

johannes2112, can you proofread the descriptions for QRCode, Scanner, and iPhone after ikangai has completed publishing? (see: http://www.ikangai.com/blog/)

ikangai, will you publish the description (see: http://www.ikangai.com/blog/QRCode/Scanner/iPhone)? johannes2112, can you proofread the description (see: http://www.ikangai.com/blog/QRCode/Scanner/iPhone)?

One turker just included the hashtags in the natural sentence:

Ikangai, please publish the description (See: http://www.ikangai.com/apps/qcard-digital-business-card/ | SR) johannes2112, can you make a proof reading on the description on http://www.ikangai.com/blog/ #QRCode #Scanner #iPhone]

It seems that we did not include enough meta data into the Tweeflow commands to give a deeper understanding. None of the turkers was able to combine the meta information #QRCode #Scanner #iPhone into a QRCode Scanner App for the iPhone. Obviously, we need to include more context information to point the user into the right direction.

We are thinking of structuring meta information so that people can make use of it. We are considering the use of curly braces to add key value pairs to Tweetflow commands:

{key=#value}

However, we are not sure, if this would add additional confusion to the syntax of Tweetflows. This requires obviously an additional experiment with Tweetflows on Amazon Mechanical Turk.

your ikangai science team

First Results of Amazon Mechanical Turk Task

April 20th, 2012 by Martin No Comments

Our Tweetflow experiment is completed: we’ve received results from all 40 turkers. At a first look, it seems that Tweetflows are indeed human readable – all workers completed their tasks and the resulting Tweetflows look good. However, some of the comments are very interesting, especially if we consider the setting in which the Tweetflows were translated into natural language. We only provided a small set of examples, so the turkers had a starting point, but we offered no further explanations.

24 out of 40 turkers had problems with the task, and we received comments like these:

you get a general idea of the meaning but not a complete understanding. Not everyone would find these tweetflows easy to comprehend. They are not user friendly for all technology experience levels.

This is an absurd, mechanical language, that can often require more characters and cause greater confusion than natural English. Unless these tweets are being parsed by an app, I don’t see the point.

it had a lot of elements and these elements can be arranged in different ways and produce different meanings each time.

Once I figured out the syntax I was able to get the gist of the command but it took a little time to figure it out.

Much of the syntax is foreign to me. I had to guess based on the examples on this page.

A little difficult determining which parts of a sentence structure each part of the tweet referred to (i.e. subject, object)

The hashtag keywords aren’t together with the sentence part.

I’m not familiar with that syntax or programming syntax in general.

The first lesson that we learned from this experiment is that there is probably no such a thing as “natural programming language” besides natural language itself. The second lesson is that Tweetflows are indeed human readable, even if the syntax seems arbitrary for non technical people. However, this did not hinder the turkers from creating correct Tweetflows.

your ikangai science team

Amazon Mechanical Turk Experience with Tweetflows

April 15th, 2012 by Martin No Comments

We posted a Amazon Mechanical Turk task (a so-called human intelligence task, HIT) a week ago and so far we received 7 the results of seven HITs (out of 50). Actually – based on past experience – we thought that we would have had attracted more workers (so-called Turkers) by now and expected to have a larger number of our HITs completed by now.
As a consequence, we posted a new version of the task (we also pay more :-) ) and added additional things to do for the Turkers to do:

Tweetflows are a simple syntax that are used to ask users on Twitter to perform certain activities.

  • Task 1: Translate SR @ikangai doProofread.Blogentry into an English sentence:

Example: SR @ikangai doWrite.Paper #Tweetflows #language-syntax tranlates into:

ikangai, can you write a Paper about the language-syntax of Tweetflows?

 

  • Task 2: Translate SP @cerridan proofread.Blogentry into an English sentence:

Example: SP @ikangai write.Paper #Tweetflows #language-syntax tranlates into:

ikangai, I can write a Paper about the language-syntax of Tweetflows.

 

  • Task 3: Translate the following four Tweetflow commands into four English sentences:

SR update.qcard http://www.ikangai.com/apps/qcard
SP @ikangai canUpdate.qcard http://www.ikangai.com/apps/qcard
SR @ikangai doUpdate.qcard http://www.ikangai.com/apps/qcard
SP @cerridan didUpdate.qcard http://www.ikangai.com/apps/qcard

 

  • Task 4: Translate the following sequence into two English sentences:

[SR @ikangai doPublish.Description http://www.ikangai.com/blog/ #QRCode #Scanner #iPhone | SR @johannes2112 proofread.Description http://www.ikangai.com/blog/ #QRCode #Scanner #iPhone]

 

Example: [SR @ikangai doUpdate.Description http://www.ikangai.com/apps/qcard-digital-business-card/ | SR @cerridan doAdd.Paragraph http://www.ikangai.com/apps/qcard-digital-business-card/]  translates into:

ikangai, can you update the description (see: http://www.ikangai.com/apps/qcard-digital-business-card/)? cerridan, can you add a paragraph after ikangai has completed (see: http://www.ikangai.com/apps/qcard-digital-business-card/)?

  • Task 5: Answer the following four questions:

1. Have you heard of Tweetflows before?

Yes
No

2. Did you find it difficult to get the menaing of Tweetflow commands like SR @ikangai doPublish.Description http://www.ikangai.com/blog/ #QRCode #Scanner #iPhone ?

Yes, because

No

 3. Did you search the Web for Tweetflows?

Yes
No

4. If you searched the Web for Tweetflows, did you find the Tweetflow specification at the ikangai Web page http://www.ikangai.com/tweetflows-specification-version-1-0/ ?

Yes
No

 

your ikangai science team

Stop ACTA