makingvimeo:
When we talk to filmmakers, we like to say that Vimeo “gives your work the power to amaze.” We’ve since extended that metaphor to developers: give your app the power to amaze. Today we’re announcing the release of four open-source iOS projects that help developers integrate core Vimeo services and technology into their own mobile apps. They’re all libraries that are both in active development and present in our own products, so fear not — no stale code here. We’re gonna keep this stuff fresh.
Why is Vimeo doing this?
We’re constantly dreaming and scheming up cool new things to try on mobile, but we’re not the only ones with brains and good ideas. We wish we could hire every badass mobile dev out there, but until that day comes, we’re set on empowering each of them to create more “Vimeo things.”
We’re pumped to see what you’ll develop around these open-source projects, and how Vimeo and the developer community at large can work together to build amazing experiences on mobile. We’re also committed to frequently rolling out improvements and optimizations, so don’t be shy about sharing feedback and making feature requests.
Got it, so what do they do?
There are four distinct projects. Allow me to break them down, one by one.
VIMNetworking
Some call it an Objective-C library that enables interaction with the Vimeo API. Others know it as the Vimeo iOS SDK. It handles authentication, request submission and cancellation, video upload, and advanced features like caching and powerful model object parsing.
In non-README vernacular, that boils down to the ability to develop customized native experiences around Vimeo’s videos, users, and API features — of which there are MANY. It’s all about giving you, the developer, access to view and interact with Vimeo’s vast content catalog, user base, and feature set on your own terms.
Por ejemplo:
Let’s say you’ve got an amazing video-editing tool, and you want your users to be able to seamlessly send their creations straight to their Vimeo profile with easy authentication and file transfer — VIMNetworking has you covered.
Let’s say you want to build an immersive viewing experience around a specific type of video category (maybe… Documentaries about Culture and Technology) — VIMNetworking’s got your back, and so does VIMVideoPlayer. Speaking of which…
VIMVideoPlayer
Even though we’re all Apple fanboys at heart (seriously, just stop denying it), sometimes their native video player doesn’t give you exactly what you want. We hit this roadblock whilst implementing what we thought was a best-in-class video player. We got around that roadblock by developing VIMVideoPlayer, which is a simple wrapper around the AVPlayer and AVPlayerLayer classes.
Use it to give your design and UX team complete control on how they present and manipulate videos.
VIMObjectMapper
JSON is SO hot right now, but parsing it into a native model object is a hassle. Let us handle the hassle with VIMObjectMapper. You focus on building a sweet app.
Pegasus
Let’s be real — uploading multiple large video files on iOS can be annoying. Users might background their app, lose Internet connectivity, or simply attempt to do too many things at once. No one knows this better than us. We think about how to upload videos… a lot. We also find it equally as annoying when two developers write the same code to do the same thing. Our solution? Share the solution!
Pegasus is a sample iOS app that leverages VIMNetworking to enable seriously badass background networking capabilities for apps and extensions alike. It can also be abstracted to perform other types of background tasks, such as downloads, content syncing, notification requests, etc.
Wanna queue up four HD videos for upload? Not a problem.
Don’t want to force users to stare at a progress bar while their pizza cat documentary ascends to the cloud? S’all good, Pegasus will take care of that in the background so your peeps can grab another slice with their fav feline.
Not only are we giving you the raw ability to do this, we’re also giving you a shell UI on which you can build your own apps. Sure, it’s pretty bare bones… but that’s what a sample app should be. We know that you know an amazing designer who’s going to make it look like that crazy idea in your head. We’re just saving you the hassle of writing rock-solid upload code that’s already tested and in production.
Why should you care?
Bottom line: it saves time. Ask our product team, and they’ll tell you a little more (they always do, don’t they?). These libraries, when used in conjunction with our public-facing API, allow you to build apps on top of an infrastructure that’s well-maintained, tested, and free.
Have an amazing video app idea but can’t afford to host the content or build an authentication system? We’ll fill in the blanks.
Are you a badass UI developer that wants to prototype an app idea without shelling out major bones for developers? Pegasus is sounding mighty tasty right now… in’it?
Long story short — you can have your cake, and eat it too. Just save some for us. We love cake.
What next?
Alright, enough with the verbal hyperbole and blue-sky ideas. Let’s write some damn code.
GitHub Repo
API Documentation
Send us your feedback!
Tweet at us: @vimeoapi
Post on Stackoverflow with the tag “vimeo-ios”
Are we speaking your (highly optimized and bug-free) language? Maybe there’s a job for you at Vimeo…here