All Projects → BalestraPatrick → Realmvideo

BalestraPatrick / Realmvideo

An iOS app to watch Realm videos and slides at the same time on your phone.

Programming Languages

swift
15916 projects

Labels

Projects that are alternatives of or similar to Realmvideo

mobile-realm
mobile-realm
Stars: ✭ 21 (-93.44%)
Mutual labels:  realm
todoapp-reactnative-realm
Todo App with React Native, Realm
Stars: ✭ 28 (-91.25%)
Mutual labels:  realm
Kotlin Cleanarchitecture
This is a sample app that is part of a blog post I have written about how to architect android application using the Uncle Bob's clean architecture and Fernando Cejas Android-CleanArchitecture in Kotlin. Post in Spanish: http://katade.com/clean-architecture-kotlin/
Stars: ✭ 274 (-14.37%)
Mutual labels:  realm
Linux-Active-Directory-join-script
Active directory Join script for Ubuntu, Debian, CentOS, Linux Mint, Fedora, Kali, Elementary OS and Raspbian with built in failchcheck and debugmode for Ubuntu. "The most advanced and updated AD join script on GITHUB for Linux"
Stars: ✭ 97 (-69.69%)
Mutual labels:  realm
Clean Marvel Kotlin
This repository contains a detailed sample app that implements Clean architecture and MVP in Kotlin using RxJava2, Retrofit
Stars: ✭ 27 (-91.56%)
Mutual labels:  realm
RealmSwiftService
Support Realm CRUD functions. Support Dao Object and Protocol Extension.
Stars: ✭ 12 (-96.25%)
Mutual labels:  realm
realm-dart-samples
Samples for Realm Flutter and Realm Dart SDKs
Stars: ✭ 26 (-91.87%)
Mutual labels:  realm
Android Orm Benchmark
Performance comparison of Android ORM Frameworks
Stars: ✭ 318 (-0.62%)
Mutual labels:  realm
my-first-realm-app
ToDo demo app using Realm and Realm Object Server to synchronize tasks.
Stars: ✭ 38 (-88.12%)
Mutual labels:  realm
Kotlin Android Mvp Starter
Create/Generate your kotlin MVP projects easily
Stars: ✭ 270 (-15.62%)
Mutual labels:  realm
shadowrealm-api
🗳️ A implementation of the ShadowRealm API Proposal, a JavaScript sandbox, test with TC39 Test262 cases.
Stars: ✭ 44 (-86.25%)
Mutual labels:  realm
flutter mongodb realm
Unofficial Flutter plugin for using MongoDB Realm services on Android, iOS and web.
Stars: ✭ 32 (-90%)
Mutual labels:  realm
http-auth
Node.js package for HTTP basic and digest access authentication.
Stars: ✭ 364 (+13.75%)
Mutual labels:  realm
o-fish-realm
Realm application code and sample data for the Officer's Fishery Information Sharing Hub (O-FISH). The mobile app allows fisheries officers to document and share critical information gathered during a routine vessel inspection. The web app allows agencies to gain insights from the aggregated information.
Stars: ✭ 23 (-92.81%)
Mutual labels:  realm
Realm Object Server
Tracking of issues related to the Realm Object Server and other general issues not related to the specific SDK's
Stars: ✭ 289 (-9.69%)
Mutual labels:  realm
Realm-and-Swift-Codable
How to implement Swift 4 Codable with Realm Database
Stars: ✭ 34 (-89.37%)
Mutual labels:  realm
RxRealm
Utilities for using RxJava with Realm
Stars: ✭ 23 (-92.81%)
Mutual labels:  realm
Easyrealm
EasyRealm is a micro-framework that helps you use Realm.
Stars: ✭ 320 (+0%)
Mutual labels:  realm
Cleanarchitecturerxswift
Example of Clean Architecture of iOS app using RxSwift
Stars: ✭ 3,256 (+917.5%)
Mutual labels:  realm
T Mvp
Android AOP Architecture by Apt, AspectJ, Javassisit, based on Realm+Databinding+MVP+Retrofit+Rxjava2
Stars: ✭ 2,740 (+756.25%)
Mutual labels:  realm

Realm Video

CI Status License Platform

Description

Realm is an amazing resource to watch different talks from various conferences and meetups. They publish videos and slides of each talk and it's all great as long as you are not watching them from your iPhone or iPad. In that case, as soon as you start the video, a MPMovieViewController will take all the space on your screen and the slides are not visible. Video without slides is 👎

@realm is aware of the issue but there is no real workaround as you can see from this tweet. Until now.

Implementation

Realm Video uses a UIWebView to take advantage of the great Realm website with the slides being automatically in sync with the video. A Javascript function is used to locate the video element on the page and scroll to it. The HTML element that takes care of showing the slides is also located by finding its id. A MPMovieViewController object is presented as soon as the video is started and a UIView is added on top of it by accessing the window hierarchy. A function runs in the background every second and renders a screenshot of the current slide in the UIWebView. In this way, we keep the video and slides always in sync. The rendered image is then added to the floating UIView to be always visible to the user.

A few cool features:

  • Single tap on the slides to hide them. Tap again to show them again. 👌
  • Double tap to change the position of the slides between top left, top right, bottom left and bottom right. 🔁
  • Pause the video and start again whenever you want. ⏯
  • Skip forward or backward in the video and see the slides automatically syncing with the video. 🆒
  • Browse the latest videos from the Realm website 😎

This project was developed in ~7 hours. It was tested on an iPhone 6s Plus only and it could use some more work to turn it into a real app. Pull requests are very welcome!

Installation

Run pod install and open the workspace project in Xcode, build & run, enjoy. 😎

Contributing

You are very welcome to add new features and fix bugs. Feel free to open as many issues and pull requests as you want. 😏

Author

I'm Patrick Balestra. Email: [email protected] Twitter: @BalestraPatrick.

License

RealmVideo is available under the MIT license. See the LICENSE file for more info.

Disclaimer

Realm uses a few different video providers. The app was tested with Youtube videos a few a other services. If you find a page that is not compatible, please open an issue or submit a pull request.

More images

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].