codefordenver / comrad Goto Github PK
View Code? Open in Web Editor NEWOpen-source web application for radio stations to manage show schedules, traffic and compliance
License: ISC License
Open-source web application for radio stations to manage show schedules, traffic and compliance
License: ISC License
Create traffic schedule
Getting all details for a particular event
Need to work on building a README file with all of Comrad documentation as well as on boarding details
These aren’t standalone modules, but are used by all the other modules as core pieces of Comrad.
TODO: details on these
You should have several ideas from your brainstorming session.
It's simple! All you need is a piece of paper and something to write with to draw out your solution.
No one expects it to be pretty, don't worry! Add as much detail as you can around how your solution might look or work.
If you have gotten this far, and have completed all the previous cards you should be confident to move this into the Active Development
phase and build a minimum viable product. (If you don't feel this way, it is totally fine to not move forward with the project)
To pitch for active development to the group, coordinate a time on the weekly agenda to take five minutes to update the group on the state of the project (this does not need to happen on standard 1st Monday of the month pitch night).
The purpose of this pitch is to present the state of the project, and pitch that it is worth putting the effort in to develop the MVP.
There are a few specific things that we'd love for you to preset:
Similar to the original pitch, there might be a call for further refinement, and a request to hold while work in progress is wrapped up before moving forward.
Hope to get your MVP developed shortly! 😄
Search for library of tracks via some API
We would like to have the following endpoints for reading data from Comrad:
Getting the shows in a specified timeframe
Creating traffic event
An MVP is the smallest possible increment of your solution that delivers enough value for you to be able to ship it and learn from customers as quickly as possible.
For example, if you were building a device that would automatically pour beer for you, the riskiest assumption might be technical - how do you know how much volume of beer to pour? If you were building AirBnB, the riskiest assumption wouldn't be tech, but instead would be trust - will users rent out a bedroom in their house to a stranger?
Take your riskiest assumption and figure out the smallest increment you need to build to test that assumption.
Take that increment and create cards on your board to represent what your team needs to get done in the next Sprint to build that iteration. Think about what it will take to test your MVP - it's not just about building something, it's about building something you can use to learn from as fast as possible.
This backlog of work can be used in your pitch too, to answer "What's next?"
Create individual instance of event
Delete traffic event via ID
Delete show via ID
Get events in a particular timeframe
Delete traffic schedule via ID
Create playlist
Edit schedule via ID
Delete show schedule via ID
Edit traffic exception via ID
By now you should have:
So far we've made a bunch of guesses. What problems we think exist, what customers we think have that problem, and what solution we think would solve it.
Before moving on, we need to test those assumptions with some potential customers.
Fill in Box 2 of your lean canvas.
Ask yourself:
Be specific! For example, instead of saying "Teenagers," narrow it down to "Female high school students who own cell phones."
Delete traffic exception via ID
Have you found solutions for the same challenge that exist already? Are there apps or solutions out there that are already being used to address this issue? If so, how do they fall short of meeting their goal, if at all? Be honest with yourself. Is it worth our time to build something that competes with what’s already out there? Are there ways we could improve on existing projects to be more impactful? If there’s nothing already out there that addresses this challenge, ask yourself why not. What barriers exist that inhibit progress in this area? Does this challenge call for a technical solution? Maybe the issue is at heart an organizational or physical one, rather than something that a tech approach can solve.
Take time to discuss as a group how people solve this problem today. Document all of the existing ways people solve the problem you want to solve.
Delete show exception via ID
Create a show schedule
Edit show via ID
###Testing with Users
Great! You've created something for your project!
Now we want to get user feedback to make sure our assumptions match customer expectations. Hopefully by now, you have a relationship with a partner or partners to which you can throw your newly-developed software.
Be sure to put the product in front of them to how they use it, and incorporate feedback into your next iteration. Validate that you're solving the right problem, and check to make sure you've reduced any friction involved in the user experience. Pivot as necessary.
This cycle of refining after demoing should go a long way towards injecting life into the project. That should translate into the customer getting a lot of value from our efforts!
For more information on UX research, see this presentation given at one of our Code for Denver Meetups.
Copyright 2016 CA, Inc.
Creating a show
TODO: add details
CRUD of a music library that provides the song database for the playlist module
APIs to access
Ability to import from external systems & export
Using a timer, take 5 minutes to write down as many rough ideas on sticky notes as you can.
Go around as a team and put your sticky notes on a wall as you say what you wrote.
Group similar ideas together.
When you're finished, you're ready to move on to creating paper prototypes!
Edit traffic custom instance event via ID
Gather with at least one other person to create a team around an idea or a problem that's interesting to you.
Spend a few minutes asking these questions:
What's our shared vision?
What's in it for me?
What talents do we bring to the table?
Set working agreements
That's it! Now you have a clear goal for your team to accomplish and you know why each of you are here.
You should now have a backlog of cards on your board representing what you need to do to build and test your MVP. Let's get to work!
For best results, timebox your development into 20-30 minute mini sprints using a timer to continually check on progress and give you the best chance of reaching your goals by the end of the event.
This is the most useful module in Comrad given the current landscape of community radio software. There are not other affordable solutions that do this.
Traffic, in radio terminology, refers to the timing of legal ID announcements (“KGNU broadcasting on 88.5FM”), underwriting announcements, and other information that DJs need to be aware of that is not a part of their show, necessarily.
This module will include:
Edit show exception via ID
When deciding on what projects to build at Code for Denver, one of our primary concerns is the impact a given project will have on the community. This is why we emphasize the user aspect of the project: does this project benefit an identifiable group of people? Can you find real persons to test prototypes and the MVP? If you can’t identify who will benefit, and this project can’t be quantified in terms of users and user-testable MVPs, then this project might not be a good fit for Code for Denver.
There is no ego associated with a project, so it’s not a personal reflection on you or your interests if the problem isn’t a good fit. It’s entirely okay to do some research and determine that a project isn’t worth solving or not a good fit for CFD.
A lean canvas is a great way to lay out key components of your project success model so you can start testing your assumptions and get to building something customers want as fast as possible.
To create a free digital version of a lean canvas, go to Canvanizer. Alternatively, you can print this lean canvas
Choose one of these two formats, and write down your problem:
[type of people]
experience [type of problem]
when doing [type of task]
[type of people]
experience [type of problem]
because of [limit or constraint]
You can have more than one problem statement, but no more than 3.
Teams should identify at least two potential project partners.
Potential partners should be non-profit, government, or quasi-governmental organizations, community-based organizations or other community groups or organizations consistent with the CfD mission.
Teams should identify if the initial idea is consistent with potential partner organization mission and goals.
Teams should be able to clearly identify how potential partners could used the built solution, how they would maintain the end product and partners overall role in the built solution product live cycle.
Creating traffic exception
Edit show schedule via ID
Which of the paper prototypes is your team most excited about?
Remember to ask yourself: Does this solution solve the problem (Box 1) for your customer (Box 2)?
Fill in Box 3, the "Unique Value Proposition."
Your unique value proposition is the promise you're making to your customer that's compelling enough for them to jump on board.
Here are two suggested formats:
[by doing this]
for my customer, is that compelling?"When you can substitute [by doing this]
with something compelling, that's the Unique Value Proposition you're proposing.
Lastly, don't forget to fill out the High Level Concept
! This serves as a clear way to describe who you are. For Uber, this would be "Order a taxi with your phone." It can also be an 'x for y' concept like "Instagram for Pet Lovers."
This module will allow for letting DJs record what tracks they have played in a particular timeframe. This is done both to make that information accessible to the listener and collect data for reporting that’s needed for legal compliance
TODO: add details to these
TODO: how do we do this, technically?
Delete traffic customer event instance via ID
What feedback did you receive from potential customers?
If the feedback confirmed that you're solving the right problem, for the right people, in the right way, awesome! Let's move forward.
If you received feedback that makes you want to rethink your problem, customer segment, or solution, now's the time.
Keep iterating until you get feedback that tells you to push on! Keep track of your pivots to share how you arrived at your end solution during your pitch.
Creating an exception to a show schedule
Edit traffic event via ID
This module will provide a way for stations to specify what shows occur at what timeframes.
The functionality will include:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.