An Introduction to Loklak (FOSSASIA)

In this blog post, I will give a brief introduction to Loklak, a server application which is capable of collecting data from various social media sources, such as Twitter. Personally, what I feel is most interesting about Loklak is that it can collect large amounts of data in a very short amount of time – for instance, you could collect a few million Tweets just by using Loklak!

 

C0sq_wLWgAI007G.jpg
Loklak is a distributed social media message search server.

 

Why use Loklak?

There are many reasons for one to try out Loklak, even if you are not a software developer!

Here are some reasons for casual users to try out Loklak:

  • For research/statistical/analytical purposes – you can collect large amounts of data for research easily with Loklak, especially if you are searching for messages/Tweets regarding certain topics.
  • Create your own search engine for tweets.
  • Search for data anonymously on your own search portal!
  • With Loklak, you can also use Kibana to help you analyse the data that you have collected.

Special Features of Loklak

  • Ability to collect large amounts of Tweets/messages, which are subsequently processed to an elastic search index and a backup and transfer dump.

 

concept_messagesearchdetail.png

 

  • Peer to peer distributed server, which means that Loklak instances can be connected to each other.

 

component_jsonlistp2p.png

 

  • Anonymity, which is achieved via different methods. For example, the built in short-link de-shortener protects users from tracking by short-link services e.g. Twitter and bit.ly.
  • Loklak de-shortens short links in Tweets. Loklak removes the shortening of almost all links in the Tweet and reveals the original URL the user has attached in their tweet. This helps to prevent any short-link services from tracking you!
  • Loklak is open-source, which means that everyone can contribute to it. If you want to contribute to Loklak, simply visit https://github.com/loklak!

 

And with that, I would like sum up this blog post by encouraging everyone to give Loklak a try, because it utilises the concept of ‘big data’ to aid users in research and statistical purposes! If you are interested in Loklak and want to find out more, be sure to check out the following links below!

 

Relevant links:

https://loklak.org/

https://github.com/loklak

https://fossasia.org

https://github.com/loklak/loklak_server

My Experience Using Git

In this blog post, I will be sharing more about the various features of Git which I have explored as part of a Google Code-in task:

Git: Join FOSSASIA team, learn about collaboration on GitHub and start communicating in the community (FOSSASIA)

 

git_github.png
A picture depicting the Git mascot!

 

The first part of my task was to create a Github account, followed by creating a repository in Git. My knowledge of a ‘repository’ is that it is like a folder, where a set of files containing code is stored. Everybody can contribute to a repository by forking it, making changes to their own forked repository, and then submitting a pull request to the original repository.

This brings me to the next part of my task, which was to fork some of FOSSASIA’s repositories. I learnt that a ‘fork’ is somewhat similar to a copy of the original repository, where the user can make changes to the forked repository without affecting the original repository. You can then propose the changes you have made to the project owner by making a pull request, and if he/she likes your idea, he/she will then accept your pull request. After your pull request has been successfully merged into their project, your changes will then be reflected in the original repository!

The third part of my task was to ‘star’ some of FOSSASIA’s repositories. I think starring a repository is equivalent to ‘liking’ somebody else’s project, and also helps you to keep track of which projects you are interested in. In other words, you could think of the ‘star’ functionality as something like a ‘bookmark’ functionality, in the sense that you can easily re-visit your starred projects later on.

And with that, I will sum up this blog post by saying that I learnt a lot more about Git through this simple task! For those who want a brief introduction to the various functionalities of Git, do participate in Google Code-in and sign up with FOSSASIA to learn up more!

Relevant links:

http://github.com/

http://codein.withgoogle.com

http://fossasia.org

 

 

Reviewing SUSI AI Android App (FOSSASIA)

Alan Turing once said,

“A computer would deserve to be called intelligent if it could deceive a human into believing that it was human.”

Indeed, with the rise of artificial intelligence in the 21st century, the boundaries demarcating ‘human’ and ‘machine’ are gradually blurring. From Apple’s Siri to Google’s Google Now and Window’s Cortana, we are currently seeing a new wave of ‘smart’ personal assistants entering the smartphone market. In this blog post, I will seek to review FOSSASIA’s SUSI AI Android App, a new contender in the AI application market. The main differentiating point of  SUSI from the aforementioned ‘smart’ assistants is that it is an open-source application; it is fully customisable to one’s needs and is developed by a community of developers.

 

Screenshot_2016-12-30-22-17-37.png
SUSI AI is currently available on the Google Play Store (unreleased version) or at https://github.com/fossasia/susi_android/raw/apk/susi-debug.apk

What I Like About SUSI

  • The witty responses – since it makes SUSI seem more ‘human’, which I believe should be the ultimate goal of artifical intelligence. This is because by adding a touch of humanity to the responses, users will not only feel more engaged, but will also feel that they talking to a human being in the real world.

 

Screenshot_2016-12-30-22-56-11.png
Am I the only one who loves SUSI’s witty and fun responses?

 

  • The voice recognition feature, because I feel that it is an essential feature of artificial intelligence applications. Through this feature, users can ‘speak’ to SUSI, and receive ‘smart’ responses based on what they have said. This also allows the user to feel that he or she is talking to another person in real life, and not just simply texting an algorithm.

 

  • The fact that the SUSI Android App is open-source, which means that I can contribute to the project. Unlike proprietary applications such as Siri, Google Now and Cortana, I am able to contribute to the SUSI AI project and finetune any aspects of SUSI which I am not satisfied with. In other words, based on my experience using the SUSI Android App, I can add new features, fix bugs, and do other things which I am not able to do with proprietary software. This opens a new realm of possibilities even in my capacity of a casual user of the app.  (P.S. For those looking to contribute to SUSI AI, simply visit the following link: https://github.com/fossasia/susi_android)

 

susi.PNG
Users can contribute to SUSI AI as well!

 

  • The relatively simple user interface of SUSI. As compared to other AI applications such as Siri and Cortana, I feel that it is much easier for a first-time user to try out SUSI. This is because the interface is very user-friendly, and thus users can understand how to use the application without facing much difficulty.

 

What I Hope SUSI Can Improve on

  • The accuracy of the voice recognition feature. This is because the feature was unable to accurately capture my words almost half of the time. For example, when I said ‘hello’ to SUSI, my words were instead captured as ‘I don’t know’ – which seems to be quite far off for a voice recognition feature. To be fair to SUSI though, it could have been the way I enunciated my words – the second time when I said ‘hello’ to SUSI, my words were captured accurately.

 

Screenshot_2016-12-30-23-02-28.png
SUSI’s voice recognition feature could be improved on.

 

  • Better responses according to what I have typed/said. Personally, I feel that instead of trying to interpret the meaning of my entire sentence, SUSI tries to locate ‘keywords’ and gives a reply based on them. I have also noticed that SUSI tends to ignore the context of our conversation and likes to give random replies. While I agree that it is generally hard for AI assistants to give appropriate responses based on the context of a conversation, it is nevertheless crucial for SUSI to take a step in this direction. Implementing this will allow users to have a proper conversation with SUSI, instead of having a ‘fragmented’ conversation that does not last more than two messages.

 

  • The ‘web search’ functionality of SUSI. Just like other ‘smart’ personal assistants, SUSI has a functionality which allows users to search for something they want on the web. However, this functionality does not work almost all of the time (in my case) since it fails to return any web search result. The functionality also does not really work when I supposedly activate it with the word ‘search’, and in other instances where SUSI does not know how to respond, it attempts to search the web for a suitable answer – though with no search results returned (P.S. I use SUSI while being connected to the Internet).

 

Screenshot_2016-12-30-23-21-34 (1).png
In my case, SUSI’s search functionality seldom works.

 

  • In addition, I feel that SUSI should have a ‘voice’ of her own, just like Siri, as having a ‘voice’ will allow SUSI to be different from all the other various AI applications out there. A ‘human-like’ voice will also improve user experience, since the user will feel that he or she is talking to a friend instead of talking to a mechanical/emotionless voice.

 

  • Improve multilingual support for users of different nationalities. For instance, when I currently try to talk to SUSI in Mandarin, it replies in Japanese instead! Adding multilingual support would also aid in the internationalisation of the application.

 

Screenshot_2016-12-31-00-12-07.png
SUSI does not appear to be multilingual – but on the bright side – it knows how to speak Japanese!

 

  • I also hope that the application can allow users to customise the messaging interface. One suggestion would be to add various designs to the application, which would add a nice touch to the user interface. Enabling the user to change the font of messages/colour of text background would also be a nifty option!

 

  • Another suggestion would be for the application to be more personalised. For example, the app could require users to enter their name at the beginning, and SUSI can then speak to the user using his/her name. Although this may seem trivial, it will help the application become more personalised, and will allow the user to feel a sense of differentiation from other users. One example of this would be Cortana, which asks the user for his/her name when he/she first uses the application.

 

  • The application should also include additional support for users, for example, a help page or an ‘About’ page. On this page, useful features of SUSI could be listed, so that users can have a better idea on how to navigate through the application. This is particularly important for an AI application, since first-time users are not likely to know how to use the various features of the application (this could possibly be added in the future when SUSI has more features).

 

What I Envision SUSI to be in the Near Future

In this section, I will be covering my hopes for SUSI, which is currently still in the early stages of development. Previously, I have done some brief research on other ‘smart’ personal assistants such as Siri, Google Now, and Cortana, and I will be referencing some cool features which I hope SUSI can encompass! While the following suggestions may seem simple, they are actually day-to-day activities which most people carry out – and this should be the aim of an AI assistant – to provide convenience to users in daily life.

  • Send SMS Texts / Make Calls to Contacts.
  • Check the weather.
  • Send Tweets/ Post something on Facebook.
  • Look up details in the Calendar
  • Translate words from English to another language (When I try to translate any word currently, SUSI tells me to ask Babelfish)
  • Set alarms
  • Play music
  • Open applications on my phone
  • Show me a photo which I have taken previously
  • Show me places near me
  • Tell me how long it would take for me to reach home
  • Give you updates on cool stuff you have an interest in (Google Now has this feature, which gives you updates on your favorite sports team)
  • Notify you with regards anything important (e.g. flight status, important events etc.)

Of course, it will definitely take some time before these features are implemented, since SUSI is still making its first steps as an AI application. But in the meantime, do be sure to check out SUSI!

Relevant Links (be sure to check them out!):

Reviewing GCompris: A Blog Post

Hey guys, today I will be reviewing GCompris – an set of educational games for children! But before I begin my review of GCompris, I would like to share more information regarding GCompris itself, so that you guys will be able to gain a better understanding of what I’m reviewing.

What exactly is GCompris?

GCompris is a software suite comprising educational entertainment software for children aged 2-10. It includes more than 140 activities which help young children pick up basic skills such as recognition of letters and numbers, simple mathematical knowledge, as well as spelling and reading. The content in GCompris is hence designed to both educate and entertain younger children – although some games may appear to be game-oriented, nonetheless they still hold educational value.

download (11).jpg
An example of an educational game in GCompris – young users will be able to learn more about colour recognition while having fun.

 

Development History of GCompris

The first version of GCompris was designed in 2000 by Bruno Coudoin, a French software engineer. Since the first release it has been distributed freely on the Internet, and users can adapt the software freely to their own needs. One of the aims of developing GCompris was to provide native educational applications for Linux. Since then, numerous improvements have been made to GCompris, in terms of graphics and number of activities.

 

gcompris.png

 

Where Can I Download GCompris?

You can find GCompris available for download on the Google Play Store as well as the Apple App Store for mobile devices. If you are planning to download GCompris on a Linux computer, you can download GCompris at their official website:

https://gcompris.net/index-en.html

 

My Review of GCompris

Without further ado, I shall begin reviewing the main features of GCompris. For this particular review, I will be reviewing the mobile version of GCompris (Android). Do also note that I am reviewing the free version of GCompris, and not the paid version.

Upon opening the GCompris application on my smartphone, I noticed that the homescreen of GCompris is very well designed, and I am certain that the design will draw the attention of younger users.

 

Screenshot_2016-12-01-16-43-55.png

 

The animal icons arranged in a vertical column to the left of the application appear to be “app drawers” for the games in GCompris. I feel that the animal icons are especially well designed, as they convey the main “subject” of the games they contain. For example, when I saw the panda holding onto two jigsaw pieces, the first thought that went through my mind was that the panda drawer contained games related to puzzles. And indeed, I was right!

However, I also feel that the penguin icon could have a better design, as the penguin drawer contains memory-based games, and the icon does not seem to have much relation to it – in fact, the gears beside the penguin resemble that of a usual “settings” icon. My suggestion would be to replace the gears with a lightbulb, which could be located near the top of the penguin’s head. For example, like the picture below:

 

Image result for lightbulb beside head

 

 

I also feel that the Configuration page of the application could be simplified, especially since children are unlikely to be able to comprehend most of the text on the page. I also feel that the difficulty filter on the Configuration page should be simplified to ‘easy, moderate, difficult, very difficult” instead of using two set of stars – simple/complex stars because most children will not be able to understand what the sets of stars mean.

Screenshot_2016-12-01-16-59-10.png

 

Next, I will be trying out some of the games in the various app drawers and commenting on some of them.

The first game I tried out was “Penalty Kick”, located in the cat drawer, which was supposed to train one’s motor-coordination. Firstly,  I was very impressed by the awesome design of the game field – as it made me feel that I was immersed in the game playing myself. However, I feel that instead of tapping to kick the ball, the game should be designed to allow the player to “swipe” in a particular direction in order to kick the ball. This was because I played the game on a smartphone, and it was instinctive for me to swipe in a particular direction to kick the ball. I also believe that allowing the player to swipe the ball in a particular direction would be more beneficial in training their motor-coordination.

Screenshot_2016-12-01-17-12-20.png

 

The next game I played was “Louis Braille”, located in the penguin drawer, which I believed was a more advanced game. I personally loved the utilisation of pictures, as well the interesting concept behind the game. However, I feel that the game might be a little too difficult for younger children, as they may find it challenging to read some of the words, let alone arrange them in sequence. A suggestion would be to simplify some of the more advanced words to simple ones. I hence recommend the game for anyone above 7 years old, but nonetheless, the incorporation of educational facts into “Louis Braille” is highly commendable.

Screenshot_2016-12-01-17-15-34.png

 

My next game was “Renewable Energy” in the pig drawer. This was one of favourite games in GCompris, as I felt that it did a job incorporating learning into a game. Although kids may not really be able to comprehend how the sun is able to provide energy to a electrical generator, the game does an excellent job introducing them to the various energy sources around us.

Screenshot_2016-12-01-17-20-28.png

 

The next game I played was”Balance Box”, in the dragon drawer. Loved the awesome concept behind the game – the player is supposed to control the movement of a ball by tilting his/her phone. Hence, I feel that the game is highly recommendable because it hones users’ motor skills. I also like how the numbers are positioned around the map in order to guide the user into arriving at the door.

Screenshot_2016-12-01-17-26-37.png

 

The second-last game I played was “Assemble the Puzzle” in the panda drawer. I loved how the game introduces famous paintings to children through a unique and fun way, and how there are dots to guide the user into positioning the puzzle pieces.

 

Screenshot_2016-12-01-17-30-50.png

Lastly, I played the “Tic Tac Toe” game in the frog drawer (both against the computer and a friend). I personally feel that the difficulty of the game could be toned down a little, especially when playing against the AI (He seemed to be able to counter all my moves). I feel that kids may be discouraged when they keep on losing to the AI, and hence the AI’s algorithm should be crafted in such a way that it is not that difficult for kids to win. However, the game still succeeds in introducing the “Tic Tac Toe” concept to younger kids, and allows for a fun game between two human players.

Screenshot_2016-12-01-17-36-41.png

 

With that, I shall sum up my review of GCompris. Personally, I encountered no bugs, nor any major lags when playing the games. In addition, I found some games to be quite entertaining, yet providing an excellent educational experience at the same time. In conclusion, I would highly recommend GCompris to all young children, as I believe that they will all enjoy it as much as I did.

Thank you for reading my review!