Challenge Summary
Welcome to Topcoder Self Service Design Concepts Challenge!
The purpose of this challenge will be to design the user stories of the new Topcoder Self-Service Prototype tool.
We will provide the user stories for a new prototype of the topcoder platform to facilitate true self service, enabling an organization to launch challenges without significant intervention from the topcoder team (challenge architects).
It is up to you how much this prototype will be based on the existing topcoder platform - but it is intended to be stand alone and not connected to the existing platform. It will essentially be used as a demo tool and provide a possible basis for future changes to the client facing portion topcoder platform. We’re primarily focused around a few screens in this challenge and we’d love to see your interpretation for each - focusing primarily on the user experiences for a self-serve client running challenges in the most simple and intuitive manner possible.
Round 1
Submit your design for a Checkpoint feedback:
1- Asset Library.
2- Self-Service Challenges.
- If you have time - please provide us with a click map for your design.
- Readme.jpg : Provide notes about your submission.
- Make sure all pages have correct flow! Use correct file numbering. (00, 01, 02, 03).
Round 2
Final Design plus any Checkpoint feedback:
1- Asset Library.
2- Self-Service Challenges.
3- Billing Accounts.
4- Payment Processing.
- If you have time - please provide us with a click map for your design.
- Readme.jpg : Provide notes about your submission.
- Make sure all pages have correct flow! Use correct file numbering. (00, 01, 02, 03).
Challenge Description:
This challenge is focused on creating design concepts/visual ideas to create the self service tool described for topcoder.
We currently do not have any formal requirements beyond the listed User Stories. We are looking for you to provide design concepts and click-paths based on the provide user stories.
We are looking for the [topcoder] design Community to help us with planning our new "user experience" (UX).
Supporting Documents:
- Topcoder Branding Guidelines (Google Drive) (Suggested but not required)
- Current Create Challenge Screenshots (Current Create Challenge Screenshots.zip).
Design Goals:
- Suggest user screen flows and navigation.
- What should the priority features be?
- How quickly could you find information and serve yourself?
- What is the best UX for a customer trying to launch a challenge?
Screen Sizes:
- Desktop: Width of 1280px and height as required.
Make sure you create graphic in 'shape' format, so when we resize graphics will still look sharp! It will be great if you can provide the landscape version.
Screens required from User Stories:
- Please make sure to cover the user stories listed below
1. The proposed Asset Library.
2. Create a Challenge - should also show how integrations to 3rd party tools could work (e.g. dropbox, github etc.)
3. Account Management.
4. Payments Management.
Challenge Requirements:
1. Asset Library:
1.1 User Story: View Assets
What the User Will Do: The member will be able to view assets that have been submitted to the asset library. The member can view the description of the asset, as well as any previews that have been provided. The member cannot directly access the asset without first purchasing it. The member will also be able to view any reviews that have been provided for the asset.
Why the User Wants To Do It: The member may wish to examine an asset and learn more about it in order to make a decision whether to purchase it.
Priority of this Story: High. The asset library is an important portion of the application, and this portion is central to the functionality of the asset library.
1.2 User Story: Search for Assets
What the User Will Do: The member will be able to search for assets that satisfy specific criteria. The possible criteria can include minimum review rating, price, keywords, and textual description of the asset.
Why the User Wants To Do It: The member may be interested in finding assets that are specific to the member’s needs.
Priority of this Story: Medium-High. This is an important bit of functionality with regards to the Asset Library.
1.3 User Story: Purchase Asset
What the User Will Do: The member will be able to purchase an asset from the asset library. The amount will be deducted from the member’s account and the member will be granted access to the asset.
Why the User Wants To Do It: The member wants to employ the asset for use in the member’s projects.
Priority of this Story: High. The asset library is an important portion of the application, and this portion is central to the functionality of the asset library.
2. Create Challenges:
Please refer to Current Create Challenge Screenshots.zip
2.1 User Story: Create a Complex Challenge
What the User Will Do: The user will click a button to create a challenge. The user can then provide the information needed to create the challenge – including things like:
- Challenge Title and Description - This will allow the customer to provide the Topcoder community with the needed information to join and complete the challenge.
- Challenge Type – This includes whether the challenge is a development or design challenge. This will also indicate how the winner for the challenge will be selected (whether by review board or customer choice).
- Challenge Schedule – This indicates the important dates and times of various phases of the challenge including submission, review, and appeals.
- Prize Payments – This indicates the number of awards and the amount of prize money to be given to the winners of the challenge. The application may hold prize payments in escrow while the challenge is ongoing.
Why the User Wants To Do It: This is the main purpose of the application. Customers will want to utilize the Topcoder Community to perform graphic design and software development, and challenges are the primary way of doing this.
Priority of this Story: High. This is one of the main functions of the application.
2.2 User Story: Approve a Complex Challenge
User(s) Involved: Topcoder Admin and Untrained Customer.
What the User Will Do: All challenges that are created by untrained customers are subject to approval by a Topcoder Admin. The Topcoder Admin can review all the challenge details that were created by the customer. The Topcoder Admin can then suggest changes to the challenge if the Admin finds that certain details are not compliant with Topcoder standards.
This may be a multi-step process, and will require both the Topcoder Admin and the Customer to sign-off on the challenge before it is finally approved. It may also be possible for the challenge to be cancelled if the Topcoder Admin and Customer are unable to come to an agreement.
Why the User Wants To Do It: This is the administrative portion of the previous user story. The Topcoder Admin is responsible for ensuring that challenges that are run on the Topcoder Platform achieve a certain degree of quality. This will keep the Topcoder community engaged and eager to participate in Topcoder challenges.
Priority of this Story: High. This functionality will be needed to support the challenge creation functionality of the application.
2.3 User Story: Create a Simple Challenge
What the User Will Do: The Topcoder Customer can click on a button to create a simple challenge. Unlike a complex challenge, this is simply a posting for a specific job. The customer will provide challenge details such as the deadline, description and payment details. Simple challenges will not need workshop training or Topcoder Admin approval. It might be advisable to provide a limit to the prize for this type of challenge in order to limit the challenge scope.
Why the User Wants To Do It: This is the simpler approach to utilizing the Topcoder Platform. This allows the customer a convenient way of accessing the Topcoder Community without the hassle of attending a Training Workshop or negotiating with the Topcoder Admins.
Priority of this Story: Medium - High. Closer examination is needed as to whether Simple Challenges are really needed, or whether they can be merged with Complex Challenge functionality. Simple Challenges can probably be encompassed by the current “First to Finish” challenges that exist in the Topcoder Platform.
2.4 User Story: Select a Challenge Winner
What the User Will Do: The customer will be able to view the submissions that have been provided by the Topcoder community for the challenges that the customer has created. The customer can then select which submissions are winning and will receive prize money.
In order to protect the Topcoder contestants, certain security measures may need to be taken such as adding watermarks to design submissions. This will prevent the customers from simply using all the submissions despite selecting only one winner.
Why the User Wants To Do It: This allows the customer the greatest control over winner selection in a Topcoder Challenge. It increases the likelihood that the customer will be satisfied with the final submission because it was the customer’s choice.
Priority of this Story: High. Winner selection is an important function of running challenges.
2.5 User Story: Select a Challenge Review Board
What the User Will Do: The customer will be able to select a review board for any created challenges. This is preferred for certain challenge types, such as Assembly, UI Prototype and Architecture.
The customer can simply allow review board slots to be available and let the system assign reviewers to the challenge according to the established Topcoder Methodology. Another alternative would be for the customer to gain finer control over the situation and manually invite and select reviewers that the customer trusts or prefers.
Why the User Wants To Do It: For specific types of challenges, the customer might not be capable of appreciating the technical details of challenge submissions. In such cases, it would be in the customer’s best interest to delegate the task of selecting a winner to more capable hands in the form of Topcoder Reviewers.
Priority of this Story: Medium - High. The default behavior of the system would be to simply integrate with the current Topcoder Platform and allow the application to automatically assign reviewers. Manual selection of review board by the customer would be nice to have if the development overhead is not too high.
2.6 User Story: Monitor Challenge
What the User Will Do: The user can view the number of registered participants, as well as the number of submissions. The user will also be able to view the forum activity for the challenge.
Email notifications can be sent out when specific milestones are reached – such as when a critical number of highly-rated or high-reliability contestants have registered for the contest. An email can also be sent out if the milestones have not been reached – the email can contain suggestions how to rejuvenate the project (like increasing the prize money).
Why the User Wants To Do It: The customer has a stake in the health of a challenge and is interested in seeing the challenge completed. This will allow the customer to monitor the challenge to see whether there is enough community interest to indicate that a viable solution will be produced at the end of the challenge.
Priority of this Story: Medium - High. The user should be able to view the statistics for a challenge like registered participants and submissions. This functionality is already present in the Topcoder Platform and should not be difficult to integrate - it might possibly be fulfilled by directly linking to the existing Topcoder Platform. The email application that monitors project health will require more development and is simply a nice convenient feature for the customers.
2.7 User Story: Change Challenge Details
What the User Will Do: The customer will be able to change various details of a challenge while a challenge is ongoing. This may include changing the challenge description to clarify specific details, extending or shortening the timeline, changing prize payments, etc.
To prevent any abuse, certain actions will require admin approval – for example, changing a challenge description after Spec Review has been completed may require admin approval. Another example would be shortening the deadline, or reducing the prize payments.
This sort of action may only be granted to trusted customers/admins. A log of changes will also be maintained to help in resolving any disputes that may arise.
Why the User Wants To Do It: This will allow the customer or admin to repair any mistakes or ambiguities in the challenge description. This will also allow the customer to attract interest in a challenge by increasing prize money for challenges that do not have a healthy number of participants. Finally, the customer can also increase the deadline to ensure that viable quality submissions are received at the end of the challenge submission phase.
Priority of this Story: Medium. This functionality is not needed for the application to perform its primary function, but it will provide a nice convenience to customers. Closer examination is needed as to which portions of the challenge that a user is allowed to edit, and when the user is allowed to edit them. Corresponding features such as admin approval and granting of ‘edit permission’ will also need to be developed.
2.8 User Story: Create Exclusive Challenges
What the User Will Do: The customer will be able to limit participation in specific challenges to a select group of Topcoder contestants. The customer can either specify a list of members, or provide some criteria (such as # of previous challenges completed/development rating, etc.) to restrict the members that can join the challenge.
Why the User Wants To Do It: Restricting challenge access means that the project is less exposed and ensures greater privacy for the customer. This may also result in a higher submission rate by Topcoder members due to less competition/higher chance of winning.
Priority of this Story: Low. This functionality is not needed for the application to perform its primary function, but it will provide a nice convenience to customers.
2.9 User Story: Invite Members to Challenge
What the User Will Do: The customer will be able to invite specific Topcoder members to participate in a challenge. The customer can pledge additional prize money should the invited member win.
Why the User Wants To Do It: The customer may have developed a rapport with a particular member from previous challenges, or the given member has domain knowledge or past experience with the current project. The customer is interested in attracting the participation of that particular member and providing an additional incentive is one way to do it.
Priority of this Story: Low. This functionality is not needed for the application to perform its primary function, but it will provide a nice convenience to customers.
3. Billing Accounts:
3.1 User Story: Create Billing Account
What the User Will Do: The customer will be able to set up an account with billing information. The customer will provide a name and description as well as information as to how payment will be handled for the billing account. Once this is done, the billing account will be active and assigned to the customer. The customer may set a limit as to the amount that can be charged to a billing account. This limit may either be a hard limit, or one based on a time interval (for example, a monthly limit). A customer may create multiple billing accounts if so desired.
Why the User Wants To Do It: This will allow the customer to further organize billing and payments. The customer may do other things such as grant other users access to a particular billing account, and this is the preliminary step to doing so.
Priority of this Story: High. This is one of the primary functions of the application.
3.2 User Story: Assign Billing Account
What the User Will Do: The customer can grant other users access to a billing account owned by the customer. This means that other users now have permission to create challenges and charge any prizes to the specified billing account.
The customer can also grant other account privileges such as ownership (meaning, the grantee can also grant account privileges to other users).
The customer may wish to place limits on the amount that can be billed by other users. The customer may also wish to approve any challenges that have been billed to the account owned by the customer.
The customer will also be able to revoke any privileges that have been granted.
Why the User Wants To Do It: This will allow the customer to delegate challenge creation and management to other users. This makes it convenient for the customer especially if the customer is involved in large-scale projects that involve multiple challenges.
Priority of this Story: Medium - High. The application can work without this functionality but it is still a highly desirable feature that makes it convenient for some of the larger customers at Topcoder.
3.3 User Story: Preload Billing Account
What the User Will Do: The customer can preload a billing account with money. The payment method will be charged and the ensuing funds will be held in escrow by Topcoder. The preloaded funds may then be used to run challenges.
Why the User Wants To Do It: Topcoder may require unverified accounts to have a certain amount of funds preloaded into the account before it can be used for creating challenges. This will allow the customer to provide a form of assurance to Topcoder and thus run challenges in the Topcoder platform.
Priority of this Story: Medium - High. The application can work without this functionality but it is still a highly desirable feature that makes it convenient for the customers at Topcoder.
3.4 User Story: Close Billing Account
What the User Will Do: The customer can close any owned billing accounts. This means that the billing account will no longer be active, and challenges can no longer be created that bill to that specific account.
Why the User Wants To Do It: This will allow the customer to close any billing accounts if the customer is no longer interested in processing payments from that particular account. This also helps to protect the customer from any unwanted billing in the event that the customer wishes to discontinue running challenges on Topcoder.
Priority of this Story: Medium - High. This is an important piece of functionality with regards to managing billing accounts.
4. Payment Processing:
4.1 User Story: Process Payments via Credit Card
What the User Will Do: The customer can process payments via Credit Card. This is the simplest and most convenient way of performing monetary transactions in Topcoder. The customer can simply provide the Credit Card information and charge any challenge expenses to the credit card.
The amount that can be charged to the credit card will be limited to prevent any complications from happening.
Why the User Wants To Do It: This allows the user to provide an easy way of trying out the Topcoder platform without resorting to any of the more complex methods of processing payments.
Priority of this Story: High. This is an important portion of the application.
4.2 User Story: Process Payments via Direct Debit
What the User Will Do: The customer can process payments via Direct Debit. The customer will provide the necessary bank information and authorization for the Topcoder Application to be able to withdraw funds from the customer’s bank account. Challenge expenses are then charged to the customer’s bank account.
Why the User Wants To Do It: This allows the customer to provide a method of processing payments that do not have the limitations of a credit card.
Priority of this Story: High. This is an important portion of the application. For the prototype of the application, only a dummy transaction is needed for this functionality.
4.3 User Story: Purchase-to-Pay
What the User Will Do: Customers can choose alternative methods to 'top up' their topcoder billing account, eg. paying by BACS, CHAPS or SWIFT . The system could auto generate a pro forma request for funds with a unique reference to be included in the payment transaction to tie up bank transactions to the relevant topcoder billing account. (allows for automating this process)
Why the User Wants To Do It: This allows the customer to provide a method of processing payments for large organizations that have an accounting/budgeting department.
Priority of this Story: High. This is an important portion of the application. For the prototype of the application, only a dummy transaction is needed for this functionality.
4.4 User Story: Refund Customer
What the User Will Do: The admin will be able to refund the customer in the cases where the customer was not billed properly. Any payment transactions made will be refunded.
Why the User Wants To Do It: This allows the Topcoder Admin to correct any mistakes that have occurred in billing. This also helps the admin resolve any disputes that may arise by refunding the customer.
Priority of this Story: High. This is an important portion of the application.
Important:
- Keep things consistent. This means all graphic styles should work together.
- All of the graphics should have a similar feel and general aesthetic appearance
Target Audience:
- Topcoder Customer: Topcoder Customers are the users that are interested in running challenges and utilizing the Topcoder community to complete projects. This group includes customers that have attended the Topcoder Training Workshop and those that have not undergone the workshop.
Judging Criteria:
- How well you plan the user experience and capture your ideas visually.
- Cleanliness of your graphics and design.
Submission & Source Files:
Preview Image
Please create your preview image as one (1) 1024x1024px JPG or PNG file in RGB color mode at 72dpi and place a screenshot of your submission within it.
Submission File
Submit JPG/PNG for your submission files.
Source Files
All original source files of the submitted design. Files should be created in Adobe Photoshop and saved as layered PSD file, or Adobe Illustrator as a layered AI file.
Final Fixes
As part of the final fixes phase you may be asked to modify your graphics (sizes or colors) or modify overall colors. We may ask you to update your design or graphics based on checkpoint feedback.
Please read the challenge specification carefully and watch the forums for any questions or feedback concerning this challenge. It is important that you monitor any updates provided by the client or Studio Admins in the forums. Please post any questions you might have for the client in the forums.