Challenge Overview

Welcome to IBM Castle - Inbox - Date Navigator UI Prototype Challenge
This UI Prototype is part of the IBM Castle Blitz Challenge Series. Make sure to check it out!

The main task of this challenge is to continue updating and adding to the Responsive UI Prototype of the IBM Castle Application based on the provided Storyboard design.
This Fast challenge! is updating existing Date Navigator on the Inbox page.

Important! This is for IBM! Your code must be well documented so we can continue developing in future challenges.

At the end of this challenge, we need a solid UI prototype using best coding practice/solutions. Good luck and we’re looking forward to your submissions!



Final Submission Guidelines

Downloadable Files:
https://drive.google.com/folderview?id=0BxNVnWK-ZGA6Ui02cFhYSWRMTjQ&usp=sharing
Storyboard.zip - Use this storyboard design
UI-Prototype-Full-Tags.zip - Base of Prototype Update

Important!
- DO NOT INDENT/CHANGE the current code if you do not need to - we want to be able to track changes quickly/merge with the existing codebase.
- DO NOT REPLACE/OVERRIDE EXISTING CALENDAR LIBRARY/PACKAGE. Create new custom library or custom style if needed. Clarify with us if you in doubt!
- DO NOT REPLACE/OVERRIDE EXISTING JS/CSS. Create separate js/css file if needed. Clarify with us if you in doubt!

- Provided UI Prototype is tested and works on mobile, tablet, desktop design screen. Do not break current functionality.
- Base of prototype stylesheet created using Bootstrap layout.
- For any new element interactions you must built using AngularJS.
- Please continue using JSON format to store data.
- Any new graphics need to be added as sprite images
- You MUST make sure all graphic look sharp on Retina and Standard Size. Let us know if you need us provide you for some missing Retina design.
- Challenge winner will be responsible to fix any issues we found or exists on existing UI Prototype after updated based on this challenge spec.
- Potential for additional individual work and payments after the challenge.

Your prototype submission need support these following sizes:
a. Desktop Size
- Provided storyboard using Standard (1x) size 1280px width
- Set 1025px min-width for all desktop sizes
- Desktop sizes need to be fluid starting from 1025px and upper

b. Tablet Size
- Use fluid width of mobile version for tablet size
- Check on 768px - 1024px to see how Tablet look.
- You must adjust sizing for any elements to make they look proper with existing tablet look and feel.

c. Mobile Size
- Provided storyboard using iPhone 6 Retina Portrait display (750px).
- Make sure your submission support Standard layout with 320px width  
- Make user graphics look sharp on Retina and Standard version
- All pages need use fluid layout when transform into Landscape or Portrait view.
- You might need adjust some element placement in 320px width screen size. Let’s discus any doubt about adjustments

Calendar UX Page Requirements
Screenshot: Calendar-inbox-A01-timeline-01-compact.png
- For this challenge you just need build date navigator for Desktop view only. Keep existing look for tablet and mobile view
- We need replace existing date navigator on Inbox page
- This is the default look on collapsed state
- Press arrow up button need expand the date navigator bar
- Press left and right need navigate to another event
- Display dot circle and event title
- On the right side there’s blue text links

Screenshot: Calendar-inbox-A02-timeline-01-Days.png
- Always display date view by default user expand the date navigator
- This is expanded state look of day view
- Today need selected as default option
- There’s calendar view button placed on the left side
- Press this button will open the view options (Screenshot: Calendar-inbox-A03-timeline-02-calendar-mode.png)
- Date view need need displayed some connecting dots
- Also notice, there’s floating blue line on top of some hours
- On the right side there are Snooze, Re-Schedule, Edit and Delete button
- Match calendar view button on the left side

Screenshot: Calendar-inbox-A02-timeline-02-Monthly.png
- This is monthly view look
- Then month navigator and date slider
- There are some dots below some data

Screenshot: Calendar-inbox-A03-timeline-01-Mini-cal-picker.png
- Click the date need open the calendar view
- User need able to change the day and select the date

Screenshot: Calendar-inbox-A03-timeline-03-view-event.png
- Click on empty cell need able to open the flyout
- Match form styling
- When need open the datepicker

Screenshot: Calendar-inbox-A03-timeline-04-view-event.png
- This when user select date on month view format
- Click the date need expand the flyout contains some list of event
- + button can be dead link

Screenshot: Calendar-inbox-A03-timeline-05-view-event.png
- Match All message content like storyboard design
- Another sample when click another date on Month view

Screenshot: Calendar-inbox-B01-popup-01-RSVP-normal.png
- This is need show up when click Respond button

Screenshot: Calendar-inbox-B01-popup-02-RSVP-conflict.png
- For Red colored respond button this flyout show up

Screenshot: Calendar-inbox-B01-popup-03-Event-reminder.png
- This flyout show up when click In 20 min button

Screenshot: Calendar-inbox-C01-Notifications.png
- Add “Today”Notification below the filter bar
- Click the today notication need blue colored border
- And then Notification list show up on the right side
- user need able press left and right to navigate to another day
- Match content like storyboard

Screenshot: Calendar-inbox-D01-Create-new-event.png
- This create new event flyout triggered from + button on the bottom right of date navigator
- Match form like storyboard design
- Create Send Invitation button need show up notification below

Screenshot: Calendar-inbox-E01-Notification.png
- Click x button need show up another notification below

Screenshot: Calendar-inbox-E02-Notification.png
- Click x button need close the notification

MOBILE
Screenshot: Mobile-Inbox-01-default.jpg
- This is all message look after added Today Notifications

Screenshot: Mobile-Inbox-02-Notiifications.jpg
- Click notification need load another pop up to let user check all notifications
- “x” button need close the modal

Client Priorities (The items that are considered highest prototype priorities)
- Code Documentation
- Creating quality and efficient HTML/CSS3 code that works in all the requested browsers.
- All elements should be consistent, pay attention to padding, margin, line-height, etc.
- Matching the storyboards (as close as possible) across the required browsers.

CODE REQUIREMENTS:
HTML/HTML5

- Provide comments on the page elements to give clear explanation of the code usage. The goal is to help future developers understand the code.
- Please use clean INDENTATION for all HTML code so future developers can follow the code.
- All HTML code naming should not have any conflicts or errors.
Element and Attribute names should be in lowercase and use a "-" or camel naming to separate multiple-word classes (i.e.. "main-content", or "mainContent)
- Use semantically correct tags- use H tags for headers, etc. Use strong and em tags instead of bold and italic tags.
- No inline CSS styles- all styles must be placed in an external stylesheet.
- Validate your code- reviewers may accept minor validation errors, but please comment your reason for any validation errors. Use the validators listed in the scorecard.

CSS3
- Use CSS3 Media Queries to load different styles for each page and don't build different page for different device/layout.
- Provide comments on the CSS code. We need CSS comments to give a clear explanation of the code usage. The goal is to help future developers understand the code.
- Please use clean INDENTATION for all CSS so developers can follow the code.
- All CSS naming should not have any conflicts.
- As possible use CSS3 style when create all styling.
- Use CSS to space out objects, not clear/transparent images (GIFs or PNGs) and use proper structural CSS to lay out your page. Only use table tags for tables of data/information and not for page layout.

Javascript
- All JavaScript must not have a copyright by a third party.
- You are encouraged to use your own scripts, or scripts that are free, publicly available and do not have copyright statements or author recognition requirements anywhere in the code.

Images
- Images should be properly compressed while still having good visual quality.
- Please use best practice repetition usage of background based image.
- Please use sprites when using icons for your submission.
- Make sure your submission look sharp for Retina and Standard devices

Browsers Requirements
- Chrome Latest Browser
- Safari Latest Browser
- Firefox Latest Browser
- Chrome, Firefox and Safari  on iPhone 4, 4s, 5, 5s, 6 and 6+ (Landscape & Portrait View)
- Chrome, Firefox and Safari  on iPad (Landscape & Portrait View)
- Android Browser

ELIGIBLE EVENTS:

2016 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30053843