You should have the skills you need to complete this app after completing courses:
- Developing Android Apps
- Advanced Android App Development
- Material Design for Android Developers
The app is currently functional, and work in most cases for most users. Your job will be to take the user feedback in the UI Review node, and implement changes that will improve the UI and make it conform to Material Design.
“This app is starting to shape up but it feels a bit off in quite a few places. I can't put finger on it but it feels odd.”
“Is the text supposed to be so wonky and unreadable? It is not accessible to those of us without perfect vision."
“The color scheme is really sad and I shouldn't feel sad.”
Spend time exploring the current state of the app, looking for ways it could be improved. The app will need multiple improvements. Be sure to look specifically at issues called out in the UI Review.
- Add Left justified app toolbar.
- Add background image.
- Add Collaping app toolbar: reduces height when user swipes book selection.
- Add background gradient overlay for text visibility (regardless of image content).
- Add vertical tween (coordinated motion) to RecyclerView (Book list) on main activity.
- Add curve tween (coordinated motion) to thumbnail for transition between main -> detail activity.
- Full bleed image on detail page.
- FloatingActionButton (FAB)
- Animating transition
- App uses the Design Support library and its provided widget types (FloatingActionButton, AppBarLayout, SnackBar, etc).
- App uses CoordinatorLayout for the main Activity.
- App theme extends from AppCompat.
- App uses an AppBar and associated Toolbars.
- App provides a Floating Action Button for the most common action(s).
- App properly specifies elevations for app bars, FABs, and other elements specified in the Material Design specification.
- App has a consistent color theme defined in styles.xml. Color theme does not impact usability of the app.
- App provides sufficient space between text and surrounding elements.
- App uses images that are high quality, specific, and full bleed.
- App uses fonts that are either the Android defaults, are complementary, and aren't otherwise distracting.
- App conforms to common standards found in the Android Nanodegree General Project Guidelines. http://udacity.github.io/android-nanodegree-guidelines/core.html https://d17h27t6h515a5.cloudfront.net/topher/2016/June/5769c116_1000-files-tutorial/1000-files-tutorial.pdf
- App utilizes stable release versions of all libraries, Gradle, and Android Studio.
https://github.com/udacity/xyz-reader-starter-code
https://material.io/design/introduction/
https://go.udacity.com/xyz-reader-json
https://discussions.udacity.com/t/fragment-transition-animation/353502/8