Moving Ahead with CUNYcast

We were really excited to meet with Liam after class last week. In case you don’t remember Liam was part of our original team, and looks forward to coming back to the DHpraxis class in the spring of 2016. In the meantime he’s learning lots of cool code over at the School of Journalism, and stopped to chat with us and see how our progress is going. Below is our work schedule posted online.

Martha Joy Rose, Liam Sweeney, Julia Pollack

Martha Joy Rose, Liam Sweeney, Julia Pollack

CUNYcast Schedule

April 7
Julia & James – Java script for the schedule widget, get the play button working on the website
Julia – get brothers audio 1 hour
James – program audio to play on the site non-stop until someone else interrupts it with a show; and then make it auto play again after the interruption. Decide about what kind of license we want to have/ Creative Commons?
Joy – post blog and edit audio

April 14
Joy – create Process Reports in PDF, Joy create the google slides for the presentation. Confirm tabling opp by library in front lobby. (I’ve written Matt about this). Organize more sessions to train CUNYcasters (we didn’t succeed in our first tutorial, so more clarity is needed)
Julia – figure out how to upload PDFs; Drop down menu for Tutorials, or clickable pages, PDF or what?
Add to Pedegogy explanation: Professor Cheryl Smith.
Organize tutorial notes on how to build the website.
James – collect and organize tutorial notes on how to build the airtime project, widget, hosting, icecast, duplicate what we did….. Stream a cast or upload a prerecorded cast. Joy will send Liam’s interview for uploading. (Check FILE SIZE restrictions)
All – plan on staying after class to test broadcast, buttons, widgets, etc. and generally make sure all kinks are ironed out.

April 20 & 21
Joy – make flyers and distribute at tabling opportunity to gather CUNYcasters outside the library Monday and Tues (please join me if you can for any or all of it)
Julia – provide tutorials for those wanting to build a website for CUNYcast. Update Pedegogy explanations
James – 1) provide tutorials: General CUNYcast user, a) how to do a livestream b) how to post a show
2) tutorial for those who want to create their own CUNYcast website for their university
All – class presentation on Tues- tutorials ready to go and present to the class

April 28
Julia – Make more art for website, and provide documentation for creative commons and create licensing notice as well as waiver for broadcast ie: Permissions [LINK] and add into main website. Ad any credits and build out pages for additional Tutorials and PDFs.
James – work on archival calendar, and RSS feeds ask about ARCHIVAL LIVE STREAM?
Joy – make preparations for first day-long broadcast of Annual Academic MOM Conference at CUNY, CG. test, and prepare to go live on April 30th. I’ve asked for electronic signage for this event that advertises CUNYcast.net

May 5
Clean up any issues

May 12
Class Preso

May 19
Giant Preso

Fashion Index Weekly Update

Spring break just has started. This break sounds so industrious.

Our current goal is to explore Domain Expert. After solving this matter, we will integrate our final data set. The final data sets can be Lev’s collection of Instagram images or collection of our own images via apigee.

We made some changes related to technologies. We will not implement Django and MySQL.  We decided to focus on the bootstrap version of the site and gather content to make it look well-structured.

As Luke and Amanda addressed the copyright and creative common, we will also concern the copyright of other people’s images from Instagram. Tessa suggested that we would better include certain statement such as “All images contained herein are for academic purposes only.”

Currently, Renzo and  Minn developed HTML and CSS files for the website. They already made initial sketches and clarified the concept of art. Using Bootstraps is the foundation of their work. They began creating the site in HTML and generated a basic image gallery, front page, credit page, acknowledgement, and embed Google maps to stimulate the eventual mapping of images, which will be arranged by CartoDB.  Under these circumstance, the Bootstrap plays a critical role to shape our websites and scales with screens on mobile devices or smaller monitors.

crew_Page_1

 

 

image-set_Page_1 image-set_Page_4 image-set_Page_5 image-set_Page_8

After making the basic version of the site in HTML, they reached a point where they needed to figure out CSS to make the visuals more refined and integrate better fonts. Minn conducted CSS research.

During the break, our workloads are divided based on our basic roles.

  • Project Manager- shaping the final paper, collect reference, some literature reviews, track and compile the other member’s works, reviewing tutorials, posting some images on instagram (hopefully more followers)
  • Development- exploring API (Apigee). Planning to collect 50-100 images with #sprezzatura and geodata  from Instagram.
  • Outreach- After getting the images, Renzo will work on mapping via Cartodb.
  • Designer- Focus on aesthetic designs, enhancing the visual of the site.

 

TANDEM Project Update

PROJECT:

TANDEM 0.5 will be moving from it’s heavy development phase into a testing and forward-facing design phase this week. At the time of this posting, Steve and Chris are still working out the specifics of functioning unified code, but testing of the independent scripts has begun to a certain degree of success. Text and image values are easily generated via independent processes.

This week we also discussed the idea of data persistence with some depth. Simply put, would someone be able to access the data they generated at a later date via the TANDEM ui. At this iteration of the software, we agree that this is a valuable component, but not an essential feature for an MVP. That said, we are thinking about both the code needed to run it and the user-specific UI that would accompany such an application.

 

DEVELOPMENT:

We are working away at unifying TANDEM’s independently functioning image and text codebases. We are aligning the code in a single python script file. We vetted an idea to have two scripts, one for image and one for text, run simultaneously. The decision was made that for this first iteration of TANDEM, a single .py will suffice, and in fact may be more maintainable and more efficient.

The code merge has been slow due to python versioning issues which lead to the code producing different results on different machines.

A call is scheduled for Tuesday with Tim at Reclaimhosting to work on configuring the server to run Django. Meanwhile the developer is working through the very thorough Django tutorial and also trying to begin the defined appropriate class objects for a potential future version.

 

DESIGN:

Immediately following the code merge, we plan to begin implementing our user interface. A full size mockup of this is still under version control as we explore new grounds with user-specific views and the possibility of in-browser table views of the .csv data that is generated.

 

OUTREACH:

TANDEM continues to reach new communities. We have a lead, thanks to Sarah Cohn. The Biodiversity Library is currently crowdsourcing their seed catalog archive project, and in advanced versions, TANDEM might improve their information collection. http://blog.biodiversitylibrary.org/2015/03/help-us-improve-access-to-seed-and.html Jojo will contact them once our prototype is more stable.

Additionally, Jojo spoke with Grant Wythoff, who reasserted TANDEM’s relevance to Bill Gleason’s project at the Cotsen Library. Jojo will reach out to Professor Gleason again this week. Grant also recommended we contact Natalie Houston at University of Houston regarding her Digital Victorian project on the visuality of poetry.

Jojo also attended the DjangoGirlsNYC event at the Stack Exchange. In addition to familiarizing herself with the framework in which TANDEM will eventually operate, she made useful contact with other django developers working in NYC.

DigitalHUAC Project Update

We’re presenting this week, so we don’t want to give away too much in this post. In short, however, this week was taxing, productive, gratifying, and exciting—in that order.

After deciding strong encouragement to use Document Cloud (DC) as our database and corpus warehouse, we spent the last few weeks working out how our site would talk to the DC API. No easy thing. What language would be used? How would the syntax work? Wrappers? Formatters? JSON? Above all, what are the relationships between the project’s front- and back-ends, and how does each programming decision/requirement bear these out? This involved much due diligence and scaling of learning curves. No matter: our team is made up of furious warriors, eager to storm the scene. We eat learning curves for breakfast and then throw the dishes out the damn window.

After being advised to lean on PHP (or, as we call it on conference calls, “Playas Hatin’ Python”) for our scripting needs, Daria spent the week shifting her programming language focus. This meant tying together guides and help from a number of sources—our professors, online learning hubs, GC Digital Fellows, outside gurus—drafting code, and testing it out with the rest of the group weighing in and helping troubleshoot. Our main focus this week was on connecting the search form that Juliana and Sarah put together earlier with our DC documents. We needed to be able to run a simple search—at the very least, to have a search form lead to a URL that would display the action that had just been carried out. This, we are happy to report, we have done.

Going back to the point about how the front- and back-ends interact, we also thought this week about what our search results pages would look like. This is of course important from a user experience aspect in terms of display and site navigability: indeed, part of the mission of the project is to organize scattered materials and make transparent an episode from American History shrouded in misinformation and melodrama. But there are just as many meaningful development calls as there are design decisions, and the further we get into the project, the better sense we’re getting for how these two are inextricably linked. We’ll talk more about this on Tuesday, but it’s nice to be at a point where we can think holistically about development and design. In a sense, this is where we started the project; the difference is that now we’re zeroing in on functionality, whereas at the beginning, we thought in terms of concepts.

Also, we received our Reclaim Hosting server space from Tim Owens and are now live on digitalhuac.com. We have yet to install Git on this server, so we are left to update our site like geezers: GitHub > Local Download > Filezilla. We hope to fix this soon and step up our command line game.

CUNYcast Progress

Exciting to share our report in class last week. The google slide show is posted online here for anyone who missed it.

Now that we know we can create actual working audio our task continues to be sorting out the specifics.

This week CSS for the Airtime widgets was successfully updated and our webpages went live. Also Julia has a lead on some original ambient music that does not require licensing. We’d like to be able to have stuff playing all the time, even if we only have a few casters to start.

Our security certificate is now 100% working and the url to www.cunycast.net links seamlessly. Audio connections still have to be resolved and that will be James’s focus this week.

widget pic

The app required for recording on iphone is KoalaSAN app which is a $6 purchase from the itunes store.

Installation is pretty easy. We downloaded it to our phones and ran tests. Anyone wanting to create a cast with us will need a few coordinates from us, and can write us at CUNYcast@gmail.com so that we can provide the necessary info. Then tabs should be configured thus:

unnamed-1

Recording device on the phone is pretty sweeeeet (Screenshot):

unnamed

Right now we have two potential casters (one is a special surprise guest) coming to our tutorial Tuesday night, March 31st at 6:30 in room 4108 at the GC. “Shout it out” if you know anyone else who would like to attend for a 45 minute “Introduction to CUNYcast” on Tues. to learn the basics and find out more.

Our new branding acknowledges the fact that we are focused on students, faculty, and staff at The Graduate Center: We are “CUNYcast for the Graduate Center.” Subsequent projects may focus on “CUNYcast for Hunter,” “CUNYcast for Baruch,” and “CUNYcast for Queens College,” etc.

Thanks for your support and your tweets :-))

#CUNYcast

Fashion Index Weekly Update

Our group’s current goal is to locate a domain expert. In this point, we need to decide whether we keep our site in Bootsrap or tansfer tp a Django framework. We considered creating a separate page on the site showing only a map, and points on the map indicating where a photo was taken. Below or on the same page would be options to organize the map by the five borough.

The developer (Tessa) is researching API access and possibly subscribing to a service that can send us instagram photos with tag data.

The outreach (Renzo) installed Python.

The project manager (You Gene) installed MySQL. Currently, I am figuring out what is cmd and how to open the command-line Interface. Black-white screen has to show up.

We divided our roles to make our technology work out. This time each role is fluid compared to the previous works.

Designer [Minn]- Bootstrap site, exploring apigee.

Outreach [Renzo]- Mapping via Apigee, cartodb.

Developer [Tessa]- continuing Python work, attending django workshop

Project Manager [You Gene]- researching roaming experts, exploring mysql.

 

 

DigitalHUAC group update

DigitalHUAC project update

Search Form Update

After finalizing the taxonomy with our historian experts, we created a public project on DocumentCloud, where we uploaded the five sample testimonies. For each testimony, we input key value pairs based on our taxonomy.

We are still working on the script that will talk to the DocumentCloud API. In the meanwhile, we started working on a search form with HTML only. After making some very basic search forms, we came across a form builder for Bootstrap which allowed us to add more search options very easily. The form builder also provided the html, which we pasted into our test website.

Below is a screenshot:

1

API Script (Form Action) Update

Working with DocumentCloud, we found a) an app that allows users to work with DocumentCloud-documents through a (Django-powered) CMS (built by The Bay Citizen):

https://www.baycitizen.org/blogs/sandbox/djangodocumentcloud-integration-theres/

https://github.com/BayCitizen/django-doccloud

Screen Shot 2015-03-22 at 10.08.15 PM

And b) a Python wrapper built for the DocumentCloud API:

https://github.com/datadesk/python-documentcloud

We looked at other documentation that explains how to post html form values into Python script (e.g., http://stackoverflow.com/questions/15965646/posting-html-form-values-to-python-script)

But are currently working with the Python API wrapper, which required downloading a more recent version of Python, with Pip installed, and then installing the python-documentcloud library:

Screen Shot 2015-03-22 at 9.40.18 PM

Though the initial attempt(s) return the following:

Screen Shot 2015-03-22 at 9.55.58 PM

We are continuing with the following Python-documentcloud tutorial:

http://python-documentcloud.readthedocs.org/en/latest/index.html#

https://media.readthedocs.org/pdf/python-documentcloud/latest/python-documentcloud.pdf

In order to be able to extract text from the HUAC PDFs uploaded in DocumentCloud and return the excerpted text to the user:

http://python-documentcloud.readthedocs.org/en/latest/documents.html

And are meanwhile also playing with getting input from a browser via:

-Web forms in Django:

https://docs.djangoproject.com/en/1.7/topics/forms/

-And by using GET/POST methods inside a Python class index:

http://learnpythonthehardway.org/book/ex51.html

 

 

Tandem Team Report Week 7

PROJECT:

With our corpus defined and development goals set, the team is taking a two-pronged approach to the reaching the final project. While Chris and Steve focus on continuing to develop and code the working project, Kelly and Jojo have turned their attention to the work to be done with the corpus. Equally as important as building TANDEM is the ability to show a proof-of-concept and illustrate the value of the output TANDEM generates. While the duties among the team will still bleed as there is still design work that may arise for Kelly, outreach to be done by Jojo, and theoretical questions for Chris and Steve to weigh in on, our focus is much more pointed on particular pieces of achieving a functioning and valuable tool and methodology.

 

DEVELOPMENT:

A key milestone was reached this week when the text processing backend coding was completed. It will need to be thoroughly tested which the team expects to complete by 3/31. Additional work requires that the program be merged with the image processing code. This integration step is targeted for completion on 3/24. The current version of the program can be found on Github. The repo contains a number of test data files as well as documentation. The core program is TandemText.py.

The team decided to abandon the Flask web framework in favor of Django, primarily because there is much more local support (from the Digital Fellows) for Django. We were able to switch because we did not have a significant code base built in Flask and much of the work done on Flask may transfer well to Django. Optimistically, the team should be able to get a pilot “Hello World” application running under Django on the Reclaimhosting.com server (with help from Zach Davis and Tim Owens).

Finally, on the development front, the team needs to envision and plan for how we will persist data on the website. Will persistence even be see as a valuable feature by the users? If so, how will store and secure the data? How will we handle requests to amend or edit an existing result set? These decisions are pending, likely to be addressed at the 3/24 class.

 

 

OUTREACH:

This week TANDEM has maintained its twitter activity. Jojo is also working on reaching out to new communities while developing useful skills — she has taken on work at the Tow Center for Digital Journalism and is exploring possible applications of TANDEM there, and she got accepted to Django Girls next weekend and was assigned her team. She looks forward to meeting a number of people across disciplines and fields.

 

Trouble in Paradise

The internet is a paradise of open-source code, shared information, and technology tutorials. Right?

But, what about the obstacles we’ve all come up against? Whether problems present a steeper learning curve than we expect, a tiny piece of missing information, or a techie dead end, these issues can result in lack of sleep, brain overload, or simply “giving up.” Our team has been working diligently throughout the last many weeks on three major fronts:

  • Identifying exactly what our project is, and how to model it.
  • Grappling with the technology in all its various aspects: broadcast & web building.
  • Overcoming what appears to be inherent issues with the systems we’re working with.

We are presenting in class this week. So, we’ll share many of the details of CUNYcast’s progress then. But, for the weekly blog we’ll divulge one particularly annoying problem.

When you contact us to start a cast, we provide a url. Making an attempt to create a broadcast using the information we currently provide leads to one of two things:

www.CUNYcast.net leads to:CUNYcast_NAA search for CUNYcast.net leads to:

CUNYcast_safe?

Which will prompt a potential CUNYcast user to contact our developer who will respond with kind encouragement to just ignore the warnings and go ahead (see the nice red arrow):

unnamed

For potential casters this might be a sign to give up or walk away. The lack of security certificate is a problem. We’ve made inquiries but we just don’t know how to fix it yet. Until we do, inviting potential casters to get on board might be a mistake. We don’t want to turn them off before they begin, and ultimately many of the casters may not be techie types at all. The whole process has gotta be super easy. That’s why we’re working so hard– so it can be super smooth to Shout It Out with CUNYcast in the future.

NEVER GIVE UP!
@CUNYcast #CUNYcast #DHPraxis14