VLC for iOS 3.2.0 - A whole new Design

We’re so proud to finally present to you VLC 3.2.0 and with it, the work of over a year. We completely overhauled the UI to make VLC more intuitive and easier to use than ever before! I know what you’re thinking right now: “Good UI and VLC? Not Possible!” But we sat down with our Designer Louis Currie and sketched out, how we can address all the pain points that all of you have brought up over the years!

So what has changed?

Hamburger Menu vs Tab Bar

Navigation moved from the old Hamburger menu that was cluttered with items, over to a simple easy to reach Tab Bar at the bottom with just 5 categories: Video, Audio, Playlists, Network, Settings.

Subcategories & Sorting

Within the Audio Section users are able to swipe and with it switch between subcategories like Genre, Artist and Album and songs. And something that many of you wanted for a long long time can also be found,  the possibility to sort by different categories like alphabetical order, size or date added!

Folders become Playlists

The folder feature that was added years ago was everything but intuitive and with only one level of depth not really useful for many. We decided to convert it to what it really was meant to be and that is Playlists. Playlists is an easy way to create a collection of media that can be added to, deleted from or simply reordered.

Light-Dark.gif

New Media Library

All of this would’ve not been possible without completely exchanging the underlying Media Library. The years before we used a proprietary Media Library which only worked on iOS but with 3.2 we’re moving to the shared library that is also being used on Android and therefor reducing the amount of work that is needed to maintain two libraries for two platforms. The migration, implementation and adaptation was done by Soomin Lee as part of his GSOC participation.

Let There Be Light

All these years we always featured a dark design and while it is perfect for a movie Application we knew that it might not have been for everyone. This release lets you decide if it should be light or dark mode

VLC for iOS 3.1.4 updated for iPad Pro

The new iPad Pro is a powerhouse of a device and there is no doubt about it!

With its new A12 Bionic processor we at VideoLAN are now able to use up to eight cores to display your videos. Even some of the most performance intensive videos, that were only playable on your laptop, can now be watched with ease via VLC on iPad.

We also adapted the UI for the new form factor and made sure videos look gorgeous with the new aspect ratio format.

External Screen support

In case you need to present your newly created video on a big screen you’ll be happy to know that we also have a solution for that. With the new USB-C port the iPad becomes far more versatile and connecting an external screen is a breeze. Once connected we will detect and present your video on the additional screen so that you can enjoy watching it without worries.

ExternalScreen.png

Face ID

The new iPad also brings the convenient Face ID feature to your iPads. VLC also makes use of it in case you want to protect your confidential videos from curious eyes. No typing in a password if you don’t want to.

VLC for iOS with Chromecast support

Today, we’re excited to released version 3.1 for iPhone and iPad and we’re bringing some exciting new and long- awaited features to our users!

Chromecast support!

VLC Version 3.1 doesn’t just play the usual formats that are supported by Chromecast, but now it can also play every single video and audio file that regularly plays in VLC.

“How is this possible?" you may ask

Because we’re not using the standard Chromecast SDK!

We know you have old family videos from back in the day or exotic formats and want to be able to cast them. That's why we’re converting them on the fly into a format that is understandable by the Chromecast.

It wasn’t an easy task getting this to work - it required adaption on every platform. On the iPhone and iPad, we’re using VideoToolbox, a low-level framework for hardware-accelerated video encoding and decoding. We're still working hard to improve our Chromecast support to stream video as well as subtitles in the future!

VLC, Now With Improved 360-Degree Video

We’re also proud to announce that 360-degree videos can now be watched with device motion support, simply by moving your phone. This means you don’t need to upload your videos to an online service to be able to see them - instead, you can share them directly with your friends. If you want to share them with your friends at home simply mirror VLC to your Apple TV! 

Device motion support for 360 video in VLC for iOS 3.1 (© Piste Lübeck)

We’re also rolling out additional improvements and bug fixes, including:

  • We fixed a bug where files on your phone were not displayed in VLC

  • Stability and performance improvements when decoding H.264/H.265 in hardware

  • Improved audio playback quality

  • Fixed a regression preventing the download of certain media files via http

  • Fixed a regression where downloaded files might disappear

  • Fixed a regression where users couldn't log into Google Drive

MobileVLCKit 3.1

Along with the new iOS release, we're also offering Chromecast support to all of our framework users. Since VideoToolbox is absolutely necessary for this, we had to raise our minimum target to iOS 8 and for tvOS to 10.2. For 360-degree videos, we've also added the ability to manipulate the videos axis directly.  

We’ve also made a handful of helpful improvements to MobileVLCKit 3.1:

  • Included fixes for playback of AVI, MP4 and MKV files,

  • Added an API to enable deinterlacing

  • Brought the snapshot API to macOS

  • Fixed an Issue that led to green artifacts in H264 streams

  • Improved subtitle display

This major update is the result of months of work and I would like to thank ThomasSoomin, FelixPierre, Adrien and others for their dedication to make this possible.

  

VLC for iOS - Retro March

Another month has passed and it’s time to sum up the biggest changes and developments and share what we envision for the future!

Continous integration on every Pull Request!

This helps us to catch breaking changes before they make it into the code base. Additionally to building iOS and tvOS we want to integrate the tests that David and Mike are now working on. If you’re adding new featues and don’t want them to break, I’d like to point to the words of Beyonce "if you like it, then should’ve put a test on it!" ;) 

- New User Interface

The first mayor change has landed in Master 🎉 Thank you all so much for the valuable feedback! It made the first PR so much better. The first follow up tickets have been created here: new UI tickets. This is not an exhaustive list and I would encourage everyone to add to it, in case I missed something. We’re still iterating over the UI but if the tickets are not making sense you should take a look over to Figma which is where Louis has moved the Design now 

Pull Request Template and Linter

We’re growing as team, which adds the challenge of keeping a unified code style and convey the necessary checks when you contribute changes. Therefore David is working on a Template and linter to help with this

Automatic Screenshotting

VLC has been translated to over 20 languages and works on more devices than most other media players! With the upcoming changes of the UI arises the need of updated screenshots on the Appstore. Doing this by hand would be a time consuming and tedious task. By adding Automatic Screenshotting we ensure translated and up to date screenshots with every release, a task that Mike is finishing up currently

- Chromecast and 360 video

As mentioned in the mail before, Soomin is working on the Chromecast integration and I started adding to the existing 360° videos. Both of these features will be part of the upcoming 3.1 release for iOS which is currently scheduled around the beginning of May.

Looking at reviews on the App store and feedback from the videolan Forum the most pressing three issues are:

- missing Chromecast integration

- no ability to sort, outdated UI

Issues with disappearing files and folders

We’re in the process of addressing the first two right now but struggle with the last one. If anyone is able to reproduce or fix that ❤️ much love will be send your way from all our users. 

In general we aim at delivering an App with innovative features, an intuitive and delightful UI and bring the code base up to industry standard. All that so that we can lead by example and teach and share our work with everyone out there. With that being said I‘d like to highlight that respectful communication and collaboration with each other is an important part of this. Seeing this in every feedback on Pull Requests and message on IRC makes us very happy 😊 

 

VLC for iOS - State of the Union

It’s been amazingly great to see how our team has grown in the past couple of months and the progress on all areas is outstanding! I’m pretty sure that not everyone of you knows about the details of the ongoing progress, so I'd like to share an overview that should help with seeing the big picture :)

Here are a couple of our greatest achievements from the past months:

- Louis started working on a stunning design for the new UI together with feedback from j-b, Felix and Soomin. This will resolve so many pain points frequently mentioned by users! (For those that don’t have access yet and would like to take a peak please just reach out)

- Soomin has written a script that is now used to automate the VLCKit building which has moved to a build server. This leads to consistent builds, less errors and a more efficient ways of releasing. Additionally he worked on the new Medialibrarykit which will be used under the hood with the new UI. He also recently started integrating Chromecast into VLCKit and now also VLC for iOS, one of our most asked for features

- Felix did some work on unifying the VLCKit buidscript to include MacOS, he also did a lot of janitorial work by getting rid of not used files and resolving warnings.He also brings visibility to the project by writing Blogposts about VLCKit and keeps pushing for more integration with libvlc

- Thomas our core guy resolved multiple crashes and issues with Audio, Video and everything close to libvlc. He also improved performance for Video- and Audio- playback .To highlight the biggest issues he solved: iPhone X crash, crashes with OpenGL, the app getting unresponsive after backgrounding and there is so much more.

- David recently joined by working on fastlane integration that speeds up Appstore deployments (yay no manual version editing and copy pasting to 20 languages).He also started adding a test lane and gives so much valuable feedback in PRs!

- Pierre resolved issues with our Plex integration and Network streaming.He also reduced a bunch of deprecation warnings, bugs and issues mentioned by users

- Mikes first PR just landed in our codebase to add scrubbing in the lock screen. He’s been busy writing proposals for the VLC GSOC participation and started digging into VLCKit to help with some long standing issues 

I’d also like to use the opportunity to introduce a common communication channel for external contributors and VideoLAN members. So far we’ve been using, twitter, facebook messenger, slack and email to talk to each other and I had to repeat frequently topics that concern not only one, but all of you. By introducing a common communication channel we create a faster way to answer questions and resolve issues, that each one of you might face!

The VLC way is to use and support open source solutions, in this case IRC on freenode. We created a subchannel #vlc-ios that I would like you to join. 

As Client Application on Mac Riot seems to be the best choice so far. If you get stuck and don’t know how to join please reach out! I have had trouble before (thanks @soomin and @felix for helping me)

Btw there are IRC - Slack solutions/integrations 

I looked into them but they didn’t seem very easy to setup (If anyone knows about an easy way, please tell me)