Even though we were on vacations I made a lot of progress. From the Cooper API now we can:
- Use another invitation flow: there is an endpoint where we can find the pools that we are invited to, an endpoint to accept invitations, and another one to decline invitations, this way we can make sure that only those who are invited join and that you can also decline invitations.
- Disabled sendgrid, we will delete the code that send emails, everything will be done in the app.
- Friend requests, now we can have friends, send, accept and decline friend requests.
- Login with facebook.
- I put a server on Digital Ocean, started using travis for continous integration, everytime we push to the server repository, the app is built and the tests are run, if they pass we can merge, when we create a pull request to master and merge it, the code is deployed automatically to the Digital Ocean Server and restarted.
- Now there is an https version of the server on port 3443, altough the http server is still running on 3000, this was because facebook only allows login from an https server. We may need to get a real certificate (I created and signed one by myself and the browser shows a warning).
Validation and verification are two different concepts in software engineering, each one can be abbreviated to the questions: are we building the right system? and are we building the system right?
Validation is concerned with checking that the software actually satisfies the customer’s needs and its objective is to demostrate that the product fulfills its intended use when placed in its intended enviroment, whereas verification is the process which checks if the software is functioning correctly and its objective is to ensure that work products meet their specified requirements.
User Interface Design focuses on anticipating what users might need to do and ensuring that the interface has elements that are easy to access, understand and use to facilitate those actions.
The reaction or the experience of the user when ising software doesn’t only depend on the functionality and the aesthetically design, what more influences the user to feel comfortable or not is the user interface.
Gestalt Design Principles
Similarity: occurs when objects look similar to one another.
Continuation: occurs when the eye is compelled to move through one object and continue to another object.
Closure: occurs when an object is incomplete or a space is not completely enclosed.
Proximity: occurs when elements are placed close together.
Figure and Ground: The eye differentiates an object from its surrounding area. a form, silhouette or shape is naturally perceived as figure, while the surrounding area is perceived as ground.
Best practices for User Interface Design
- Keep the interface simple
- Create consistency and use common UI elements
- Be puposeful in page layout
- Strategically use color and texture
- Use typography to create hierarchy and clarity
- Make sure the system communucates what’s happening
- Think about the defaults