Monday, July 13, 2015

Introduction

This blog was created in order to provide the basic knowledge about professional issues we faced when we are implementing the project "Smart Finder". The motivation for this project was the subject SCS3115 – Professional Practice. There we were ask to address social issues. We got advised from the Dr. Rasika, that doing the project like "Smart Finder" will help people than normal web site. The aim of implementing a project like "Smart Finder" which address social issue is to, learn how to apply "Code of Conduct"(Software Engineering Code of Ethics and Professional Practice).

This project is proposed as 3 persons project. As we were informed, each person have to create a blog, mentioning the professional issues we met, on the process of implementing this software product named "Smart Finder". 

 "Smart Finder" is an android app. When we talk about the "Smart Finder", we have to go a practical scenario. Let's assume that you went to Nuwara Eliya for trip, suddenly you got idea that "what if I can take some fresh carrot with me, when I'm going home?". But the problem is how to find out a farmer who interested in selling his fresh products on the field( Assumed considering that you don't know about the area. ). Here is the place  "Smart Finder" comes to play.


Blogger's name : G.S.V.M. Ishan
Index no: 12000604
Registration no: 2012CS060

Other team members

Name : D.T.S.P. Madola
Index no: 12000833
Registration no: 2012CS083

Name : W.T.R. Epa
Index no: 12020188
Registration no: 2012/IS/018

Friday, July 10, 2015

Principal 1: PUBLIC

1.01. Accept full responsibility for their own work.

 As the Software development team we take the full responsible for any security vulnerabilities or breaches happen due to software bugs or through the software. Since this software is provide under Apache License version 2.0 ( click here to read ), we do not take responsible for any damage caused while using the mobile application, installing or removing the app. 

We should not use Nude picture or videos, we should not use our application to encourage terrorism, Racism or other violation activities. We should responsible the details of the people who sign-up and use our application. We should not expose their private details to the public without having the permission of the particular person.


We used below 

web technologies
  • HTML5
  • CSS3
  • JavaScript
Frameworks
Version Control
to implement "Smart Finder".


1.03. Approve software only if they have a well-founded belief that it is safe, meets specifications, passes appropriate tests, and does not diminish quality of life, diminish privacy or harm the environment. The ultimate effect of the work should be to the public good.

We tested "Smart Finder" using different type of testings. First we test the software manually then we used the Selenium ide ( http://www.seleniumhq.org/projects/ide/ ) to test the software in automated testing. We corrected the bugs we found while the process.



1.04. Disclose to appropriate persons or authorities any actual or potential danger to the user, the public, or the environment, that they reasonably believe to be associated with software or related documents.


"Smart Finder" does not require any login. Therefor you don't need to fear about login information leakage. You can download it and use it. Software updates (Farmer information updates) provide only done by the developer team. Therefor, there is minimal potential danger for users when using this software. Also no ads provides through the "Smart Finder". Therefor no risk of malicious software come through ads.


1.07. Consider issues of physical disabilities, allocation of resources, economic disadvantage and other factors that can diminish access to the benefits of software.



"Smart Finder" is an android based app. Since there is no special facility provided for blind personalities, they will unable to access and use this app. Since this is an android app, people will need to have android based smart phone to use the service of this app. Therefor people who have feature phones will not able use this service. Also the most of software UIs are written in English language, there are few UIs with sinhala interfaces, therefor people need to have sufficient English knowledge to use this application. Since this software provide nuder apache license version 2.0, there will be zero cost charge for this application from the users.

Thursday, July 9, 2015

Principal 2: CLIENT AND EMPLOYER

2.01. Provide service in their areas of competence, being honest and forthright about any limitations of their experience and education.


Currently we are studying for Bachelor of Science in Computer Science in University of Colombo School of Computing. Although we are undergraduates, we specialized in the currently used technologies. Since the app is general usage without login, no expert database skills or security skills is required.



2.02. Not knowingly use software that is obtained or retained either illegally or unethically.


We have used PhoneGap mobile development framework which is licensed under the apache license version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) and jQuery mobile which is licensed under the MIT license (http://opensource.org/licenses/MIT). Since there is no impact between these licenses and no restriction provide by them, market our product or to issue them free, we haven't violate any rules.


2.04. Ensure that any document upon which they rely has been approved, when required, by someone authorized to approve it.


Since we publish farmers contact details (Contact No, Address)through the App, for good deeds, it is necessary to have disclaimer notice about the consequences that could occur when details in the wrong hands. So every media that we collect the information, we put disclaimer notice.

Saturday, July 4, 2015

Principal 3: PRODUCT


3.02. Ensure proper and achievable goals and objectives for any project on which they work or propose.

Under the product category of code conduct in software development, a very important point is ensuring the proper and achievable goals and objectives. Although our application would make large social impact, the technological implementation was not difficult for us, since we used familiar technologies. Our objective was to Implement solution to address "Buyers and farmers distance and value addition of middleman".  We were able to complete the project, within the given time frame.

3.03. Identify, define and address ethical, economic, cultural, legal and environmental issues related to work projects.

We detected few issues related this project. One of main issues can be occur is privacy issue. Since we publish these contact information publicly, there may occur privacy issues such as unnecessary calls, spams, or unwanted advertisement promotions etc. The Other big issue is pressure would come from middleman. Since this is direct solution to contact farmer and buyer and cut the profit loss from both buyer and farmers sides, this would cause to economical profit lost for the middleman. The major issue will be the treats would come from them. 

3.04. Ensure that they are qualified for any project on which they work or propose to work by an appropriate combination of education and training, and experience.

Our group consist of two third year Computer science undergraduates  and one Information system Undergraduates. Since we had subjects such as programming III, Advanced web technologies, We have good experiences on required technologies. Also three of us have done the second year group project on different groups using web and mobile technologies.
So we ensure that we are qualify as anybody would be.

3.07. Strive to fully understand the specifications for software on which they work.

Since this is an actual social phenomena, therefor we had  to conduct a research about the problem. According to travelers and farmers ideas we derived this solution would be proper solution for current situation.  

3.14. Maintain the integrity of data, being sensitive to outdated or flawed occurrences.

Since this is version 1.0, we haven't detected any bugs or failures of the apps (here apps because this app is for different platform Android/windows mobile) while in the testing process. There may be errors due to corrupt downloads. We are planning to publish SHA1 and MD5 hash values of the apps, therefore users can check whether they got clean product or not. Since this app creation process happens through the phonegap, we can't configure compatibility with all versions of Android and Windows mobile. There will be issues like that we have to address, when Complains arise. 

Most probably we don't expect much bug issues from technological implementation, because we uses HTML5, CSS3 and JavaScript. Since Every platform support these technologies, there won't be any issue suce as, deprecated element usage or unsupported implementations.   We don't have any intention to provide updates for the current software when bugs arise. Instead we are planning to release updatedd the versions with addressing the issues, we detected or got complaining. 

Thursday, July 2, 2015

Principal 4: JUDGMENT

4.04. Not engage in deceptive financial practices such as bribery, double billing, or other improper financial practices.

Our project is non-profitable project and it has no any deceptive financial practice or any hidden advertisements attached. People get the profit from this software solely be the persons you used it, or who have publish their details in our mobile apps. Although a large number of people able get advantages from this software, our sole purpose for this is charity and a vision of "Better world".


4.05. Disclose to all concerned parties those conflicts of interest that cannot reasonably be avoided or escaped.

The main considerable conflict could happen is publishing personal contact information and they goes to wrong hands. Before we add the contact details in to our apps, we get the confirmation from farmers which data should be published. Also we request photo of both sides of national identification card of the farmer. We assume here due to technical advance current society have, sending photos won't be any problem for the farmers.

Tuesday, June 16, 2015

Principal 5: MANAGEMENT

5.01 Ensure good management for any project on which they work, including effective procedures for promotion of quality and reduction of risk.

As Work break down we used following methodology. Since I and D.T.S.P. Madola are computer science undergraduates, we took the responsible for creating the proposed application. Since W.T.R. Epa is a information system undergraduate she took the responsible for requirement gathering. After gathering the Requirements we got together and discussed about how to improve the application. When we were building the application we created repository in github (click here) for version controlling purposes. 


5.02. Ensure that software engineers are informed of standards before being held to them.

As software engineers we were well aware of what we have to create. Since we have no actual client we could not use any agile methodologies for the project. So we use the waterfall model as our software development methodology. 

5.08. Not unjustly prevent someone from taking a position for which that person is suitably qualified.

When we considered of sharing work load we took the part that we are have potential with. No body forcefully others part by mentioning that it was easy or else. We had our respect to each other and we only had the professional affairs only. 

Friday, June 12, 2015

Principal 6: PROFESSION

6.04. Support, as members of a profession, other software engineers striving to follow this Code.

We were about to start our career life and some point in our life we will hold the title "Software engineer". Therefor we should have the right to bear that title. So we should value the software code of conduct and follow it as best practice to gain out the best out of us. So this was a great opportunity for us to practice "software engineer code of conduct". 

6.10. Avoid associations with businesses and organizations which are in conflict with this code.

We have used software, framework and technologies which have no license conflict with each others. Since we have published our code in github, it's inherently became open source code. We decided to publish this software under Apache license version 2.0 so any one interested can use the code as they will.