IEEE BigComp 2021 Research Thesis

Research paper about assistive technology for blind people integrating Tensorflow and Android Studio for Object Detection

Abstract

Visually impaired persons often experience limited user accessibility regarding smart devices. Particularly, it is challenging for such persons to precisely touch a button or icon to operate smart devices. Existing studies have reported a lack of step-by-step guidance for visually impaired users to perform tasks on smart devices. Although prototypes and non-visual interface systems were implemented to aid blind people in using mobile phones, a step-by-step guidance system was not developed. Moreover, devices other than smartphones were not emphasized. To address these limitations, we propose a novel guidance system that employs an object detection method for recognizing the control panels of smart devices and offers appropriate guidelines based on the user’s targeted task. A user study conducted with 20 participants on 3 tasks and a baseline with existing voice assistants, such as Screen Reader and VoiceOver, indicated that users were more satisfied with our guidance system than with existing voice assistants. Although the system does not perform well on small smart devices such as smartphones, 16 participants preferred the guiding feature of our system.

Android Developer Internship

My first internship working with Android Studio developing Android Application for project organizer. We used Redmine for organizing project repository, tests, each team's responsibility. And I had to contributed Project repository part for this Redmine website but as Android application.
Company's slogan : We are pirates, we sail and hunt the best mobile and web solution

I had learned a lot from this first internship, not only android application advance knowledge , but also how to work as a team. They taught me how to use bitbucket, branching, working in a limited time for each tasks. Every day, I had to set my short-term tasks, and reviewed myself at the end of the day about what I got from each day. They are very very friendly! I really loved to interact, play a board game, sing a song, and a lot of fun stuffs. This place was really nice to me!

And more importantly, I learned a lot about how to use many libraries and Android SDK from this company, such as Retrofit, DAOs, RXJava2, Dagger, and also strengthen my fundamental android knowledge such as Floating Action Button, Recycle View and many more!

Anoboard Web Application

An interactive web application system for people who are in a group and would like to interact with others anonymously but with some gamification chance which can break that anonymity using React.js.

This class was the best class I attended during my time at KAIST. Professor Juho Kim was very friendly, and his speech was very fun. I never got bored of it. This projet also taught me a lot about how to work as a team. And also how to deal with slowly progress from some team members. There were some problems, but it was a very nice experiences! I had learned a lot about Social Computing and how significant it might affect our real world social issues.

We started everything from ideation, sharing our ideas. That was quite a hard time coming with the best ideas for us to move on, since we had different thoughts, and we needed to figure out something unique and not another Facebook as Professor suggested. Then we develop our Low-fi Prototype using Marvel. Then, we moved on to High-fi Prototype with real database and front-end using React.js. Finally, we evaluated our own usefulness by finding volunteer users to use our platform.

I mostly developed about more than 40% as a backend for Firebase part and Components part, since we are using React.js. We have discovered a lot of ways and knowledge about React.js, important functions such as componentDidMount, redux, asynchronous task between React’s rendering and firebase data fetching to resolve those bugs. Furthermore, when we further proceeded on the implementation, a lot of new ideas such as gamification occurred. Aside from that, evaluating the application through real users was a good experience to hear from real users directly and understand many different aspects from users. Something also did not go well as we expected, for instance, some of users we made an appointment forgot the appointment, took longer time than it should be, or troll around posting what it was not supposed to be there (bad words). And we argued about should it be shown in the final presentation or not. This is the first time, I had to reconsider my understanding about ethical issues, since each team member have different cultures and ethical aspects. But we finally decided to vote for censoring it in the final presentation and rarely mention it. But in a nutshell, this project will be one of the best project I will never forget. :)

BCS_System

An application using node.js integrating JavaScript and Jquery with MySQL for Cinema model

I had to use MySQL Language skills combining with Data Schema to develop this interface. I had learned a lot about backend service using MySQL with Node.js and found out that this was fun and easy using many different softwares such as MySQL WorkBench.

This project was very difficult for me due to many circumstances. I had to study most of backend and SQL Language by myself using online Course and Textbook. Although that was tough, the more difficult you encountered, the more knowledge you get. I thought that was very good experience, since that was the first time I had to study backend service. That was really fun time too!

Education Guidance

An activity volunteering by group of alumni from Mahidol Wittayanusorn High School for 5 provinces, 40 schools around Thailand.

Me and my friends had inspiration to provide our tips and tricks for doing an examination for students who want to study in a good University. So we travelled around Thailand to give them some inspiration by our speech. I got sooooo excited and veryyy happy from doing that. They got really inspired by my words. As I heard from them, my motto, as you could see in my main page, was the main quote which touched their heart the most, and that made me feel very happy that I could do this volunteer for them!

Hackathon Kisti 2017 at Jeju Island, Korea

President awards (Won first 8 teams from 50 teams), developing Android Application using Machine Learning model to find 10 best locations to live according to weather condition data set.

This project was my first attempt for Android Application for real world users. Me and my friend had to come up how to use air pollution percentage in specific area collecting by using taxi running around the town to get some benefits from these data. And we came up with the idea of using Machine Learning to provide 10 best locations for people to stay in the area.

We implemented Android app using JSON Data from REST Service, integrating Google MAP API v2 and Notifications.

Research Assistant (Mining Software Repositories) Internship

An Internship at KAIST, aiming to decrease amount of time spending for identifying defect-pronce files or packages which developers implemented by creating a model of factors based on software change, such as number of LOC, entropy. I mainly focus on following the direction of research paper especially section 2.2 (short-term quality assurance) and section 3 (Change measures, predict whether changes introduce future defect or not) as shown in the following research paper.

I used python3 with REST API to extract those metrics (factors for software change) from github repositories, since github is the main opensource people use nowadays, and Pull Requests might be an issues for developers which they have to spend more time reviewing, these metrics will improve this particular process, and we could use it to effectively decrease defect-prone softwares.

This is my first time that I had to deal with real research paper works. I had a lot of new experiences, and it was also fun. Software debugging, Technical Debt, REST API, and some of Sonar Cloud and Sonar Qube using Linux/Unix environments are new skills I had learned by analyzing Technical_debt and code smell. It was a very good time there!

Backend Developer Intern at Accenture

Working with CA API Gateway, Zuul API Gateway, REST/SOAP API, Apache JMeter, EE2E from i-sprint.

Implementing Endpoint Assertion
 My assignment was to implement assertion including data transferring format from SOAP to REST and REST to SOAP with CA API Gateway 9.4 together with privacy such as TLS assertion.

Performance Automated Testing
 Using JMeter, I can create performance statistic with simulated users requesting for endpoints in the order I desire. Regular Expression is also used for extracting wanted request and response. I need to contact test team in order to follow the scenario and use Fiddler or Charles for extracting request from mobile phone while testing each scenario.

Debugging Automated Test Script
 Again, using JMeter, Kibana (for investigating log message and error), teleport (for securely accessing data and infrastructure) I can debug failed test cases from JMeter from each endpoint by investigating correctness of data and conditions that JMeter used for testing.

Configuring Caching and setup Apache HTTP server
 In this assignment, I need to work on Apache HTTP Server Version 2.4 where I implemented configured file for AWS server. The task involved some knowledge about the structure of config file, using mod_cache module and mod_cache_disk module. I spent some time learning how to setup cache, this is one of the challenging tasks I got.

Migrating Springboot Project to Kubernetes
 Here comes the most exciting task, I had to use Spring Cloud Gateway for Spring Boot Project where I needed to work on application.yml for configuration, Java files for Custom Filtering, Validating Token with Spring cloud gateway library, Docker and Helm for accessing Server and Hystrix. Kubernetes configuration are setup with Docker, Jenkins, Helm and application.yml files. The application.yml file was where I contributed the most for this project.

Further assignment will be updated soon.

Web Developer Intern

Implementing Login Service for real web application with React.js and axios

While attending in KAIST University, my contribution was implementing web application using React.js for login part using Google and Facebook API for logging in with gmail or facebook, and also common way for logging in with axios and sessionKey provided by Elice library. I also needed to debug existing implementation involving ComponentDidMount infinite loop issues. We manage Modules with Webpack and ES6, Module organizer.

IOS Developer, Catenoid Inc, Korea

Working with Ios, Xcode 10. Implementing App-in-purchase for Apple using StoreKIT, WebKIT, WebView, TableView using Apache HTTP Server, and working on Google CardboardSDK VR for IOS using HTY360Player as based project.

In-App_purchase for IOS
 My first task is to implement an IOS application using Xcode10 for IOS version 12 which include a purchase functionality within the IOS application. The company is developing a video application called Kollus, which many famous customers such as Lotte Cinema has been using it. And I had to provide this particular service in order to make customer be more convenient on purchasing any products Catenoid provided through the application.

WebView, Apache HTTP server for IOS
 For WebView part, I have used knowledge from developing Web-Application such as HTML, CSS, JavaScript and jQuery for this task because it is necessary to create new fundamental files for website and apply it to Xcode. I have to implemented HTML, JavaScript files in order to link it to Xcode and between themselves. Most importantly, the hardest part is I also needed to developed server for this site which I am not familiar. So, I studied how to use Apache HTTP server and how to apply it to Xcode, IOS devices. I also learned Angular language which is another popular web-development language, since it provided some useful libraries to develop the application integrating Apache too. Lastly, I learned specific functions and how to connect Xcode to all implementation of server part which is the most important. My company advisor also wanted me to write the summary of how I implemented all of them too.

CardboardSDK for Virtual Reality IOS Application
 There is GoogleVRSDK which provided some functionality for changing video to 3-dimensional video. But the issue was to make cardboard cover the whole video too. So I spent a lot of time looking for the best way to create it and finally found GVRSDK for creating cardboard for video.
  Using GVRSDK is also problematic; Since the SDK is not completely developed be Google developers, t here are a lot of issues for each function. For example, I could not get the “rate” of video at any moment, but I could get only the return of a function when the rate of video has changed. This brought me to the problem of how to fully control the play and pause functionality of the video. And there were also some bugs occurring from multitasking of IOS devices which sent SIGKILL and the app crashed. Although a lot of problems occurred, I had learned a lot about how to solve and manage it, or at least, decrease possibility of having those crashes. These are very fun time for me spending these 2 months here.
  I've also learned creating Cardboard from scratch using GLKit, OpenGLES many of their functions according to this github website and this too I have learned a lot about how to construct, GLK functions and what are necessary things in order to initialize 3-dimensional object and screen.

Research Assistant

Working on Security and Privacy, Implementing Fingerprint Detector tool using python with selenium, sqlite3, mitmproxy and other os, path libraries.

After crawling 454 websites in the wild, canvas fingerprint and WebRTC Fingerprint were actually found. The processed were done in parallel for good performance (5 threads at a time) due to the limitation of resources, the investigation took very long for each thread. And the fact that not many fingerprint were found would happen due to the fact that actual websites nowadays have more way for avoiding web fingerprint detection such as stateless nature of some fingerprint, false positive detection which should be examined in further research. I also need to handle false positive cases and calculate precision and recall for the fingerprint categorization.

Contact Me

If you are looking at blank cassettes on the web, you may be very confused at the difference in price. You may see some for as low as $.17 each.

+44 2365 654 8962

information@colorlib.com

kenedyjackson.me