On Monday, May 21, 2018 we met our mentor and discussed more about our research topic, equipment, and program languages we would be using. We also learned about smart devices and how they work. On Tuesday, we were tasked with learning how to program our own SmartThings app, which neither me nor my partner knew how to do. We spent the day researching how to design and create a smart app. Eventually, we were able to create a app that uses a motion sensor to control a lamp, or more so the light. When the motion sensor detects movement, it tells the light to flicker off and on five times. It then turns back to its original state, being either off or on. During the rest of the week, we are learning how to create an email service for elderly people.
0 Comments
During this week we visited the reform senior center to see if any of the senior citizens wanted to partake in our computer literacy classes. Most of them replied with "I don't have a computer so why would I need to learn how to use one" or "I am 60 to 80 years old and all that computer stuff if for the youngins", but I proceeded to tell them that the skills we are going to be teaching in the classes are for you to have, just incase you do get stuck in a situation where you needed to send an email or work a computer. When I told them that most of them were inclined to fill out the consent forms/ surveys we were handing out. We then returned to the lab the next day and started focussing on starting up the email server by creating the front end of the server, and getting the new color changing smart light to work with the sensor. I started out by creating a rough sketch in powerpoint of what i wanted it to look like and you can see what I came up with below this paragraph. After creating the email design we then started working on the server, in order to do that, we had to download the two programing software, which were Node and NPM.
During week three we continued to work on the front end of the server and creating ten test emails on our server. Before I could move on to the email I had to figure out why npm start, and npm test keep popping up error signs when I would run them in the terminal. We eventually gave up on it and created a developer environment on University of Alabama development server. From their I was finally able to get npm to work correctly and start working on the emails. I later found out that sense I am working off the developer server I can access my work on my own computer and continue working on it throughout the day. When I started using the developer server this was my first time every using the command ssh in the terminal to get from one place to anther. Latter on in the week we took two more trips to the reform senior center. The first trip we were doing maintenance on their wifi network and figuring our where we going to be setting up our equipment, because on Friday we were going to start our computer basic classes. On Friday we came back and tough our first computer literacy class. The first classes focused on mouse control, which we called mousesersize. Out of the 7 senior citizen 1-2 of them caught on pretty fast, 1- 3 of them took a little bit more time before they caught on, and lastly 1-2 of them took more time to figure out how to control the mouse and distinguish between right and left clicking. Ultimately, everyone one caught on to it and had a lot of fun learning about computers.
This week we spent most of our time trouble shooting with the email and developing Alexa skills. When it came to the email we ran into trouble when it came to developing a way to run the email service. We had three options the first was to continue with our original plan and create an html file to use at the front end of the email then use express to put it on a server. Then use the current java script code that we have to use at the backend of the email service. The second and third option we explored was to use RainLoop or RoundCube, which create the email server with out use doing most of the hard work except when it comes to designing it. If we were to choose either RainLoop or RoundCube we would have to go into their code and rewrite it to fit our image but that would be more complex than just doing it from scratch. So we ultimately agreed on to continue creating the email service from scratch. Now I'm looking at expressed to create a local server for the email. During this week we also visited the nursing home again. This weeks lesson was key combination shortcuts. This taught most of the seniors to how to switch, open, close, and create new windows with key Combinations. Most of the seniors enjoyed it and never wanted to use the mouse after that to navigate through the computer.
During the fifth week of the program I continued working with express to create the email service. In the beginning of the week I learned how to create and design the Jade and JavaScript files needed to create all the different pages of the email. In the JavaScript file there are many different elements such as var express, var router, function(req, res, net) , and res.render. These elements are used to place different information in their specified spot. In the res.render element we can link the jade file to its corresponding JavaScript file. The jade file sets the layout of each page such as the header, body, and footer they can also add buttons and links to each page. Their is one more function that is needed to efficiently and successfully create each page of the email which is the app.js file. This file physically creates the routes needed for the JavaScript file and the Jade file work properly. I did run into some trouble when creating the login page and home pages in the in app.js file and in the JavaScript file. In the app. js file I was missing the same name constant that is need to link everything together in the file. In the JavaScript file I was missing online of JS code that is need to export the information to the router. Once I figured this out it was time to design the links to each page with buttons and I continued to work on them into the next week. We also took another trip to the senior citizen home and this week lesson was on web browsing, computer privacy, and the trade off's to accessing certain pages. When Dr. Anderson began teaching the lesson she only had the focus of the people who volunteered to participate in the lessons but as lesson went on everyone in the building stop and started paying attention to everything she had to say. By the end of the lessons everyone was excited to start web browsing.
During the sixth week of the program I continued to work on the navigation between the first two pages I created in the previous week. When I first tried to connect their pages I used links, which prove successful but now in the way I needed it to work. The link pass onto the next page without verification which means I had to find a different way todo the login, so I decided to do it with a button instead in theory it could work once I create a file with login and password combinations . I then moved on to add the other three pages being inbox, compose, and sent pages. I then gave each page buttons to link them each other page. While I was doing this I ran into another problem being the navigation with the buttons again. The problem was the code I used to make the buttons, originally the button code is used was only meant to be used to only go to one other page but with a few modification I made it to where it could be used for many different pages. After that I started on designing the inbox page. While I was looking at different design I found one that outlined the email in a box and displayed it in a big enough font to use for seniors citizens. I am still working out all the kinks in the design. Then last but not least this week trip to the senior citizens this week lesson was based on email usage. All the seniors that volunteered really enjoyed sending emails to Dr. Anderson and her replying back to them.
During the seventh week of the program I continued to work on the inbox of the email service. I decided to stop working on the design of the inbox and start getting the required information from the corresponding email account from google such as the email's sender, subject, and description. We already had a piece of code that obtain the subject from each email. I original thought that I could just take that code and replace the elements in it to obtain the senders and the description, but as it turns out when I request the sender it just prints out object and for the description it prints out a blank line in the inbox. But before I could even get started on that objective the whole email service complete stop working, by which I mean every time I ran the system it would give error on each page of after you login. Me and Dr. Anderson couldn't think of what was going wrong. After two days the service finally started working again but neither me nor Dr. Anderson was did anything to fix the problem. We figured that that the error occurred probably because of the time restraint or a present number of times we can login without restart it. If it happens again that's going to be the first thing we try if it happens again. By this time it was already Friday and we started discussing how to obtain the Sender and the description of each emails. In order to do this we had to open up the original email and open is source code. Once we did this we had to find out which header the body was under so we can modify the existing code to get the body of the email.
During this week I was manly troubleshooting and add some new code. In the beginning of week I was still looking at code and various that i could implement into the system to get the different headers. I did find one piece of code on GitHub that i thought was useful in obtaining the headers, but when I used it in the system it would always give an error. So I looked online to see if there was another way I could make it fit into the system, and I found multiple examples of how they obtained the header. Then I tried two things which were to keep the old code and change it around to fit my needs. The second option was to take the old code out completely and use the other methods I found online. In the end the second method did not pan out and neither did the first method but i keep trying the first method to see if anything could work.
This week I was still trouble shooting and reviewing the Imap code to see if they had a way for me to obtain the header. In the beginning of the week I was stumped and didn't really know what to do so I went back to the drawing board and tried to see if there was anything I missed that Dr. Anderson and I talked about in the beginning. Then I realize that I completely forgot about the Imap server that we used in the beginning of the program and went back to see if I had missed anything. I eventually found the section on how to obtain the the body of the email. When I was looking over the section I realize the method used in obtaining the body wouldn't work with the amount of the detail they they gave in their GitHub repository. The next idea I had was to manipulate the code that we used to get the other fields to get the body of the email. By the end of the week I had changed most of the code I ran into the problem of how to parse or give direction to the code to where to find the body.
In the final week of the program Dr. Anderson and I came together on Monday and tried to parse through the code of the email with the a JSON validator to show us the different level of body email so we could parse through the data with a simple line of code, but we soon found out that the body has special characters we did not know about which making the task of obtain the body much more difficult and take more time than I had, so i started working on the CSS page to each jade file. The CSS pages add design to the jade files. When I was adding the CSS pages of the email I first used a template I found on google that would of separated each piece of mail, but I couldn't get the design and the jade file to piece together. After that I looked at the core element of a CSS page and started to design each page. One of the biggest details in creating a CSS file is having the correct item name so it can directly correlate to that specific item. This was hard when it comes to the buttons, because each button had the same function but different names. So the first code I tried to write didn't work because of it, but once I looked a couple of examples and fix my mistake.By the end of the week I had finished each page of the email, and I started working on my research paper.
|
Week 2
Week 3
During week three we continued to work on the front end of the server and creating ten test emails on our server. Before I could move on to the email I had to figure out why npm start, and npm test keep popping up error signs when I would run them in the terminal.We eventually gave up on it and created a developer environment on University of Alabama development server. From their I was finally able to get npm to work correctly and start working on the emails. I later found out that sense I am working off the developer server I can access my work on my own computer and continue working on it throughout the day. When I started using the developer server this was my first time every using the command ssh in the terminal to get from one place to anther. Latter on in the week we took two more trips to the reform senior center. The first trip we were doing maintenance on their wifi network and figuring our where we going to be setting up our equipment, because on Friday we were going to start our computer basic classes. On Friday we came back and tough our first computer literacy class. The first classes focused on mouse control, which we called mousesersize. Out of the 7 senior citizen 1-2 of them caught on pretty fast, 1- 3 of them took a little bit more time before they caught on, and lastly 1-2 of them took more time to figure out how to control the mouse and distinguish between right and left clicking. Ultimately, everyone one caught on to it and had a lot of fun learning about computers. Week 4
This week we spent most of our time trouble shooting with the email and developing Alexa skills. When it came to the email we ran into trouble when it came to developing a way to run the email service. We had three options the first was to continue with our original plan and create an html file to use at the front end of the email then use express to put it on a server. Then use the current java script code that we have to use at the backend of the email service. The second and third option we explored was to use RainLoop or RoundCube, which create the email server with out use doing most of the hard work except when it comes to designing it. If we were to choose either RainLoop or RoundCube we would have to go into their code and rewrite it to fit our image but that would be more complex than just doing it from scratch. So we ultimately agreed on to continue creating the email service from scratch. Now I'm looking at expressed to create a local server for the email. During this week we also visited the nursing home again. This weeks lesson was key combination shortcuts. This taught most of the seniors to how to switch, open, close, and create new windows with key Combinations. Most of the seniors enjoyed it and never wanted to use the mouse after that to navigate through the computer. Week 5
During the fifth week of the program I continued working with express to create the email service. In the beginning of the week I learned how to create and design the Jade and JavaScript files needed to create all the different pages of the email. In the JavaScript file there are many different elements such as var express, var router, function(req, res, net) , and res.render. These elements are used to place different information in their specified spot. In the res.render element we can link the jade file to its corresponding JavaScript file. The jade file sets the layout of each page such as the header, body, and footer they can also add buttons and links to each page. Their is one more function that is needed to efficiently and successfully create each page of the email which is the app.js file. This file physically creates the routes needed for the JavaScript file and the Jade file work properly. I did run into some trouble when creating the login page and home pages in the in app.js file and in the JavaScript file. In the app. js file I was missing the same name constant that is need to link everything together in the file. In the JavaScript file I was missing online of JS code that is need to export the information to the router. Once I figured this out it was time to design the links to each page with buttons and I continued to work on them into the next week. We also took another trip to the senior citizen home and this week lesson was on web browsing, computer privacy, and the trade off's to accessing certain pages. When Dr. Anderson began teaching the lesson she only had the focus of the people who volunteered to participate in the lessons but as lesson went on everyone in the building stop and started paying attention to everything she had to say. By the end of the lessons everyone was excited to start web browsing. Week 6
During the sixth week of the program I continued to work on the navigation between the first two pages I created in the previous week. When I first tried to connect their pages I used links, which prove successful but now in the way I needed it to work. The link pass onto the next page without verification which means I had to find a different way todo the login, so I decided to do it with a button instead in theory it could work once I create a file with login and password combinations . I then moved on to add the other three pages being inbox, compose, and sent pages. I then gave each page buttons to link them each other page. While I was doing this I ran into another problem being the navigation with the buttons again. The problem was the code I used to make the buttons, originally the button code is used was only meant to be used to only go to one other page but with a few modification I made it to where it could be used for many different pages. After that I started on designing the inbox page. While I was looking at different design I found one that outlined the email in a box and displayed it in a big enough font to use for seniors citizens. I am still working out all the kinks in the design. Then last but not least this week trip to the senior citizens this week lesson was based on email usage. All the seniors that volunteered really enjoyed sending emails to Dr. Anderson and her replying back to them. Week 7
During the seventh week of the program I continued to work on the inbox of the email service. I decided to stop working on the design of the inbox and start getting the required information from the corresponding email account from google such as the email's sender, subject, and description. We already had a piece of code that obtain the subject from each email. I original thought that I could just take that code and replace the elements in it to obtain the senders and the description, but as it turns out when I request the sender it just prints out object and for the description it prints out a blank line in the inbox. But before I could even get started on that objective the whole email service complete stop working, by which I mean every time I ran the system it would give error on each page of after you login. Me and Dr. Anderson couldn't think of what was going wrong. After two days the service finally started working again but neither me nor Dr. Anderson was did anything to fix the problem. We figured that that the error occurred probably because of the time restraint or a present number of times we can login without restart it. If it happens again that's going to be the first thing we try if it happens again. By this time it was already Friday and we started discussing how to obtain the Sender and the description of each emails. In order to do this we had to open up the original email and open is source code. Once we did this we had to find out which header the body was under so we can modify the existing code to get the body of the email. Week 8
During this week I was manly troubleshooting and add some new code. In the beginning of week I was still looking at code and various that i could implement into the system to get the different headers. I did find one piece of code on GitHub that i thought was useful in obtaining the headers, but when I used it in the system it would always give an error. So I looked online to see if there was another way I could make it fit into the system, and I found multiple examples of how they obtained the header. Then I tried two things which were to keep the old code and change it around to fit my needs. The second option was to take the old code out completely and use the other methods I found online. In the end the second method did not pan out and neither did the first method but i keep trying the first method to see if anything could work. Week 9
This week I was still trouble shooting and reviewing the Imap code to see if they had a way for me to obtain the header. In the beginning of the week I was stumped and didn't really know what to do so I went back to the drawing board and tried to see if there was anything I missed that Dr. Anderson and I talked about in the beginning. Then I realize that I completely forgot about the Imap server that we used in the beginning of the program and went back to see if I had missed anything. I eventually found the section on how to obtain the the body of the email. When I was looking over the section I realize the method used in obtaining the body wouldn't work with the amount of the detail they they gave in their GitHub repository. The next idea I had was to manipulate the code that we used to get the other fields to get the body of the email. By the end of the week I had changed most of the code I ran into the problem of how to parse or give direction to the code to where to find the body. Week 10
In the final week of the program Dr. Anderson and I came together on Monday and tried to parse through the code of the email with the a JSON validator to show us the different level of body email so we could parse through the data with a simple line of code, but we soon found out that the body has special characters we did not know about which making the task of obtain the body much more difficult and take more time than I had, so i started working on the CSS page to each jade file. The CSS pages add design to the jade files. When I was adding the CSS pages of the email I first used a template I found on google that would of separated each piece of mail, but I couldn't get the design and the jade file to piece together. After that I looked at the core element of a CSS page and started to design each page. One of the biggest details in creating a CSS file is having the correct item name so it can directly correlate to that specific item. This was hard when it comes to the buttons, because each button had the same function but different names. So the first code I tried to write didn't work because of it, but once I looked a couple of examples and fix my mistake.By the end of the week I had finished each page of the email, and I started working on my research paper. |