Digi Minds: Implementation & UI Design
12-06-2017
Activity Monitoring
Coding Conventions:
What?
Coding conventions are a set of guidelines for a specific programming language that recommend programming style, practices, and methods for each aspect of a program written in that language. These conventions usually cover file organization, indentation, comments declaration,statements,whitespace, namingconventions, programming,practices,programming principles, programming rules of thumb, architectural best practices, etc.
Why?
Code conventions are important to programmers for a number of reasons:
- 80% of the lifetime cost of a piece of software goes to maintenance.
- Hardly any software is maintained for its whole life by the original author.
- Code conventions improve the readability of the software, allowing engineers to understand new code more quickly and thoroughly.
- If you ship your source code as a product, you need to make sure it is as well packaged and clean as any other product you create.
Coding standards applied: Java and XML conventions:
By using standard Java naming conventions, you make your code easier to read for yourself and for other programmers. Readability of Java program is very important. It indicates that less time is spent to figure out what the code does.
Name |
Convention |
Class name |
should start with uppercase letter and be a noun e.g. String, Colour, Button, System, Thread etc. |
Interface name |
should start with uppercase letter and be an adjective e.g. Runnable, Remote, Action Listener etc. |
Method name |
should start with lowercase letter and be a verb e.g. actionPerformed(), main(), print(), println() etc. |
Variable name |
should start with lowercase letter e.g. firstName, orderNumber etc. |
Package name |
should be in lowercase letter e.g. java, lang, sql, util etc. |
Constants name |
should be in uppercase letter. e.g. RED, YELLOW, MAX_PRIORITY etc. |
Follow Field Naming Conventions
- Non-public, non-static field names start with m.
- Static field names start with s.
- Other fields start with a lower case letter.
- Public static final fields (constants) are ALL_CAPS_WITH_UNDERSCORES.
For example:
public class MyClass {
public static final int SOME_CONSTANT = 42;
public int publicField;
private static MyClass sSingleton;
int mPackagePrivate;
private int mPrivate;
protected int mProtected;
}
Camel Case in java naming conventions
Java follows camel case syntax for naming the class, interface, method and variable.
If name is combined with two words, second word will start with uppercase letter always e.g. actionPerformed(), firstName, ActionEvent, ActionListener etc.
Context of Use:
Here we have developed two different persons and specified their particular character and activities. We made this in order to understand the processing and application of the app developed. We decided first character to be a student and the other to be a sportsman. This will help in giving two set of varied activities.
- Sheriff Woody(Student)
- Lionel Stevie (Football Player)
Sheriff Woody
Fictional Character Name: Sheriff Woody
Gender: Male
Major Responsibilities: Student at Carnegie Mellon University, Pittsburgh, USA
Demographics: He is 21 Years old and pursues Masters at Carnegie Mellon University. His Ethnicity is ‘American’ and he is single.
Qualification: He has completed Bachelors in the same university, the previous year.
Knowledge: He has keen interest in Designing field. He has sound knowledge in various design software’s like Auto-Cad, Solid works, Catia etc.
Professional Experience: He is working as a Freelancer in an online website. He is a software designer. (Part-Time)
Goals & Tasks: Sheriff Woody is attending many lectures in the university and at the same time, he also spends time in designing online. He wants to prioritize the work between his part- time work and studies. So, this App would help him to sort out his problem and help him to manage time efficiently. He would be able to track his activities accordingly.
Environment of the user: Designer and also listens to music at free time.
Lionel Stevie
Fictional Character Name: Lionel Stevie
Gender: Male
Major Responsibilities: Argentine professional footballer who plays as a forward for Spanish club FC Barcelona and the Argentina national team.
Demographics: He is 29 Years old often, his Ethnicity is ‘Argentinian’ and he is married. He has two sons
Qualification: Lionel Stevie started playing football at a very early age in his hometown’s Newell’s Old Boys. From the age of 11, he suffered from a hormone deficiency and as Lionel’s parents were unable to pay for the treatment in Argentina, they decided to move to Barcelona, Spain.
Knowledge: He is often considered the best player in the world and regarded by many as the greatest of all time. He has keen interest in photography. He loves to move around many places and capture Natural Sceneries.
Professional Experience: He has won many awards like FIFA World Cup Golden Ball, FIFA World Player of the Year, European Golden Shoe etc.
Goals & Tasks: Lionel Stevie is attending many matches and at the same time, he would also like to spend time in his passion of photography. He wants to prioritize the work between his profession and passion. He wants to divide time equally for his matches, training and passion. So, this App would help him to sort out his problem and help him to manage time efficiently. He would be able to track his activities accordingly.
Environment of the user: Football player and also loves to take photos.
Design Solution:
The design process involves the basic process of paper prototype followed by storyboards and then finally a colored interface of the application.
Paper prototype:
In human–computer interaction, paper prototyping is a widely used method in the user-centered design process, a process that helps developers to create software that meets the user's expectations and needs—in this case, especially for designing and testing user interfaces. It is throwaway prototyping and involves creating rough, even hand-sketched, drawings of an interface to use as prototypes, or models, of a design. While paper prototyping seems simple, this method of usability testing can provide a great deal of useful feedback which will result in the design of better products.
The paper prototype displays the home screen of the application with all the icons displayed on to it and also the settings menu is also displayed in the prototyping.
Storyboard:
A storyboard is a graphic Organizer in the form of illustrations or images displayed in sequence for the purpose of pre-visualizing a motion picture, animation, motion graphic or interactive media sequence. This gives a clear picture of the application process, features and advantage of the application is clearly understood.
Here the storyboard for the two user stories are shown.
Colored Interface:
This is the basic idea of how does the application looks like. While design every user story is developed and implemented concurrently.
Summary of Changes:
An option to filter the activities based on categories was added as a requirement at the later stage of development as requested and discussed with the user. So, now the user is also able to filter and analyze the time spent on a particular domain.