Tuesday, October 24, 2017

Artistic Collaboration, Week 6

Looking Back

I didn't get a post made about my work last week, so this will cover the past two weeks (most of the work being done this week). During this time, I accomplished the following items:
  • Draft ERD (with W)
  • Migrated from W's Azure account to my own
  • Set up a Google Drive with team documents
  • Populated the backlog with user stories for the initial three epics
  • Wrote a blog about the long-term vision for the project
  • Found images to use as the avatars in our initial project

Challenges

We were slowed down as a team this week trying to transition from W's Azure account to my own. When M transferred to the new version control, there was a permissions piece somewhere that we couldn't seem to find. Eventually, we finally got it connected, and everything else went well.

Learning

This week, after conversations with the team, I finally feel like I'm finally getting a grasp on the entire web development stack, and I'm going to be able to fully participate in the development on this project (as well as future enhancement even post-class).

Looking Ahead

Over the upcoming week, I plan to accomplish the following items:
  • Complete a mock UI that covers the first 3 use-cases (finally)
  • Spend a good deal of time learning asp.net
  • Build the functionality to test a username to determine if it is unique
  • Build the functionality to validate a password
  • Build the framework for the demo

Metrics

Based on the previously established metrics, here is the value of my accomplishments:
  • Accomplished: 5 stories and a spike valued at 8 points
  • Stories added to the backlog: 6

Monday, October 23, 2017

Artistic Collaboration, The Vision

The Original Idea

I am an artist. Specifically, I create photographs. Sometimes I play in front of the camera, and sometimes I play behind. Portrait photography almost always requires at least one other person, and in my community, I spend a lot of time organizing and attending events through Meetup.com. While I love the idea of their platform, I feel it's missing something for the types of events I want to plan. One of the problems we face when we plan events is that there are almost always a larger number of photographers than models. Meetup only allows us to specify how many individuals are attending an event, not break it down into types of attendees. My idea is to build an event platform where I can specify attendance numbers by category of attendee. For example, I want to host a photo shoot and invite 20 photographers and 10 models.

MVP

Based upon this, idea we are developing our MVP to support the following use cases:

  • As an artist, I can create a profile in the system
  • As an organizer, I can create an event with specified participant maximums
  • As a collaborator, I can (view and) respond to events with open slots
The above use cases have generated user stories such as:

  • As an artist, I want to register in the system with my email address so that I can log in again at a later time
  • As an artist, I want to have an initial profile created with default information so that I can get started without detailed information
  • As an artist, I want to update profile details so that I may connect with my target audience
  • As an artist, I want my password verified so that I may maintain control of my personality
  • As an artist, I want to select a unique username so that I may share my specific profile with other artists while protecting my email address
  • As an artist, I want to select one or more roles so that I may respond to events
  • As an organizer, I want to create an event so that I may invite collaborators
  • As an organizer, I want to limit participants by type so that I may provide a positive experience through balanced representation
  • As an organizer, I want to have a wait list managed for my events so that I may have backup attendees if RSVPs change
  • As a collaborator, I want to respond to an event invitation so that I may maintain details
  • As a collaborator, I want to be added to a wait list so that if someone drops out I may join an event
  • As a collaborator, I want to remove my RSVP so that someone else may attend 

Roles

I envision this becoming an expansive tool covering collaboration among the following individuals (and more):
  • Photography collaboration
    • Photographers
    • Models
    • Hair stylists
    • Makeup artists
    • Body painters
  • Musical collaboration
    • Singers
    • DJs
    • Instrumentalists
    • Sound engineers
    • Songwriters
  • Stage production
    • Actors
    • Directors
    • Script writers
    • Costume designers
    • Set designers

Additional Features

Looking ahead at the bigger picture, some additional features include:
  • As an artist, I can establish collaborative connections with individual users
    • I envision this similar to Tinder's swipe functionality, where you are presented with a user (within some filter criteria), and if you want to collaborate you can swipe right to connect or swipe left to discard
  • As a collaborator, I can communicate with my connections
    • This would be a simple in-app chat functionality between anyone who has already established a connection
  • As a venue coordinator, I can list recurring events for my venue
    • This would allow groups to see venues where they might be able to perform
  • As an artist, I can form "groups" with other collaborators (bands, stage productions, etc.)
    • This would allow these groups to apply to perform at venue events
  • As a promoter, I can list upcoming performances
    • This can also link to external ticket vendors such as eventbrite and ticketmaster
  • As an artist, I can solicit support for one-time projects; as a patron, I can support one-time projects
    • This could add kickstarter-like functionality into the app
  • As an artist, I can solicit recurring support for projects; as a patron, I can submit recurring support for projects
    • This could add patreon-like functionality into the app
The long-term vision for this project becomes larger and larger every time I think about it, which I find really exciting! I would love to hear your thoughts!

Tuesday, October 10, 2017

Artistic Collaboration, Week 4

After several weeks of pitching and discussing possible projects, we finally were divided into teams this week and began forming the initial framework for our project.

Team Decisions

  • The team decided we would work in the context of weekly sprints, since there is an expectation of a potentially deliverable application every week. 
  • I checked with the team to see if there were any desired deviations from the original project pitch. The team decided to stick with my original vision, and I will be acting as the product owner for this course.
  • We have committed to updating Slack Wednesdays and Fridays. We will also be using Google Hangouts for our Monday night meetings.
  • We will be working with the Microsoft stack, developing with Azure, ASP.net, SQL server.
  • We will be using BitBucket as our version control system.

Looking Back

Over the past week, I accomplished the following items:
  • Initiated Slack channel for team collaboration
  • Initiated project on pivotaltracker.com to maintain team backlog
  • Identified MVP with three primary use-cases (to be developed in this order):
    • As an artist, I can create a profile in the system.
    • As an organizer, I can create an event with specified participant maximums.
    • As a collaborator, I can (view and) respond to events with open slots.
  • Populated backlog with epics for setup and use cases (profile, event, rsvp)
  • Began populating backlog with user stories for setup and profile epics - this will be an ongoing task
  • Began working on a mock UI - did not complete

Challenges

I did not face many challenges in week 4 other than a lack of time spent on the project. I took this into consideration, and have begun clearing items off my calendar and replacing them with dedicated project time.

Looking Ahead

Over the upcoming week, I plan to accomplish the following items:
  • Flesh out the big vision of the application
  • Complete a mock UI that covers the first 3 use-cases
  • Draft ERD for the project
  • Set up a Google Drive folder to share documents
  • Review Slack channel discussion and summarize findings - upload to shared drive
  • Continue adding stories to backlog

Metrics

With this week involving mostly set-up and vision, there isn't much to measure that would have a lot of continuity in future sprints. I think the following would be appropriate ways to measure the sprint:
  • Accomplished: 1 story valued at 0 points
  • Stories added to the backlog: 7

Wednesday, May 14, 2014

Dive Portal Mockup

This week, I have sketched out a basic mockup for the interaction between pages on the Dive Portal website. The green lines show the "clickable" items, as well as the paths those items should take.






Sunday, April 27, 2014

Activity Diagram

After meeting with Tom of Dive Oahu, he explained that the current system he uses for logging dives is through DiveBoard.com. Some of the perks of the system include the ability to download single or groups of dive records, both as a virtual log and in a printable manner. Tom expressed the desire, however, to be able to share these logs with buddies, as well as upload photos, which can also be tagged and shared. By having the logs stored virtually and accessible by online friends, the job of the dive coordinator/organizer is also made simpler by allowing them to quickly search for credentials online, in addition to compiling all the data necessary for submitting records to certification companies.

In looking at the flow of data through the proposed Dive Portal system, the following activity diagram shows the way users will be working in the system, as well as giving a timeline to demonstrate how this activity is different prior to a dive and following a dive.


Use Case Diagrams

In considering how one interacts with the proposed Dive Portal, several interactions have been proposed.

Feature: Plan a Dive
As a dive coordinator
So that I can invite members to dive
I want to add a future trip to Dive Portal

Feature: Log Dive
As a diver
So that I can keep track of my records
I want to upload my dive data to Dive Portal

Feature: Make Friends
As a diver
So that I can share dive data
I want to connect with friends on Dive Portal

These interactions can be seen more clearly in the following diagram:


Thursday, April 24, 2014

Math Investigation

The Problem

How many people are in on the lanai? 
Suppose everyone shook everyone else’s hand exactly once.  How many handshakes would that be?
Suppose there were 120 people on the lanai. How many handshakes would that be?

The Solution

In solving this problem, I began first by drawing a few pictures. I represented each individual by a dot, and each handshake by a line. These drawings for 1-5 individuals are as follows:




I then turned these into a chart, showing the number of individuals and the number of handshakes:

Number of Individuals Number of Handshakes
10
21
33
46
510


I then noticed a pattern I had seen before...if you take the difference between the number of handshakes from one row to the next, that difference is equal to the number of individuals in the first of these two rows. Allow me to clarify. Consider rows 3 and 4, with 3 and 4 individuals. When you take the difference between the number of handshakes associated with each row, that difference is 3, which is the number of individuals in the first of these rows. Similarly, if you add the number of individuals in the second of these rows, 4, to the number of handshakes in that row, 6, the sum is the number of handshakes in the subsequent row. This leads to a recursive formula, where H is the number of handshakes, and n is the number of individuals:

Hn = Hn-1 + n-1

This can also be written in summation notation as follows:


A recursive formula is great if you already know the number of handshakes for the previous row, but suppose you want to quickly determine the number of handshakes for 120 people. Maybe there is quicker way to determine this.

Consider if there are 4 individuals in the group: A, B, C, and D. Another chart could be made to show the handshakes as follows:

AB     AC     AD
BC     BD
CD

If you take this triangle of handshakes and duplicate it, placing the duplicate next to the original triangle, the resulting shape is a rectangle with n rows and n-1 columns:

AB     AC     AD
BC     BD      **
CD      **       **
 **       **       **

This demonstrates a way to turn the recursive equation into an explicit equation. Multiply the number of rows (n) by the number of columns (n-1) and divide in half:

H = n * (n-1) / 2

If you apply this equation to the original question of 120 people, the answer is:

H = 120 * 119 / 2 = 7,140

If 120 people each shook every other person's hand, there would be a total of 7,140 handshakes!