Giter Site home page Giter Site logo

pomotv's Introduction

iOS/Mac/Swift related videos indexed Build Status

See the rendered site: http://www.pomo.tv

To run this:

bundle install
bundle exec middleman

PR's encouraged.

To add videos for an event:

  • Add the videos to data/videos.yml. Also look at data/events.yml, data/editions.yml and data/speakers.yml and add the missing information there. It's important that we keep data/editions.yml sorted by date. Please take the time to add tags, this really helps for discovering new videos. Also, if there's a transcript/background-info/conference page for this video available, use the direct-link attribute to link to it.

You might also want to run bundle exec rake lint:speakers to verify that every speaker has a bio. Run bundle exec rake lint:editions to verify that every event has the correct info. You can check everything with bundle exec middleman build --clean. This automatically gets run if you make a PR.

If you want to import an entire YouTube account, you can run bundle exec rake fetchyt[uikonf] (replace uikonf with the name of the YouTube account). To do this, you need to create a .env file with a YouTube API account in there. You will need to edit the generated YAML before copy-pasting it into videos.yml.

Troubleshooting

If you get the following error:

An error occurred while installing eventmachine (1.0.8), and Bundler cannot
continue.
Make sure that `gem install eventmachine -v '1.0.8'` succeeds before bundling.

please perform the following command:

$ gem install eventmachine -v '1.0.8' -- --with-cppflags=-I/usr/local/opt/openssl/include

pomotv's People

Contributors

ashfurrow avatar balestrapatrick avatar bontojr avatar chriseidhof avatar czechboy0 avatar dbarden avatar douglashill avatar dtweston avatar eelco avatar elm4ward avatar gregheo avatar grp avatar javilorbada avatar jeroenleenarts avatar johankj avatar jonfriskics avatar krzyzanowskim avatar mbrandonw avatar misantrofia avatar mralek avatar mrjre avatar neilkimmett avatar nvh avatar siejkowski avatar susannproszak avatar thomvis avatar timbroder avatar tomlokhorst avatar viteinfinite avatar vladislavjevremovic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pomotv's Issues

User video queue

Hey Chris, really happy to see this project coming together.

I'd love to be able to queue up a series of videos and track what I've watched. Ideally this would work across devices & could use GitHub login.

This would probably require adding a server component and would potentially open up options for other features in the future. E.g push notifications, easy submission of new videos via forms, etc.

This could be implemented with Parse.com, iCloud, AWS etc, but may incur costs in the future.

Alternatively if we only expose this feature through GitHub then we could create a pomo_playlist repo in the user'a account. This nicely sidesteps adding a central service for now, but doesn't create the infrastructure for other features down the road.

Obviously there are down sides beyond just cost, it would complicate development & maintenance.

What are your thoughts on the feature & infrastructure?

Add slides to videos

It would be nice to have slides embedded or at least just a link to them, if they are available.

Set up automated deployments

We already build using middleman. We should set up automated deployments so that travis pushes to github. To do this, we probably need to take these steps: http://jahed.io/blog/2015/05/31/automating-deployments-to-github-pages-with-middleman-and-travis-ci/

Also, we'll somehow need to run the linter to make sure all speakers are in the data/speakers.yml, and check that there's an entry for each event in data/events.yml. That way, we can merge pull requests straight from github while making sure that everything is correct.

Twitter account

I've setup a twitter account @pomo_tv that automatically tweets about new videos. This uses twitterfeed, which I've also used for years for @Hackage.

The way this is setup, twitterfeed automatically reads http://www.pomo.tv/recent.xml every half hour and tweets the five newest posts it finds.

I don't like the formatting of the tweets as they are now, this needs some cleanup. Currently it looks like this:

Swift C Interoperability:
Tags:
swift
c
interoperability

Description:In this talk, ... http://bit.ly/1WraBQp

Ideally, a tweet should look something like:

Swift C Interoperability - by @chriseidhof
In this talk, we'll look at Swift's interoperability with C... http://bit.ly/1WraBQp

This can be done by either changing the text in the current recent.xml or creating a new twitterfeed.xml.

Thoughts?

Add a linter

This would check that all videos in videos.yml exist, that there is event data and speaker data. Would be very helpful for PR's

Create events pages

So a page for /wwdc, etc. If an event has only one edition, we could do a temporary redirect to that edition. If it has multiple editions, we could list it (maybe just like the /events page?)

New design

I talked a bit about it with @floriankugler, and we can sponsor some money for a new design from objc.io. I'll get in touch with some designers I know to see if they're interested.

Conferences vs Meetups

Currently we have a lot of talks given at conferences, but some local meetups also record those videos and publishes them online. (See NSLondon, Seattle Xcoders, Brooklyn Swift Developers Meetup, SF Swift Language User Group)

  • Should we have a special tag for the events? (E.g. type: Conference and type: Meetup)
  • How should meetups be placed in the events.yaml-file? (As it’s currently sorted by date, which doesn’t really apply to meetups)
  • Should videos from a meetup be tagged with a date? (Or perhaps all videos should be tagged with a date?)

Add tags?

How can we encourage adding tags to videos? This would be super helpful. E.g. all videos with "auto layout", or only Swift videos. Any ideas?

Recently added list, isn't

The "recently added" list on the homepage (and consequently the Atom and Twitter feeds) isn't a list of recently added videos.

Instead it is a reverse list of the videos in videos.yaml, which is mostly chronologically sorted. Probably due to the instruction in the readme about editions.yaml.

I'm not entirely sure how to solve this. Perhaps we can add an instruction in the readme about always adding new videos to the bottom of videos.yaml?
I think it would be nice to promote newly posted videos on the homepage, even if they were recorded a while ago.

Add analytics

Currently GA is down for me. Or at least, the admin interface is not really working.

Create a design

This is just the default middleman css file. We should have something that looks great.

Add an API

We can take the yaml data and generate JSON from it. This way, we have a (static) API. Which is cool, because then people can write iOS/Mac apps to watch the videos!

Optimize page speed

The page load is getting quite big when viewing a page with a lot of videos on it. Sending all those requests and loading a bunch of iframes is probably unnecessary on first load, as most people probably won’t start watching 10 or 20 videos in one go.

A thumbnail url for videos on YouTube can be generated from the video id. Thumbnails for Vimeo videos can only be found by making a request to the Vimeo API.

I have a working implementation for lazy loading YouTube videos on the feature-lazy-load branch.
It could be extended to work with other video providers by having a thumbnail-attribute on each video. The build script (or another rake-command) could fetch and add all the missing thumbnails.

License

Just noticed there's no license for the code. Any idea about the license?

Create a tvOS/iOS/etc app?

It'd be really cool to have an app for this (as several people have noted on Twitter). I think this could be a great app to build with Functional View Controllers. Anyone who feels like taking this on, let me know, maybe I can help!

NSLondon Videos

Just a friendly note that I or someone should add these when the time perchance comes.

Video ID generation struggles with some characters

Problem encountered at #108 (diff) which can cause the build to fail when video titles have certain combinations of characters. See discussion there for background.

I’m no expert here, but I think the problem is the the output from the safe_parameterize method, which comes from middleman. The documentation says this method is to “Parameterize a string preserving any multibyte characters”. Preserving multibyte characters does not sound like a good thing for generating strings for paths in URLs.

Make it easier to import videos

There's a script on the command-line, which makes it easy to import videos from a youtube playlist/user. We could probably do the same thing in Javascript, in the browser. That way, we can provide a web page that imports all videos from a youtube playlist/user, maybe even automatically remove the conference name (for example, by removing a prefix/suffix that every video has). We can provide a simple form for changing the values manually (e.g. separating the speaker's name from the talk, adding tags (with autocomplete!)). Finally, the page would generate yaml for copy-pasting. Ideally, it'd even help you file a PR, but maybe that's a step too far currently...

This way, we can make the barrier for adding videos way lower, and anyone who has a few minutes can help out.

Rename to pomo.tv?

It's a suggestion by @eelco . He proposed the name pomo.tv. Pomo means apple in Esperanto. This is a much better name than "uiko.de". Does this mean anything weird?

Add an importer

This could take a youtube playlist URL or youtube user URL (e.g. https://www.youtube.com/user/UIKonf) and generate yml data for all the videos in that playlist. You probably then need to edit it by hand to make sure the data is correct.

Watched episodes

It will be nice to have an option to keep record of the video you've watched

Realm.io Videos

Just a friendly not that I or someone should add these when the time perchance comes.

Rename repository

Now the new name is ‘official’ it might be a good time to also rename the repository?

Build is broken

The build broke in the middle of my last PRs

screen shot 2016-08-26 at 18 42 25

It seems to be deployment that’s broken. Looking at the log it seems the site builds and the PRs themselves were green

screen shot 2016-08-26 at 18 42 50

Add search functionality

We could first search the tags. But it'd be cool to see if there's a transcript, which we could pull from YT and index?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.