Close

Not a member yet? Register now and get started.

login icon

Sign in to your account.

Account Login

Forgot your password?

Milestones

Milestone
Date Due
Description
Milestone 1 1/15/12 UI/UX Design Mockup
Milestone 2 1/22/12 Dynamic Database-backed Functionality
Milestone 3 1/29/12 Non-trivial Frontend Feature
Final Submission 1/31/12 Fully functional site

Milestone 1 - UI/UX Design Mockup

Think about your users. Who is likely to use your site? Come up with at least two different personas and one use case for your site.

  • Identify at least one user variable (technical expertise, familiarity with topic, frequency of visits).
  • Sit down with three people, and conduct user research interviews on each of them. Briefly summarize these interviews.
  • Use these interviews to develop your personas.
  • Identify one use case for your site.

Think hard about your most complicated page. What are the important features of this page? What usability problems may come up? For your most import page:

  • Draw out, by hand, three designs for this page. Scan these for your submission.
  • Make a list of pros and cons for each design (3 pros and 3 cons for each).
  • Pick the best one and mock it up using a program such as Photoshop, Inkscape, Gimp...

Additionally, please answer the following questions. Please be succinct as we

  1. What problem does your application address? Aim for 1-2 sentences.
  2. How does your application address the problem above? Aim for one sentence. The next question is a better place for elaborate explanations.
  3. What is the killer feature of your application?
  4. Which of the themes does your application match? Your answer should be one sentence if the match is reasonably obvious. Be as brief as you can. If your application matches both themes, list the one where the matching is more obvious.
  5. What technology do you plan to use for your server-side programming (e.g. PHP, Ruby on Rails, etc)?
  6. Who is on your team? You may list at most 3 people. For each member list the full legal name, .edu e-mail, school, major(s), year, and graduate/undergraduate status.
  7. How did the team members meet? This will help us know you better.
  8. What risks do you envision preventing you from successfully implementing your idea? Consider this an exercise of imagination, not a test of confidence.
  9. Are you planning to participate in the competition? Your answer will solely be used for planning purposes.

Submit a PDF (or a ZIP if you have multiple files) to Stellar that addresses each of the bullet points and numbered questions above. Only one person from your group needs to submit this but make sure your teammates are listed.

Milestone 2 - Dynamic Database-backed Functionality

For this milestone, we would like to see that you have made progress on using a server-side programming language (such as PHP, Ruby, Python), along with a database (such as MySQL), to be able to dynamically generate a page.

Specifically, by this milestone, you should have:

  • A login system. You should be able to distinguish between the case where no one is logged in and the case where a specific user is logged in using a personal username/password combination or a third-party API such as Facebook
  • Dynamic content. The site should be able to display different content on the same page under different situations.
  • A database with a "significant" amount of data. We're not going to define number of lines or entries, as long as your database contains enough data to satisfy the two requirements above and be able to generate sufficiently different content given different situations.

Answer the following questions:

  1. Did any of your answers to Milestone 1 change? Write the numbers for the questions whose answers have changed, and their new answers.
  2. What feature will you demonstrate to meet the dynamic page generation requirement? We highly encourage you to implement your killer feature first, and demo it.
  3. Give us a link to the current version of your site that has this dynamic page generation. Alternatively, you may opt to come in to office hours on Sunday to show us the page.
  4. What technology are you using for the back-end? Include any frameworks if relevant.
  5. What technology do you plan to use for the front-end? Mention JavaScript frameworks like jQuery, advanced standards like WebGL, and Flash / Silverlight, if you plan to use them.
  6. What is the main browser you are targeting? Must be one of our supported browsers.
  7. What other features have you already built? Are they necessary for a minimum viable product? Briefly mention the features. Use at most one sentence per feature. Don’t feel the need to have a long laundry list.
  8. What features do you still have to build for a minimum viable product? Briefly mention the features. This is intended to help you measure your progress.
  9. What features would you like to build after finishing the core features? Briefly mention the features, in order of their importance to you. This is intended to help you focus your development efforts. Don’t feel the need to have a long laundry list.
  10. What design decision (at any level) are you most proud of?
  11. What design decision (at any level) are you least proud of?
  12. What implementation unknown / risks are you still facing? Consider this an exercise of imagination, not a test of confidence.

Take your page from question 2. Walk through your code. In particular, write down:

  1. What are the inputs going into the page? How are they being passed to the server? (GET? POST? Cookies?)
  2. What information from your database does this page require? Give the database schema of all tables that are used by this page.
  3. What other information does your server use to piece together the response, if any?
  4. Spec out or describe: how should the server respond in different situations? Make sure that your site actually behaves that way.

Submit a PDF (or a ZIP if you have multiple files) to Stellar that addresses each of the bullet points and numbered questions above. Only one person from your group needs to submit this but make sure your teammates are listed.

Milestone 3 - Dynamic Frontend Feature

In addition to the dynamic backend capabilities we required in milestone 2, we would also like for you to create a dynamic frontend feature. The options for this are numerous. Here are some examples:

  • Filtering/sorting done entirely in JavaScript.
  • Use of drag and drop to improve the UI.
  • Usage of either CSS3 or JavaScript transitions, animations, or transformations.

Answer the following questions:

  1. Give us a link to the current version of your site that has this dynamic frontend feature. Alternatively, you may opt to come in to office hours on Sunday to show us the page.
  2. Describe the feature you implemented at a high-level (i.e. a non-technical person should be able to understand this description).
  3. How does this feature address your users' needs?
  4. Were any tradeoffs made in the UI design of this feature, e.g. did you sacrifice power for easy-of-learning?
  5. What technology did you use for this frontend feature? Cite any 3rd party libraries that you used.
  6. Describe the feature you implemented at a lower level. Please go into as much (and only as as much) detail as is warranted by your implementation. Dive deep into the work you did and mention any 3rd party tools you used. You do not need to describe how these 3rd party tools work.
  7. What is the main browser you are targeting? Must be one of our supported browsers.

Submit a PDF (or a ZIP if you have multiple files) to Stellar that addresses each of the bullet points and numbered questions above. Only one person from your group needs to submit this but make sure your teammates are listed.