Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review Assignment 1 #2

Open
dunghuynh1990 opened this issue Oct 22, 2016 · 1 comment
Open

Review Assignment 1 #2

dunghuynh1990 opened this issue Oct 22, 2016 · 1 comment

Comments

@dunghuynh1990
Copy link

👍 Nice work. The point of this homework was to explore a simple example of a full MVC application with a RESTful API. You learned about UITableViews, custom UITableViewCells, navigation from a UITableView, and basic networking.

Grading Summary:

  • Functionality: Good
  • Code Style: Excellent
  • Visual Design:Good
  • Usability: Good

Overall: Good

Detailed Notes

  • Great clean code. Good job utilizing the best parts from the style guide:

  • In future homework, we will cover how to implement models that can deserialize from an NSDictionary. SwiftyJSON is a useful project for making it easier to deserialize the JSON response. For a more robust solution, you can also investigate using an ORM like Pistachio.

  • Your custom Movie cell should have a property called movie. In the custom setter of movie, you should configure the various labels and images. This decouples your custom cells from the table view controllers.

  • Nice work loading the images asynchronously.

  • Nice work setting up the proper modes for the images so that they are not stretched.

  • Your error message should be displayed if a network request fails and hidden again if it succeeds. You did implement this feature but it doesn't appear when connection fails.

  • Nice job implementing a UIScrollView. UIScrollView is the parent class of UITableView.

  • Keep alignment in mind when designing a mobile app. Alignment makes a design more neat and organized so that it's easier to read or use. This means that readers will find what they want without frustration For more information about grid theory, you can read the article here.

    To use alignment properly, imagine there are evenly-spaced vertical lines running through the entire length of the design. Both the left and right edges of every single item should fall along these lines, which designers call a grid.

    You want to align as many items as possible along the same grid lines. Instead of looking at layout like the game Tetris, where the goal is to fill every available space, try to arrange elements in neat columns.

BOTH
alignment

EXTRA

  • I suggest you use MBProgressHUD in initial load or when refresh the view. This is simpler and more elegant rather than show a ALLoadingView. This is just a matter of UX from my opinion.
  • I recommend you make the progress view hide after a few seconds when connection is offline
  • When connection is online, I can not refresh the current view. I have to change to another view
    (table -> collection and vice versa) in order to refresh the view.
  • If connection is offline and I tap to view Movie Detail. I got a blank view. Tips: You can check connection before let users view the detail
    simulator screen shot oct 22 2016 11 47 52 pm

Great job dedicating enough time to do the homework. You learned a lot! Keep up the good work.

@haodt
Copy link
Owner

haodt commented Oct 22, 2016

thanks for your suggestions !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants