Product Discussion (Fri Sep 8, lecture 4)

Homework due for today

Legend: : Participation | : Early | : PDF | : Portfolio | : Zipped

  1. RORT: Read Ruby on Rails Tutorial ([RORT]). Read Chapter 1. Look at Rails 5.1 Notes and Caveats for late breaking addenta and errata. It’s a long chapter but you will learn A LOT! It has lots of useful information that you will use now or refer to in the future. You should do the steps that he shows in the chapter yourself. You will hit snags, but push forward until you get it all done. Now go to Latte and answer these warmup questions:

    • Can you come up with an original example of when you would use a git branch?
    • What is the difference between git and githhub?
    • What is the difference between Heroku and Github?
    • What problem does bundler solve?
    • Are there one or two things you are still confused by? If not, what one or two things were the most memorable about your reading?
    • Deliverable: Do the warmup in Latte and submit by 10am on the day of class.
  1. PROD: Meet outside of class for at least 1 hour with 1-2 other students, look through and discuss the project options. You may use some of the ideas you wrote up on Tuesday, or again refer to all these sources: Product Idea Inspirations. These are not necessarily going to be your teammates. It’s just a forum to immerse yourelf in the project ideas and exchange ideas. Discuss discuss discuss. I know it’s hard to find time, but really try to do it so you can really get a feel of where you could take each idea. Write up your favorite two or three ideas as entries in the Product Ideas List in Latte. It doesn’t matter if the others in your team of three write up the same. However write them down independently! Deliverable: Write up your personal favorite 2-3 ideas in the product ideas list. Also, comment on one or two other students project ideas there.
  2. RTHW: Continue with Learn Ruby The Hard Way up and including Lesson 36.
  3. PA_MOVIES_1: Complete (PA) Movies Part 1. This assignment will get you to write some basic code with Ruby. You will learn how to read files work with data in arrays and hashes. If you are stuck, ask one of our wonderful TAs for assistance. Up to now you have been coding inside your own Portfolio. Deliverable: Your PA1 submission, zipped.

Interesting (optional) Reading

Homework discussion

  • Let’s hear about chapter 1

What makes a great Cosi166b Product

While we don’t have a fixed rubric for what we consider to be an excellent Cosi166 Term project deliverable, here are some of the things we look at:

  1. The “Ruby on Rails Tutorial” gives a detailed example of a kind of a social network. Your product should not be simply another social network. In other words don’t just take the code from the tutorial and do some renaming and reorganization.
  2. This course is about Software Engineering, not business. You don’t need to concern yourself at all with whether your product would sell well or make money.
  3. There are numerous ways to go beyond the Rails basics. We are looking for you to push the envelope in this way. We want your product to be interesting from a technology perspective.
  4. We look for you to follow professional software engineering practices, including: automated testing amd continuous testing and deployment
  5. We will review your actual source code to see that you have used good design practives, object oriented techniques, good modularity, separation of concerns, small classes and methods etc.

Ways to go beyond the basics

These are in alphabetical order. You don’t need all of these, obviously.

  • Background processing of some kind
  • Caching (Redis or other) to improve scalability
  • Generating an RSS or iCal feed
  • Integration with Brandeis authentication
  • Interesting complicated Database schema
  • Interesting integration with Google Maps
  • Lively, responsive web site with AJAX
  • Mobile interface
  • Service oriented architecture
  • Useful REST API, especially if you also include a client to this

First product selection discussion

  • I will ask the groups of 3 to talk about what products they liked. Give your names!
  • Sales pitches for products (Pito and any other students)
  • How close to the writeup will the product have to be?
  • Do we have to use ruby on rails? (yes)
  • Write ideas on the board as fast as we can!
Our Goal Come up with about 30 good product ideas!

Next Class