Monday, June 21, 2021

Tech Topic Connections

    Blogs are one of the most ideal ways to communicate to the world when trying to express different experiences and educate others. Throughout this course, we have become educated in the roots of information technology. Provided all of this information that has been learned throughout this course, the focus point will be revolving around the chosen tech topic of web and mobile applications. As the world steadily progresses to a more modernized mobile world, applications are being designed to function on a mobile device for ease of access, whether these applications are strictly built as an application or even designed for a web browser, the functionality resembles that of what an application does on a computer. The main functions of mobile devices have become a gateway to allowing users to use applications that were originally built for computers to a more on-the-go feature. Technology has become so advanced in the last century, that many changes in sizes of computers have become smaller and smaller with much easier accessibility, Vahid & Lysecky (2017) explains, “1940’s computers, with thousands of baseball-sized switches, occupied entire rooms” (Section 1.1, para. 2). Knowing that the original computers in the world were created to be massive, and now throughout time have become so advanced that these devices have become handheld. Without knowing the history of computer technology, one would never realize how advanced we have come to bring such a large system down to such a small device. This does not even scratch the surface of how the components in these devices have changed tremendously over the years.

            The advancements in hardware alone in technology have become so advanced from what it first was back in the 1940’s everything that allowed a computer to function properly had been changed. As Vahid & Lysecky (2017) mentions, “by the 1970’s, an entire computer could fit on a one-coin sized device known as a computer chip” (Section 1.1, para. 2). How quickly computer systems went from being the size of a room down to the size of a coin is incredible, that does not even recognize the other parts of a computer that have been developed over the years. Another very critical piece of hardware that has changed throughout the time that has begun advancing in the mobile technology world is processors. Processors as Vahid & Lysecky (2017) explain are, “hardware that runs program instructions and controls other hardware” (Section 2.1, para.1). These processing units are what drives a computer to function between numerous tasks during a session of use, this controls how quickly tasks can be completed or accessed, and originally these processors were slower, but have rapidly advanced to function with faster-operating speeds. Mobile devices have become more advanced in computing power because of processor enhancements, Reddi et al. (2018) explain that “a smartphone today has enough computing power to be on par with the fastest supercomputers from the 1990s” (para. 1). This determining how even though three years ago mobile processors have become so advanced which would determine how technology has been steadily trending in a positive way. However, mobile devices do not only run based off of their hardware, but a critical function also that plays a role in how devices run are through software designs.

           

            The way hardware is designed is to coexist and work parallel with how software is designed through programming. Programming languages are what allows the hardware to interact with the software designed in programs or operating systems, this allows users to have more control over their systems and allows the user to run programs. Mobile devices use similar programming habits to run their hardware like computers. All programs are run from different types of programming languages. These two share a common programming language known as Java. Java is the main framework for android mobile devices whereas on computers the Java language is used in application use. Software programming is the main framework of how all technology runs and is the most critical function of how the hardware works with the device.

            As mobile devices become more accepted to becoming the main technological devices that people use, applications that are developed for these devices become the main reasoning behind this. Applications that are on mobile devices are usually known for their compatibility when used between computer systems and mobile devices, a lot of applications get developed so that people have access to their email, important documents, and even in some cases video games. In some cases people use their mobile devices in a way to work anywhere, mobile devices enable users to view different parts of their businesses, some companies use these for their databases to view them. As Li et al. (2020) mentions, “When users allow their data to be collected via software applications and mobile devices, users need to have some level of trust and control over their data” (p. 1). Having this level of trust for mobile devices to manage their databases in a business has a lot of meaning. While users have trust in their mobile devices to manage their databases, these devices are protected from security risks with built-in features that the programmers implement into their apps. Some of these features are when swapping applications on the device the program’s security takes into effect by logging the user out of the application. Another way that apps are secured is by having an account authentication that asks for private credentials that only the user would know that way it can be protected from outside users without the device owner’s permission. Other features that have been designed are 2-step authentication which requires another outside source to enable the login to the application, this being a phone number text, email, or even log in from a computer. These types of authentications require the owner of the device to have the proper credentials to log in than needing credentials to approve the login request. These are some of the ways that applications are developed in ways to secure the user in the application they are using.

 

References


Li, Z., Peng, B., & Weng, C. (2020). XeFlow: Streamlining Inter-Processor Pipeline Execution for the Discrete CPU-GPU Platform. IEEE Transactions on Computers, Computers, IEEE Transactions on, IEEE Trans. Comput, 69(6), 819–831. https://doi-org.proxy-library.ashford.edu/10.1109/TC.2020.2968302

Reddi, V. J., Yoon, H., & Knies, A. (2018). Two Billion Devices and Counting. IEEE Micro, 38(1), 6–21.

Vahid, F., & Lysecky, S. (2017). Computing technology for all. Retrieved from zybooks.zyante.com/

Computers in the Workplace

    The specific industry that I will be discussing would be the manufacturing industry. Based on my current knowledge of technology in the computer world. At my current job which is in the manufacturing industry, we do have our own IT department that helps maintain our companies’ servers that hold all of our private documents, designs, and work instructions. Our company holds all of their important documents privately where only certain individuals based on their job codes are able to see them. The entire database is secured through a private network that was established at the company itself, where internet access is mainly disabled from outside sources. Assuming that within the last 50 years there has not been any sort of breach in our network, it seems that our company has a very established security team to prevent any breaches. The IT department also holds an additional team that helps support the entire company if any technical issues occur with user issues, whether it's hardware or operating system issues. They also write some scripts that help with how the computers they provide to the manufacturing teams allow users to access what they need and startup programs to only run for what that team is required.




    Since I partake mostly on the assembly side currently of the manufacturing business, I feel that it would be in my best interest to exemplify how the IT department helps support this business team. When our servers are down that brings up work instructions, they try to find a fast workaround to quickly allow us to continue working, while they work on the larger issue, this generally only occurs if there is a hardware issue, or when the network for the assembly line is down. What they generally do when the network is down is loan us laptops that have connectivity to different servers until they are able to bring up the servers for our manufacturing line. Sometimes if it is not necessarily a network issue or hardware issue, they will screen share to see what the issue is and try and troubleshoot it remotely. When the issue does persist as being a hardware issue, they will place an order for a new replacement computer and provide us a loaner computer in the meantime that has the ability to achieve daily tasks.



    Based on having basic technological knowledge some of the issues that do occur in manufacturing can be troubleshot without having to contact the IT department, sometimes it could just be a connectivity issue into the computer itself, for example, an ethernet cable not being connected, or the display adapter came loose causing the monitor to not function properly. It is important to have some general knowledge behind computer technology, as this creates a self-reliant atmosphere where reliance on another team does not always have to occur, this also preventing more situations from accruing “down-time”. With the way technology is evolving, in the next ten years, I would imagine that fewer issues with programs, hardware, and server issues would end up being less likely as our IT department creates more established servers since computer technology has become so advanced and continues I feel like stability would be increased, in a server level, I would also like to believe that desktop computers in manufacturing businesses would probably downgrade desktops into tablets, depending on the business team. Tablets are becoming a very powerful device with many different options, and the touch screen capability and mobility make them more prominent in assembly work whereas a monitor is only mobile to such extent. With hardware becoming more revolutionized task operations would be much smoother in transitioning from one program to the next, perhaps data would be stored on the device itself rather than a huge super server that has the possibility of being breached where stored data on a device with limited networking would be more secure. Just some ideas based on what I have seen at my company and what the IT department does to support the business.

Network Security


    As technology evolves in the world, personal information becomes more and more used saved, and accessible on technological devices. However, this information is very personal that can lead to distress in an individual’s life if this information is stolen and can cause many issues for that individual. Most of the time the person’s information is sold on the black web, which is the part of the internet where users are anonymous and untraceable, this leading to illegal activities, like an impersonation of identities, credit card, and debit card information being stolen, bank account information could be stolen, there are so many different outcomes that can be devasting when a system becomes hacked. As Vahid & Lysecky (2017) explains, “a malicious breach done by unauthorized access” (Section 8.1, para. 1). Hacks are what are some of the leading causes for personal information being stolen. One kind of hack that can occur from the ping command that we use to establish if there is a connection available between your computer and the server is an overload of pings to a server to deny their service this is also known as a "DDoS" attack or also known as Denial of Service attack. What this attack does is the server that is being threatened by the overwhelming amounts of ping requests is to turn off the victim's server to shut down their network. The likelihood of successfully shutting down a network or computer using a DDoS attack by a single person is unlikely, however, if someone were to use a Botnet then the success rate would be significantly increased. Botnets in other words a large number of networks that have been hijacked and controlled remotely by the hacker, the botnet then controls every command on all of these systems, putting this into effect by using the ping command and sending all of the transacting ping echoes towards that computer or server would most likely cause it to fail and shut down. I will be further expressing two other hacks that are possible security risks for users and businesses, these are known as phishing and password cracking.

    Different technology devices are vulnerable to all kinds of different threats. Vahid & Lysecky (2017), explains “phishing is an internet scam that baits a user to share sensitive information like a password or credit card number” (Section 8.4, para. 1). These types of hacks are very critical to keep attention to, as they can lead to the most devasting loss of financial information and other sensitive information like social security numbers. The reason why technology is so vulnerable to this type of threat is that a lot of these threats come in from an email that is created to look like an actual representation of the website that a user may have data stored on. A prime example that a lot of people have data stored would be websites like Netflix or Amazon. An email would be sent to a user’s personal email, and it would request to click on a link to bring the user to a website that looks like Netflix’s official website where a user would input a username and password, this actually sends the information to the creator of this falsified website to steal the account information. This being on the lower-tiered scams, however, this exact method could create even larger issues if an email were sent as a banking email, where the user could put their bank account information and password. As Jensen et al. (2017) expresses, “the U.S. Federal Bureau of Investigation posted a warning in April 2016 that it received reports from more than 17,000 victims, which accounted for $2.3 billion in losses” (2017). This expressing how dangerous phishing can be to everyone, it can result in a very bad financial loss, that most likely could never be traced back to the original developer of the phishing links or programs. A few recommendations that would help prevent such breaches of privacy to occur would be to not click on links in emails sent to a user’s personal email that they did not request from websites. Also, another recommendation would never submit personal information on a website that is not well known or reputable, as these websites can also just be scamming websites to steal your information. This also leads to another computer breaching threat is known as password cracking.

    Password cracking is a leading cause of user accounts being compromised and accessed, notoriously used on emails and other personal accounts. A password cracking software is designed to recover a lost password, it may not be as malicious as it sounds, however, this can lead to accessing accounts without user authorization, thus, leading down a path of personal information being stolen, through emails and other means necessary. Shi et al. (2021) expresses, “strong passwords are always hard to remember, so it is not surprising that users often create easy-to-guess passwords for convenience, which puts password-based authentication systems in a high-risk situation (para. 1). This indicating that passwords should be hard to establish, even for software that exists that enables password brute force, thus enabling software to continue writing random characters on an account to access the account eventually. This may seem like a time-consuming process which it is, however, eventually access will be granted to the account and that is where the threat has begun establishing their illegal activity. There are a few different ways to prevent this from occurring, one recommendation is to create a password that is entirely random and write down a copy of it somewhere safe, maybe on a piece of paper and hidden away. Another recommendation to prevent password cracking is to have a user change their password frequently, this way, even if a program was trying to establish a connection to the account using brute force technology, will continue to keep failing.

    After establishing what phishing and password cracking is, computer threats still lurk, and not one person is entirely safe from them, however, with the recommendations that were presented within this paper, the possibilities of having phishing or password cracked, should be minimal. There will always be some sort of computer breach no matter how hard the user attempts to protect themselves, practicing good fundamental knowledge of cybersecurity will help prevent any negative outcomes that may arise. Doing so will help prevent personal information from being found on the dark web or being sold to others for illegal purposes.




References

Himawan Pramaditya. (2017). Brute Force Password Cracking Dengan Menggunakan Graphic Processing Power. Jurnal Teknologi Dan Manajemen Informatika, 2(1). https://doi-org.proxy-library.ashford.edu/10.26905/jtmi.v2i1.615

Jensen, M. L., Dinger, M., Wright, R. T., & Thatcher, J. B. (2017). Training to Mitigate Phishing Attacks Using Mindfulness Techniques. Journal of Management Information Systems, 34(2), 597–626.

Shi, R., Zhou, Y., Li, Y., & Han, W. (2021). Understanding Offline Password-Cracking Methods: A Large-Scale Empirical Study. Security & Communication Networks, 1–16.

Thursday, June 17, 2021

 What are Ping and Traceroute Commands


    Ping and traceroute commands are two commands that take place within the command prompt of an operating system. These commands are used to identify whether your computer can reach another server to see if there is a possibility to establish a connection. These commands also show at what point where there may be a fault between the two connections and shows a visual representation of the distance between the two connections.



Assessment of Ping and Traceroute Commands

    After reviewing the ping and traceroutes we can identify from the results how close the servers are within range of our internet service provider's servers. When I used the ping command on the google website, it took about 35 milliseconds to transmit the 32 bytes of data that I sent from my computer to their servers. When I pinged the website, weblio.jp, my ping of 32 bytes of data transmission became an average of 321 milliseconds. It seems that the communication between my server and their servers became evidently longer, the transmission data seemed to be at a stable, upon transmission to these servers. I found another website called scielo.br, which when I pinged this server the transmission of data averaged at 739 milliseconds, which is significantly higher than the previous pinging commands, this transmission hit a max-cap of 1726 milliseconds, this seemed to show me some information that could potentially show that there is a problem with the transmission connection, because, during the transmission of the data, the minimum amount of time was 280 milliseconds, this makes me believe there were two possibilities of interruptions during my communication transmission. One issue could be that there was a disruption in my internet connection causing a longer delay sending out the data, or there could be a disruption going on at this website’s retrieval end or even their feedback response time. These could be potential issues, however, with just the pinging command there is no way of having any real answer as to why there was such a wide variety of transmission delays.



Ping Results:
Google.com – Packets Sent: 4, Received: 4, Lost: 0, Approximate round trip times – Min. 35ms, Max. 36ms, Average: 35ms
Weblio.jp – Packets Sent: 4, Received: 4, Lost: 0, Approximate round trip times – Min. 289ms, Max. 339ms, Average: 321ms
Scielo.br – Packets Sent: 4, Received: 4, Lost: 0, Approximate round trip times – Min. 280ms, Max. 1726, Average: 739ms





Traceroute Results:
Google.com – Over a maximum of 30 hops, range – 1ms – 34ms, hops 5,6, and 7 ping raised to 83-105 ms, then packet loss at hop number 8.
Weblio.jp – Over a maximum of 30 hops, range – 1ms – 218ms, hops 9, 11, 12, 13, and 16 all had about 100-220 ms, doubling its latency by hop number 16. Hops 10, 14, and 15 had packet losses.
Scielo.br – Over a maximum of 30 hops, range – 1ms –171 ms, hop number 10 had a packet loss, and hops 16, 17, and 18 ping raised to 170 ms.



    During the traceroute command, Google’s website we can see the entire route from the starting location (my home) where data is transmitted from to the end result. During the transmission route, my ping raised around 100 ms from where it was averaging late 20s to mid-30s. Hop numbers 6 and 7 were where the transmission peaked and hop number 8 timed out. During the transmission with the website weblio.jp, the overall ping gradually increased from the start to the end of its route, by the time it hit hop number 9, ping doubled, thus making me believe that this is where the server started transmitting into a different geographic location, at hop number 10, the transmission hit a packet loss, and then the ping increased doubled again to 200ms, then more packet losses occurred at hops 14 and 15, and the transmission ended at hop 16, at 220 ms. With the scielo.br website, again ping gradually kept increasing from the start to finish, there was only one packet loss at hops number 10, and the ping gradually continued to rise after this, at hops 16, 17, and 18 ping reached 173 ms where the transmission’s route ended.



    After reviewing the traceroutes round trip times, one could assume that the lower pings averaging 20-60ms would be within the country, and outside the country, we would see an increase by almost double or actually doubling in the roundtrip time. Realistically, after analyzing the difference between each website, we can identify that geographic location certainly impacts the roundtrip times, and it seems the further away the server is the ping will increase.



    Identifying internet connection problems can be identified using the ping and traceroute commands, when pinging a server if there is a problem with the host server, we might see that there may not any responses from the server host. Another way that we can identify if there is a networking issue, using traceroute we can establish how long it takes for a packet of data to be sent to a host and how long it takes to return back, this is can be used to determine if there is an issue with the internet connection, as in most cases from the experimental attempts of our routing, anything within the countries origin of where we are pinging from is generally below 100 ms, if the connection exceeds 100ms than we could probably associate this with a problem, this would most likely only be applicable within the country as it seems that geographic location impacts the time for the data to be sent and received back, having an increased time of latency. The ping command may time out if the host that we are trying to ping has a network that is not established to receive the connection. Another option as to why we may see a timeout issue is if there might be a firewall that could potentially block the connection also.


 Daily Life Usage


    In our everyday lives, we spend multiple hours near any form of technology, whether it be a computer, mobile device, or even a calculator. However, these devices ensure that everyday life becomes easier. Today I am going to review several applications that I commonly use throughout my day, these applications are known as the Microsoft Office applications.



    We sometimes forget to process how many tasks we perform during a session when using a type of application, for daily uses of Microsoft Word, we use so many different tasks, changing fonts, indentations, punctuations, grammar checking, spell checking, creating hyperlinks, and even putting photos into a document. All of these tasks may seem minimal to people who commonly use these applications, but may actually create difficult problems for people who are unfamiliar with how to use these applications, and what application is truly built for. Distinguishing what tasks you are trying to establish during your session will determine what program is best suited for that session. Below I will review and compare different applications to help determine the best uses for a variety of tasks, which will help aid in figuring out what application to use.



Reviewing and Comparing Different processing Applications

    As technology moves steadily in a more advanced way, there are many options available for daily tasks that help assist us, some of these are different processing applications. The applications that will be discussed are about, word processing applications, spreadsheet applications, presentation applications, and database applications. These four different categories are used in everyday circumstances to help with different scenarios. There are a few commonly used applications that will be presented as examples to differentiate the main uses out of these applications and their functionalities that are best suited for their design, the examples being presented are Microsoft Word, Microsoft Excel, Microsoft PowerPoint, and MySQL.

    Microsoft Word is considered to be a mainstream word processing application used across multiple platforms pc, mobile-based operations, and browser-based operations. Microsoft Word is mainly used for writing documents; however, this can also be used in a series of different ways. The most advantageous way to utilizing Microsoft word is through writing papers, emails, important documents, or in some cases as a way to create a document with listings where this would provide the best and quickest method to creating these. Ideally, Microsoft Word can provide some opportunities like making tutorials, and even in some cases charts and tables. However, these optional tasks are more presentable in other applications that are designed for those opportunities. As Vahid (2017) explains, “a word processor is a computer application for creating formatted text” (Section 5.1). In regard to this, these applications all do have some flexibility, for example, photos can be added to Microsoft Word and be useful in describing or creating instructions to help provide guidance. However, a better solution in this example would be based on a presentation-based application such as Microsoft PowerPoint.

    Presentation style applications are helped in providing an audience with knowledge through visual representation explanations. Where word processing applications can blend with this sort of application in some cases, presentation-styled applications are best suited. These applications are designed for visual guidance, applying photos, animations, and in some cases, videos embedded within the presentation. Vahid (2017) expresses that, “a presentation app is a computer application used to create a slideshow of text and graphics, often with animation” (Section 5.3). Elaborating on this, applying different animations to help guide your audience to what they are looking at during a presentation while the presenter expresses what they are trying to provide for information. A great example is adding animation to an arrow pointing at an object within the presentation, this arrow itself can be animated to appear when the presenter is ready to provide that knowledge to their audience. In word processing applications there is less likely to have any form of animation as the program itself was not designed for that purpose. A great time to use a presentation is if someone is needing to present information to an audience that can be shown through visual representation, rather than a long explanation through a word processing application where the audience would have to read through a large amount of text, in most cases, these types of presentations are time-limited, therefore, a visual presentation would be best suited. Some disadvantages to using a presentation application are based on what the user is trying to do, if the user wants to make formal documentation, presentation-styled applications would be very limited. There is only so much a presentation-styled application can provide, there is limited space on each slide for information, very limited formatting regarding text, and limited text spell checking available. Another disadvantage to presentation styled applications is that the ability to add charts or spreadsheets within the presentation is limited to the size of the presentation slide spacing, there are opportunities to grab a portion of a chart or spreadsheet, but this may not provide enough information for the audience, therefore, a spreadsheet application would function better in this scenario.

    Spreadsheet applications have become very advanced in assisting in calculating formulas and overall calculating large amounts of data, which can be transitioned into visual charts to express what the sheet is representing. In Microsoft Excel, this application has many advanced uses for calculations, which is great for different businesses and for personal uses. As Vahid (2017) explains, “an important spreadsheet feature allows a user to type a formula in a cell to compute that cell’s value based on other cell’s values” (Section 5.2). Spreadsheet applications have the ability to pull information from one cell to other using formulas to calculate the cell’s data values. This is a useful concept for organizational purposes, for example, managing inventory. Another example would be financial budgets, by presenting the values of one’s financials a total budget could be represented through a spreadsheet by presenting the expenses and providing a total budget for a certain time period, using formulas one could calculate how much spending or savings they would have after all of their expenses. Spreadsheets like all applications are designed for just their main application usage, they are limited to their ability of flexibility. A spreadsheet would not be best suited for formal writing, and during presentations would be appropriate to use, however, this would only be limited to some information, whereas a presentation application could help better in presenting that data. Even though spreadsheets are great, they are missing critical parts that are only represented in database applications.

    Database applications are collections of data that are organized in ways to have a more efficient way of retrieving information and giving data true meaning. Databases are used to store extensive amounts of data that are helped with the organization just like spreadsheets, however, the information within the databases is pulled from external use, like order processing for example. An order is placed, and that order is sent to a server that sends a message to the database to remove that value ordered from the database or in this example inventory. This is done through automatic transactions when the database is established properly to do so, whereas spreadsheets can do similar transactions, however, would be manually done. As Vahid (2017) explains, “a database is a collection of data organized to enable efficient information retrieval, a company may use a database to gather information regarding current inventory or to forecast trends” (Section 5.4). Utilizing databases are great for having a large selection of data that can be managed efficiently, to help support different businesses, personal usages, and or servers. As Vahid, F., & Lysecky, S. (2017) explain, “databases (DB) used as electronic patient records (EPR or electronic medical records [EMR]) have been established in clinical care units (frequently as parts of larger Clinical Information Systems [CIS]), essential for clinical and laboratory data storage” (para. 2). As a great example of how databases establish a very essential part of businesses for storing information. However, even if databases are great, they fall short in their capabilities. They are only good for organizational purposes to ease the access of information and keeping track of data, they do not help in data calculations and formulas where spreadsheet applications work the greatest.

    After establishing what each application does and how they are different, they all have moderate flexibility amongst themselves. Some applications are better suited for different circumstances where others fall short. Most importantly, all of these applications are very critical to everyday use, almost every business uses these applications in one way or another and this helps support the concept that technology is on an upward trend to making businesses have higher opportunities for success






References

Vahid, F., & Lysecky, S. (2017). Computing technology for all. Retrieved from zybooks.zyante.com/


Tüttelmann, F., Luetjens, C. M., & Nieschlag, E. (2006). Optimising workflow in andrology: a new electronic patient record and database. Asian Journal of Andrology, 8(2), 235–241.

Reviewed Mobile App


I will be reviewing the mobile application known as KakaoTalk. KakaoTalk is a Korean-based social media messaging application. KakaoTalk is normally known as just “Kakao”, this application is built mainly for mobile devices, primarily the utilization changes on this app. depending on what devices that person is using. The program’s user interface changes based on whether the device is Android or IOS. Kakao does have a version that can be installed on Windows operating systems; however, this program is less structured than the mobile versions. Weirdly enough, each different operating system whether it be on Windows, Android, or IOS, application functions differently, and the location of different options are located in different locations, or the functionality of the options are different. I would show a more in-depth viewing of the contact list; however, due to privacy concerns for others, perhaps would not be the best idea, this also goes with the chatroom conversations.



This photo represents some of the key features that are available, at the bottom left you can see a person, this is the user's contact list, the middle icon next to it would be the chatrooms and direct messages and the magnifying glass is the feature to search for users by their username or QR codes.









As continuous usage of this application, more features become more known, which goes with most applications. The great thing about KakaoTalk that it has a feature where you are able to create chat rooms with friends, family members, and others, where the chat room is only accessible through the use of a passcode, that can be changed by the chatroom owner. These chatrooms and direct messages that are within the application, allow you to exchange photos, voice notes, scheduled alarms, calendars, videos, even different file attachments! Generally, this seems like just a regular messaging application, however, this app. has its own Appstore built in where users can download emoji sticker packs, download additional games, and other social media applications that connect with KakaoTalk.

The main reason I use this application is that I play a mobile game that requires structured conversations with well over 200 people at a time, with event planning. This allows us all to be within the chats and having the owners/admins of the chat create events throughout the week for planning. With the ability and ease of access with photo sharing and event planning, this application certainly meets any needs of anyone who needs or wants to use these types of applications for anything.

This shows the event creation window, where users are able to create their events that create reminders for other users within that chatroom if they want that to a part of the event.








Suggests

Designing the application so that the fluidity between different operating systems is identical. This would help decrease the issues with searching for the different features throughout the application.

Creating a better design for event managing, on Android devices events, can be created down to the exact minute, whereas on IOS, the events are created for the hour and in 5-minute sections, so the events would need to be renamed to show the exact minute within the title of the event.

A better chatroom management system for organizational purposes. With having so many conversations and chatrooms among users, eventually, your list becomes very cluttered, and only maintaining the most recently used conversations is moved to the top of your list. I would suggest that making the rooms alphabetized would work in a better way, and then be able to favorite any chat that is used most often, which would push the chatroom to the top of your list as a priority. Thus, allowing easier access to chatrooms that you are actively a part of.




Reasonings

As more people work with their mobile devices, it is important to understand how user-friendly applications are through their user interface and accessibility functions. Having the ability to explore the application and creating a review on it helps educate others into finding applications that would suit their personal needs, this saves other users the time to see if this application is really what they are looking for rather than having to download it and try it only to find out this is not something they are looking for. Reviewing applications also help others determine if the application is user-friendly or not, whether if all age groups would be able to use the application at ease.

 


Scratch programming Assessment


    The Scratch program was a great way to introduce someone to the programming languages, giving a visual idea of how coding works, and what happens when writing code with visual representation. The program bases the language on if and then statements to write the code using blocks, which represent the statements of the object or objects you want to animate. 

Below is a link to the sample game created using scratch programming.

My Scratch Sample Game


    Utilizing the Scratch website to get a better understanding of how programming blocks works, was quite an interesting experience. There was some guidance to help get started, however, running into multiple issues with some of the overall functions of the blocks made developing my game quite difficult. The first difficult situation I ran into, was trying to understand some of how the coding blocks actually worked together; following the initial guides that were provided by the company itself was a good start. However, this information lacked some key factors, like variable creation. I wanted my game to collect butterflies as food for the player (Owl), to increase the score total. After exploring a few different tutorials I was able to stumble upon how variables are created, and the use for them, thus allowing me to create my score capturing. I also struggled at first understanding how the programming worked, after “writing the code”, none of my scripts worked as I had written them, after spending some time troubleshooting and trying to understand why the code was not actually functioning it dawned on me that coding is based on if and then statements.

     My next hurdle was trying to figure out the character movements between objects, and how I wanted a movement as a contributor to my game. Originally, I found movement to be quite frustrating as the movement of objects did not seem to be fluid. After looking through some of the command blocks, I found different options where objects would bounce off the walls and respawn in a different location if it were to spawn into the wall of the application field, thus minimizing the butterfly’s spawn location to avoid spawning on the edge of the playing field.

    After working with Scratch, I began to understand that each block represented a certain line of code, which all coincided with each other. As I mentioned previously, I also started to understand that the way the coding worked, using if and then statements as a way for the code to make connections with each other to represent each event that would occur. Another learning opportunity that I found is what variables really were and what they actually did, through the hands-on experience, I figured out that variables are stored memory, that the code uses to represent a reference point. I found that Scratch gave a better visual concept of how coding works, whereas in the textbook I found that some of the activities were extremely difficult to understand considering it is showing code as itself. The visual aspect of Scratch allowed us to work with the programming blocks and identify where the issues are occurring as a starting point, the textbook activities were showing minimal issues within the coding lines if the code was not properly formulated. 


Programming Language Differences


    The differences between the coding language C and C++ are that C++ is known to be an object-oriented language whereas C is procedural. Procedural programming is essentially creating a list of instructions that the computer will run in a step-by-step format. The main differences between C and Python languages are that a compiler is needed to compile the code for C and Python requires an interpreter, and again Python is an object-oriented language where C is not. The difference between Java and JavaScript is that Java is a programming language while JavaScript functions as a scripting language. Java is what programmers use in order to develop applications where JavaScript is what is ran through web-based browsers, and these languages require different plug-ins to function properly. Between Python and JavaScript, these would best be used for scripting and web-based browser development. The C language is best used when developing applications, game developments, and other applications that require calculations. The Java language would be best utilized for mobile developments, considering the Android operating system is Java based, thus, making mobile applications best suited under the Java language.

    The programming language I found to be the easiest to use so far, would have to be Python. Python seems to be very straightforward and reduces the amount of code having to be used. I also believe that Python is probably the most popular programming language to date, the reason I believe this has the ability to support multiple different styles of writing code, however, due to the consistent usage of website developments, I would say that JavaScript is the number one programming language used in the world.