ico-magnifying_glass
    ico-arrow-big-left

    Topcoder Macoun - iOS Photo App Challenge

    PRIZES

    1st

    $1,200

    2nd

    $600

    RELIABILITY BONUS: $360

    Register
    Submit
    The challenge is finished.
    Show Deadlinesicon-arrow-up

    Challenge Overview

    1.0 - Challenge Summary

    Welcome to the Topcoder Macoun iOS Photo App Challenge!

    The purpose of this challenge will be to create a simple iOS photo display application that follows the best practices of modular design to fully support 4 different device platforms within one application - the Apple Watch, iPad, iPhone and Apple TV.

    1.1 - Competition Task Overview

    The simple iOS photo display app you will build in this challenge is not intended to be an incredibly complex application - more an opportunity to display your understanding of modular design with a simple and compelling user interface that works within the constraints of the iOS Human Interface Guidelines (iOS HIG).  

    The code you write must follow the best practices of modular design.  This is a key requirement of this challenge so please focus on this when writing your code.

    The application should be written using Swift and targeted to iOS 9 (iOS 9.x, Swift 2.x, Xcode 7.x).

    You should pay special attention to the separation of modules into components and elements in your code. The application should be aware of the platform it’s running on to the extent that modules are displayed appropriately for the format (this is for you to decide how it best works) but it should know as little as possible - preferably just what is needed. We advise that you pay particular attention to size classes and stack views in your implementation.

    The functionality required in this application is as follows:

    1) A user must be able to view a gallery of images
    2) A user must be able to display a single image with a caption below it. Except on the watch, which should just display the image (to encourage the usage of stack view).
    3) A user must be able to navigate between the images in an intuitive manner

     

    1.2 - Background / Definitions:

    Modular Design:
    One of the key requirements for this challenge is to follow the best practices of modular design.  To help you understand what we’re looking for, here is some additional detail about modular design.

    In modular design, a module is made up of smaller components, which are made up of even smaller pieces called elements: Elements -> Components -> Modules.  

    - Elements: Individual items such as buttons, text, switches, and other controls.
    - Components: Made up of a number of elements.  For example, a “Profile” component might include a profile image, a text field for name, and text field for location.
    - Modules:  Made up of a number of components.  For example, a module might include the “profile” component above plus a component for social sharing (which could include elements like buttons to share on different sites).

    Modules can be developed so they behave differently based on device.  This allows the flexibility to customize a module to work well across a variety of devices.

     

    1.3 - Technology Overview and Requirements:

    - iOS 9.x
    - Swift 2.x
    - Xcode 7.x
    - The application should follow the best practices of modular design to fully support 4 different device platforms within one application - the Apple Watch, iPad, iPhone and Apple TV.
    - The user interface needs to work within the constraints of the iOS Human Interface Guidelines (iOS HIG).

     

    1.4 - Testing

    No unit tests are required for this challenge.

     

    Final Submission Guidelines


    A complete list of deliverables can be viewed in the TopCoder Assembly competition Tutorial at: http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorials 
     
    Below is an overview of the deliverables:
     
    - Working iOS app (including source code) that covers all requirements
    - A complete and detailed deployment document explaining how to deploy the application.
    - Please include comments in your code or a note explaining the modular design you followed.

    Reliability Rating and Bonus

    For challenges that have a reliability bonus, the bonus depends on the reliability rating at the moment of registration for that project. A participant with no previous projects is considered to have no reliability rating, and therefore gets no bonus. Reliability bonus does not apply to Digital Run winnings. Since reliability rating is based on the past 15 projects, it can only have 15 discrete values.
    Read more.

    ELIGIBLE EVENTS:

    2016 TopCoder(R) Open

    REVIEW STYLE:

    Final Review:

    Community Review Board
    ?

    Approval:

    User Sign-Off
    ?