Wednesday, April 27, 2022

Major Project Topic/ Web APP Development



Web Application Development/ WAD

Internet it is an interactive place, with videos, imagines, audio and numerous other apps that are present everywhere in our life. In an instant we have access to travel, shopping, online courses. Almost every aspect of our life interacts with Web world. In beginning Internet was a slow and boring place with limitations that allow users only to read without being able to interact with the content. When Web applications appeared changed the way Web World worked. They allowed developers to create a superior Web content and interface. Communication and speed between developer and client improved making Internet an accessible and pleasant world. This will be a tutorial which will offer a general understanding of Web application development the mile Stone that changed world Web entirely.

  • Understanding of Web application
  • Steps to app development
  • Web Application Structure
  • Programming Languages & Tools

Web App development


Web applications development is the concept of designing, building, testing and deploying a Web-based application. Web applications are interactive pages that enable user input and run on a Web server. They play a significant role in Internet development and improve browser quality. What is particular for Web applications is that they are stored on the internet and can be accessed via a browser. They are also secure and easy to backup, Popular examples of Web application are Gmail, Office 365, Google Docs, Netflix, Evernote.
 
Steps to app development

We will analyze some of the steps often required when an app is developed. Initially we will need a Web App idea, an ideal place to start can be an app that will solve a common problem. In Web app development, identifying the problem that we want to solve is one of the steps in building an app. When we realized what we want to build we must gather Intel about our customers. This process is also referred as " Research your target market". This will allow developers to establish a plan and to have a vision about what the app will do, how will look and act.

Next step will be a prototype attempt. It will behave similar with our project however it will have less features and functions. Wire-frames are frequently associated with solid representation of Web app design. When a prototype is ready developers research for users feedback and improve the app until both developer and users are satisfied. When the feedback's are positive the actual building of the app starts. We have to see what types of data we have to store in our database and data types. Then build the database. Now we are ready to write the codes and build the logic of our app. Frontend side and Backend side can be executed individually, if we have a complex application, or together if our project is a simple one. While building the app another process started simultaneously and it has a critical role for a superior customer service. The app should be tested rigorously in aspects related to performance, durability, security, compatibility. When the testing result are positive the app is ready to be deployed however before that it will need a host . Hosting represents the process of running an Web app on a server.


Web Application Structure

To continue we will analyze the architecture of a web application. They define the logic on how client side will interact with server side. Web app architecture should focus on areas as :client point of view, developers point of view, business aspect and how well the solution solves problems, consistence and coherence of the app. Client side of an application also referred as Front-end development focuses on building User Interface/User Experience being directly responsible for the app appearance. Good examples are layouts and dashboards. Common technologies used for building the front-end of the applications are Java, Html and CSS. The technologies allow developers to build interactive and appealing interfaces for clients. On the opposite side of Client interface we have the server interface or the back-end of the web application. This consist of server- browser work flow, components of the structure, communication and databases. Back end side of an app represent the back bone of the application and it is often implemented with the help of technologies like : Python, C#, PHPO and Java programming languages. The server side it is the most important and challenging part of an web app structure.

Programming Languages & Tools

In order to create a Web application , developers must use tools to help them build the app. Front-end developers have a privilege when building up as they get the rewards from users experience when interacting with the app. Tools used to create client side could be: web.com, Chrome devtools, codepen, sketch, Visual Studio Code. Despite the fact that back-end developers do not share the same satisfaction coming from client experiences as front end developers does not mean that their purpose is insignificant. In fact they put in the hard work to make sure that a website actually works. They can accomplish this with the help of the following tools: Apache, Ruby, Laravel, Stack overflow.

The world as we know it, has an alert pace of moving an I don't expect it to slow down in the future. One popular fact is that applications, technology, gadgets and internet are present in almost every area of our society. It has become our new normal regardless of our opinions and in order to move with the world we must adapt. Perhaps this post will make some light in the world of Web Application development for you and for me.

References

Amjo, 2019. [online] Available at: <https://www.dotnetlanguages.net/web-languages-what-language-are-most-commonly-used-for-web-development/> [Accessed 27 April 2022].

Brewster, C., 2022. Web App Development in 2022: Everything You Need to Know. [online] Trio.dev. Available at: <https://trio.dev/blog/web-app-development> [Accessed 27 April 2022].

Johnston, J., 2020. A beginners guide to web application development (2021). [online] Budibase.com. Available at: <https://budibase.com/blog/web-application-development/> [Accessed 27 April 2022].


Computer Ethics

 

                                                                        (Illustration by Nan Lee)



Computer Ethics



The Ten Commandments of Computer Ethics were created in 1992 by the Computer Ethics Institute. The commandments were introduced in the paper "In Pursuit of a Ten commandments for Computer Ethics" by Ramon C. Barquin as means to create "a set of standards to guide and instruct people in ethical use of computers"(Academic, 2022). Ethics are present everywhere around us, at different ages in almost every domain currently existing. In this post we will examine commandment nine of the computers science ethics and the reason why ethics are crucial .

Commandment Nine

Thou shalt think about the social consequences of the program you write or the system you design: Looking at the social consequences that a program can have, describes a broader perspective of looking at technology. A computer software on release, reaches millions. Software like video games and animations or educational software can have a social impact on their users. When working on animation films or designing video games, for example, it is the programmer's responsibility to understand his target audience/users and the effect it may have on them. For example, a computer game for kids should not have content that can influence them negatively. Similarly, writing malicious software is ethically wrong. A software developer/development firm should consider the influence their code can have on the society at large. (Thompson, 2021)

Children, video content and YouTube platform

To continue, we will analyze an aspect of bad ethics practice in one of the most famous app: YouTube. The main consumers of YouTube content are children and toddlers. YouTube video library has a massive inventory of videos designated for our little ones. A well known video among others is "Family Finger" (https://www.youtube.com/watch?v=YJyNoFkud6g ) with a shocking 1,280,383,275 views and it comes from a channel with 10.7 million subscribers. There are millions of such videos with a list that is almost endless. The disturbing facts about these videos is that they are an addicted content with creators using different techniques to make things even worse. Such techniques can include "catchy" songs, colorful videos and latest the assembly of collections of such videos that keep children starring at screens for hours and hours all day long. Such videos are uploaded from various random accounts and they are being created by professionals or amateurs or they are automatically assembled by software. To make things even worse YouTube has a build in feature called "Auto-play" which creates this endless loop of play content based on algorithms that use customer feedback to recommend similar content. Just after few steps of auto-play we will notice that videos content will change drastically because a software can not have the same understanding of similarity and morals as a human mind. (Bridle, 2019)

"Algorithmically organized mega platforms like YouTube may host quality content but are expert at incentivizing the creation and consumption of click-bait — thanks to ad-targeting business models that are fed by recommendation systems which monitor user inputs and actions to identify the most clickable and thus most addictive stuff to keep feeding them (Lomas, 2017). Parents had reported that their children start to be scared of dark, developed a phobia for their favorite cartoons characters and speech delay. When this problem had been raised, YouTube answer was that they will deploy better software into an attempt to moderate content. The company come up with a solution stating that they will create a version of their App reserved for children and the content will be entirely managed by humans 24 hours a day instead of algorithms. "YouTube's Community Guidelines state that the company works 24 hours a day, seven days a week to find and remove content that violates its ethical standards. Yet the same poor-taste, non-age-restricted videos appear there week after week, month after month"(O'Reilly, 2010).

To that degree as children are concerned, the message being generated via YouTube’s platform is frequently nonsensical for human mind, completely chaotic and random. We can understand that Ethics is an aspect of our lives that require more attention especially into the field of technology. Online information travel faster than before and has a wide range of accessibility to millions of people. With such wide range of customers the effects of bad ethics could be devastating for our society.




References

Academic, 2022. Ten Commandments of Computer Ethics. [online] Academic Dictionaries and Encyclopedias. Available at: <https://en-academic.com/dic.nsf/enwiki/2843552> [Accessed 27 April 2022].

Bridle, J., 2019. [online] Youtube.com. Available at: <https://www.youtube.com/watch?v=v9EKV2nSU8w&t=865s> [Accessed 27 April 2022].

Lomas, N., 2017. TechCrunch is part of the Yahoo family of brands. [online] Techcrunch.com. Available at: <https://techcrunch.com/2017/11/12/i-watched-1000-hours-of-youtube-kids-content-and-this-is-what-happened/?guccounter=1&guce_referrer=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8&guce_referrer_sig=AQAAAEarVGPptNVYpNNLt3YlOchXC-N2tho2wDiZxPzRY2IQ__Ouo2XXdq2Ry-yipYRtuxhK0sZ8POlRnHLOf52WWaj7CsHo55ve5qb3sNtx7w1_pBxd3MO-6kwKjmr3HzatjToMSpnhJqWGP-wYXh4naIOONMc9QydobvXIN8diBmVy> [Accessed 27 April 2022].

O'Reilly, D., 2010. The Internet and the death of ethics. [online] CNET. Available at: <https://www.cnet.com/tech/services-and-software/the-internet-and-the-death-of-ethics/> [Accessed 27 April 2022].

Thomson, 2001. Redirecting. [online] Doi.org. Available at: <https://doi.org/10.1016/S0168-1699(00)00158-7> [Accessed 28 April 2022].

Thursday, April 14, 2022

Initial idea 2

 Database and DBMS

A database is an organized collection of structured information, or data, typically stored electronically into a computer system. A database is usually controlled by a database management system or DBMS. Together, the data and DBMS, along with the applications that are associated with them, are referred to as a database system, often shortened to just database.

Data within the most common types of databases in operation today is typically modeled in rows and columns in a series of tables to make processing and data querying efficient. The data can then be easily accessed, managed, modified, updated, controlled and organized. Most databases use structured query language (SQL) for writing and querying data.(Oracle, 2022)

We will encounter a significant amount of database types. Organizations and companies must chose a type of database specific for their company and it will be defined on how they intent to use the database. Among most common  data base types we encounter: 

  • Cloud database: these types of databases contain an impressive amount of data and they are being stored onto a cloud system or platform.
  • Relational database: here data are being stored and organized under table systems with  rows and columns. This type of database offers the most efficient way to aces information.
  • Open source database : the source code for this database is an open source. Examples of open source database can be SQL or NoSql (IBM, 2019).
In order to maintain and monitor a database system programmers use database languages. With the help of  database languages, developers can perform  numerous important task to ensure correct functionality of database management systems, control the access to data.
                                                          
Database Management Systems are critical for business and organization. One of the reason is that DBMS offer an efficient method to store, sort and access data. Data management performs tasks automatically in a short time. Companies that use data management have an advantage against competition being often associated with success.  Business sector is not the only one to benefit from data management. Numerous positive aspects can be seen every day in Healthcare and Security sectors also (Library Guides, 2020).


                                      (TECHTARGET, 2021)



References


Oracle, 2022. What is a database?. [online] Oracle.com. Available at: <https://www.oracle.com/uk/database/what-is-database/#:~:text=A%20database%20is%20an%20organized,database%20management%20system%20(DBMS).> [Accessed 14 April 2022].

IBM, 2019. relational-databases. [online] Ibm.com. Available at: <https://www.ibm.com/cloud/learn/relational-databases> [Accessed 28 April 2022].

TECHTARGET, 2021. What is a DBMS? Database Management System Definition. [online] SearchSQLServer. Available at: <https://searchsqlserver.techtarget.com/definition/database-management-system> [Accessed 14 April 2022].

Library Guides, 2020. Library Guides: Public Opinion Research: Databases. [online] Libguides.du.edu. Available at: <https://libguides.du.edu/PublicOpinion> [Accessed 4 May 2022].

Initial idea 1

Software Development

It can be defined as a set of computer science activities dedicated to the process of creating, designing, deploying and supporting software. Software itself is a set of instructions or programs that tell a computer what to do. It is independent of hardware and makes computers programmable. (IBM)

Mark Andreessen, one of the pioneers of the net, wrote into a journal for Wall Street back in 2011 saying that " Software is eating the world". What the author means by that is that software is slowly infiltrating and its being used in areas of our life where it had not been used before. Right now, software is present everywhere in our life. It changed the world as we know it, forever. For instance, on our phone we have software that allow us to do almost everything; we have access to news, media, restaurants, shopping, travelling. It is almost unbelievable that we have access on everything we want just from our tiny devices. This is how much powerful software became lately.

Software is not just in our personal life. In business we seen an explosion of different software applications and this changed the nature on how business work. For example, marketing sector. A few years back Marketing and IT department into a company where almost at opposite ends at least metaphorical speaking. In present the Marketing and software domains have a massive amount of overlap (Scott Brinker, 2020).

To have a better understanding on how much software is involved in present in business we can study the next graph (Vailshery, Statista 2022). Here we have a graph to help us observe how software it is being used across business and it's increase for a certain amount of years.

(Vailshery, 2022)


 In my opinion mankind reached an impressive level of comfort. Software allowed us to perform tasks with a minimum of effort, we have machines and tools that do intensive work for us, it helped us to improve security and safety. In conclusion we can assume that as we move to a new age of automation our dependency on software development continues to increase and software's importance is more visible than ever.



References

Andreessen, M., 2011. Why Software Is Eating The World. [online] WSJ. Available at: <https://www.wsj.com/articles/SB10001424053111903480904576512250915629460> [Accessed 28 April 2022].

Brinker, S., 2019. [online] Youtube.com. Available at: <https://www.youtube.com/watch?v=c2sNTAaILdA&t=41s> [Accessed 14 April 2022].

IBM, 2022. What is software development? | IBM. [online] Ibm.com. Available at: <https://www.ibm.com/topics/software-development#:~:text=Software%20development%20refers%20to%20a,hardware%20and%20makes%20computers%20programmable.> [Accessed 14 April 2022].

Vailshery, 2022. Average number of SaaS apps used worldwide 2021 | Statista. [online] Statista. Available at: <https://www.statista.com/statistics/1233538/average-number-saas-apps-yearly/> [Accessed 14 April 2022].

Wednesday, April 13, 2022

Software/Hardware Skills

 


·      

·      Today we will be talking about software and hardware skills. This will be an interesting topic because in the recent years I was not into a position to interact with technology world more than we do on a daily basis. For the Hardware aspect I have a general idea of computing system, maintenance and computing building. I occasionally conducted maintenance jobs on my laptop, I replaced different parts of the computer and laptop that ceased working.

I wish I could engage more into this area and I believe that DMU will offer this opportunity.

In past years I used day to day software like Word, Power Point however recently I played a game created by INNO Games called Tribal Wars. 

TW is an online browser game with a massive complexity. It requires a considerable amount of time, planning and basic IT knowledge. In this game I had the opportunity to use and modify existing Java scrips that facilitate in game experience. The game offers numerous external tools like Attack and Mass Attack planner, Fake script generator tools to help us create maps. Here is where I discovered Dynamic groups. These groups introduce or remove elements based on some instructions that had been given. Here I discovered   that scripts need a hosting server or site. The game somehow allow us to change certain qualities inside the game. It feels like we modify and upgraded the game while playing. Here also I discovered for the first time the auto programs or bots and I had seen the impact of what they can do. I will show some examples and images underneath so we can have a better view of all of this:

Script example:  



To continue I added some screenshots so we can see how these scripts and tools allow us to manipulate in-game experience





All these together sparked an interest into coding and I start using CodeAcademy to improve my knowledge  in this particular area. Recently I discovered an application called Ethical Hacking University which offers a massive amount of information regarding malware, hacking, how to protect yourself against hacking. It debates past attacks and explains why the attack happened , what are the vulnerabilities and it offers solution to prevent this from happening. Also after every topic finished you receive a certification which shows the area that we gained information. 



Tuesday, April 12, 2022

Introductions



In the last years I wasn't satisfied with my job. I felt like I am stuck, no development opportunities. Financial status was another aspect that was concerning. It was clear that I had to do something. After a year of research and experiences I decided to continue my education into university. I finished a college of Math-IT and my job has nothing similar with that. It felt like it was wasted. This made me consider to return to IT. After I decided what I would like to do I had to find a university. One of my siblings and a few friends are students at DMU, they told me that university offers considerable support and this helped me decide joining DMU.

I had positive feedback about the university. Another important aspect about DMU is that the campus is close to home. At DMU I decided to follow Computer Science BSc (Hons) as a future carrier. This course it is structured under form of Blocks which allows students to focus on a topic at a time. The course covers a wide range of aspects from Computer science for example in first year we will gain information about Database Design, we will be looking at fundamental concepts of Computer science, we will explore Programming and we will have the chance to find out about Operating systems and network. Second year of the course will offer information about Data structures, algorithms and Web application development among many others.

The last year has an optional module as a development project one of the optional modules being Advanced Web development. After graduation I hope I have the knowledge and skills needed to start a carrier as a Front-End developer. In the future I would like to have a flexible job that will allow me to work while I travel and visit the world.

Thursday, April 7, 2022

Welcome

 I would like to take this opportunity to say hello to all of you and I hope that this post finds you all happy and healthy. Since you are here I will try to make known to you the person behind the screen and the engine of this blog. 

My name is Daniel Doca, age of 31 a lucky dad of a two and three years old who are currently the fuel in my life. Before I own an PC of my own, I followed an IT course at age of ten. Three years later on my 13th birthday my father gifted me a Pc and that was the start of it. In beginning, my Pc had been used for basic stuff like Paint, Word, simple games, Winamp and movies occasionally because the internet connection into my parents’ house was missing. This seems to be like something disappointing but in fact the missing of an internet connection gave me the opportunity to learn more about the hardware side of the IT since I couldn't access the online platform.

For few years it had been like this and my most focus was on cleaning the pc and try to upgrade it with different parts I could find on friends and family friends. The software aspect was resumed to a basic virus scan, windows install and a bit of defragmentation here and there. Later I joined a Math and IT high school and from there everything changed. I start to focus more into software part, learned about LAN connection (done one in my home in the following weeks after learning at school), I started studying C++, had my first experience with coding in high school and it was truly mind blowing. I realized that despite the fact that I wasn't present when coding had been showed to us somehow it felt quite easy and natural and this sparked an interest for IT domain that stays with me to this day.

However, after high school, life made in some way that I lost touch with IT and education for a few years. When I had my children, I realized that the jobs I used to do for a living where quite time consuming and pay wasn't exceptional and I find myself in front of a huge decision: stay where I was or try to better myself. It hurt very bad that I couldn't afford the life and time I wanted for my family and I decided to join DMU University where I believe I will get all the skills and knowledge that I need to change my life in something better. As you can see, sometimes, live have different plans for us however in the end we have to be resilient and we have to follow our road.


Initial Project Plan( Gantt Chart Update)