We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Present & Future of the oC mobile apps

00:00

Formal Metadata

Title
Present & Future of the oC mobile apps
Title of Series
Number of Parts
34
Author
Contributors
License
CC Attribution - ShareAlike 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Review of the status of ownCloud mobile apps: what's new and challenges for the close future. An overview over the ownCloud mobile apps, its new features included during the last year, and how the apps grew up. Also, the new challenges awaiting to be faced. https://cfp.owncloud.com/occon18/talk/WDY8Y7
24
Mobile WebMobile appoutputAndroid (robot)Link (knot theory)Software developerMobile appLecture/Conference
Mobile WebMobile appInformation securityPattern languageGraphical user interfaceLink (knot theory)Android (robot)Library (computing)AuthenticationArchitectureSoftware testingExecution unitView (database)LoginDampingData structureMathematicsOrder (biology)Computer architectureFeedbackSoftwareLibrary (computing)Software testingIntegrated development environmentBeta functionFunctional (mathematics)Content (media)MereologyProjective planeLink (knot theory)Revision controlServer (computing)Operator (mathematics)Process (computing)Instance (computer science)Information securityoutputOpen setAuthenticationWeb browserElectronic mailing listComputer filePasswordFingerprintDifferent (Kate Ryan album)Unit testingComputing platformLoginUniform resource locatorWebDAVInterface (computing)Pattern languageAndroid (robot)Default (computer science)Repository (publishing)Mobile appWindowINTEGRALPhysical systemSoftware bugArithmetic progressionRoundness (object)Stability theoryChemical equationDigital photographyOffice suiteComputer animation
WhiteboardHypermediaVideoconferencingData managementInformationTouch typingMathematicsComputer architectureFeedbackSelf-organizationSemiconductor memoryLibrary (computing)BuildingDrop (liquid)INTEGRALSoftware testingComputer configurationMathematical optimizationBitResultantCentralizer and normalizerScaling (geometry)Link (knot theory)Revision controlServer (computing)Computer virusHypermediaCASE <Informatik>Heegaard splittingInstance (computer science)Information securityShared memoryPoint (geometry)Ocean currentoutputOpen setAuthenticationCartesian coordinate systemInteractive televisionComputer fileClient (computing)Point cloudTrailWhiteboardDifferent (Kate Ryan album)Kerberos <Kryptologie>Unit testingComputing platformTouchscreenMultiplication signCollaborationismPublic key certificateInterface (computing)Web applicationGame controllerDefault (computer science)Mobile WebMechanism designRepository (publishing)Software developerMobile appContinuous integrationEnterprise architectureOrder (biology)SoftwareDrag (physics)Computer programmingPositional notationLevel (video gaming)VideoconferencingUniformer RaumDecision theoryProbability density functionForm (programming)Connected spaceUniverse (mathematics)Projective planeWater vaporException handlingMusical ensembleDemonSocial classCuboidShape (magazine)TowerSurfaceSound effectWorkstation <Musikinstrument>Bit ratePasswordObject (grammar)LoginSpacetimeWeb 2.0Cloud computingLecture/ConferenceComputer animation
Transcript: English(auto-generated)
OK, I think you can hear me. So good afternoon to everyone. Thanks for attending. My name is Jesus Recio. I work as an on-cloud QA for the mobile apps,
both iOS and Android. And in this talk, we'll have an overview over the features developed during the last months and in the last year, and also a look to the future to know which are our challenges in the mobile apps. So let's go to start. Maybe the most important feature we
have developed during the last month is OAuth 2.0. One year ago, we talked about OAuth 2.0 was the challenge to improve the authentication process in both apps. And right now, it's a reality. So we can use OAuth 2.0 to authenticate ourselves
in the apps. We avoid to use our credentials. Instead, we use a token that is renewed every hour and can be revoked everywhere. But this is common for both apps. Let's go to check what do we have specifically for one of each platforms.
And maybe we are going to start with Android, for example. In the Android side, the Insta uploads was one of the most known and popular features we have in the app. But due to some restrictions in the Android system, the background processes were cut off. And we cannot keep alive those processes that
check the new content we take with the camera to be uploaded to your server instance. So we have replaced the Insta uploads for camera uploads. In this case, we trigger a scheduled job every 15 minutes to check the new content to be uploaded to the server side. Of course, we are losing the instant condition,
but we keep the reliability in the uploads. But what happens if we cannot wait 15 minutes to upload our content? We have this contribution for the community, as you can see in the stamp. In the uploads menu, we have the picture from camera. So if you select this option, your camera, by default,
will be open. You will take a picture and will be instantly uploaded to your server. A difference for the camera uploads, in the uploads for camera, you have to have the app in foreground. So these two features complement themselves very well to cover the functionality that previously did
the instant uploads, of course. Also, we have improved the security in our app. One year ago, we can lock our app using a four-digit passcode. Right now, we can use our pattern lock. Also, thanks to the community. And we can use the fingerprint lock
if our device supports it. For the new users, we have introduced, as well, a welcome Wi-SAR with the most important features and functionalities of the app in order to introduce the new users into the iCloud world,
not only from the new users that install the app from scratch. So also, when you upgrade to a new version of the Android app, you will see an upgrade Wi-SARs with the new features of such version. We have been working much many features.
For example, you have here a list, Chromecast on tabs, in order to improve the reliability in the OAuth 2 authentication process that is performed in the default browser of the device, support for private link. We have redesigned the drawer following the guidelines of the material design,
including, for example, the quota of the user. We have included animations in the browsing. We have included GIF support and things like that. And also, more features that you can check in the change log of the Android app in the open GitHub repository that you can see here, the URL.
Which are the next challenges in the Android app? We are working in some engineering changes in the lower layer of the app. In this case, in the network layer, also including the WEDDAP part.
We are switching the old Apache HTTP library we are using to support networking for HTTP3. This is a new and modern library. And also, we are supporting WebDAV instead of Jackrabbit, the previous library, with DAF for Android. This is a work in progress, but it's already
available in beta version. If you use an Android device, you can download the 2.9 beta 1 version that is already including these two libraries to support the networking operations. I encourage you to download it and give us your feedback. Also, we will work in the searching feature.
It's important to search for your content in your folder structure. Also, we'll improve authentication. And we will keep including architectural changes that will let us the possibility to improve our quality. Changing the architecture will let
us to design more unit tests and actually improve the UI tests we are using developed with Espress. OK, this is what we have in the Android side. Let's go to the other part of the world. This is the iOS 1. In the iOS side, as I have already mentioned,
we have been working in OAuth 2 already available. Also, in other features, we have here a small list of the features. We have recreated the log-in view, changed the logic, and created new UI improvements. We have included the universal link to open links inside the app.
We have included WebKit WebView as interface to improve the security and the preview of the files. Another feature you can check also in the change log in the open GitHub repository. But the reality is that the iOS team of iCloud is working on a new project. This is a new iOS app that will
improve the UX, the experience of the user, the performance, and many other things. Look into the future in this iOS environment. Now Michael will tell you more things about the iOS app, the new iOS app. Summarizing, it's divided in a powerful SDK and the app
itself. So right now, you will have more details. Michael will tell you. Here you have my contact, if you want to touch me for any of these channels. And here you have some interesting links if you want to get any access, participate on feedback. Michael will let you know how it's about.
Thank you. Thanks, Jesus. Could you go back to the screenshots? They look at least so people can at least look at something. OK. As Felix, hello. My name is Michael, Michael Stinger. I work with the teams for the desktop on mobile apps at OnCloud.
It has been previously mentioned this morning. The old iOS app didn't aged that well. Some old architecture stuff, some new stuff in the Apple world. So we decided to start with a new one.
I will give you a quick overview. And yeah, at the end, there's also how to already access the first pieces of the new iOS app. So what we can do in 2018 is use all the awesomeness
the iOS platform provides in 2018. So a lot of old stuff we do not need to care. So we decided to support iOS 12 and now earlier versions. So the version that got released yesterday in the morning.
This means all devices that has been released in 2013, like the iPhone 5S, iPad Air, iPad Mini 2, can run this new version. We will keep the old version for a while to stay, to have an option for the older devices.
The biggest goal is, of course, the integration in the iOS Files app. We did manage to build this into the old app. So this is the first problem we are solving with the new iOS application. As a showcase, we would like to demonstrate in the new app
is stuff about viewing PDFs with some advanced features, like searching PDFs, maybe annotations soon. And we're doing this step by step. And yeah, all the modern stuff like split screen flexible layouts, track and drop files, and folders.
And we are aiming for blazing fast performance. I can tell you a little bit about the technology later. Security, very, very important. We have some few interesting features. Our goal is to always let the user know what is going on. So we have the option to get informed about redirections
that happens in the server, certificate issues, let you inspect old and new certificates. As said previously, authentication is based on OAuth 2. Using the SF authentication session, newest thing in the Apple world, in the iOS world that is available for this,
following the RFC 8252. Of course, security mechanism like passcode, touch ID, face ID, all the stuff can be managed. We are working close with customers to build something that is really useful in big organizations.
So for the enterprise world, we want to support all the large scale authentication mechanism. Felix already mentioned multiple times that we are aiming for open ID connect, but also Kerberos and certificates are going to plan to be supported. We are going for excellent offline support,
not only as a feature where we clean check marks on the box, but also where the user has control and feedback on what is going on, what is offline, what needs to be synced, how much data with only Wi-Fi only and so on and so on. We are also in the architecture from day one
working for best support of mobile device management solutions. We are working close with some of the vendors, so the integration in all kind of enterprise setups will be very, very good.
And also, the stuff mentioned early in the server talk about the API where application can provide feedback to the server for compliance, where we add information to the audit log. Do we have a full offline sync? Are the files available when I go offline and all the stuff will be supported.
For the technical stuff, there's a workshop later with Pablo and also Felix. Schwartz will join us. It's based a little bit like the old app, but it's a little bit different. It's based on an SDK that is much more powerful than the old one.
It's written in Objective-C for optimum use of memory and performance. And this is kind of a low-level, so it provides a low-level interface if the app would like to talk directly to own cloud servers and a high-level interface that makes implementing clients really easy.
So this SDK is not only for own cloud app, also other applications can use this or we can build custom solution on top of this. SDK has no external dependencies, makes it very, very flexible. And then we have the iOS app itself. The iOS app itself is less powerful but much more beautiful and much more useful.
It's more like a thinner layer of UI. There you can interact with the stuff and all viewing, editing of documents, all the interaction are done there. And we are aiming for a modular architecture and to support different use cases in the future.
For example, swap some of the libraries that are used to view files or to edit files if in some use cases we need a special thing, maybe also from another vendor that gives us very much flexibility there.
So at the beginning of the project, we had unit tests and UI tests from day one. So all the development has been done with this in mind. Everything, every commit is running in the continuous integration. Currently we use Bitrise, that works very well for us.
The sad thing is we cannot share public the results but if you would like to, are interested in this, what is going on, I could add you to the Bitrise team so everybody of you could also look at the CI results but it's not public by default.
Maybe there will be another tool that also supports this. We also added in the pull requests and the commits the test coverage so that it's public, what is tested, what's not tested, where are we improving, all this stuff. Our idea is to make this as open as possible. All the ideas we are getting from partners
and community are adding this to the public repository. We are discussing feedback and user experience stuff in the public issues. If someone points us on social media about issues, we always add this to the discussion, link to the thing. For design, we use a web-based collaboration platform,
Figma, that is also free for all, so everybody would like to discuss design issues with us, can log in there, fork our design, modify it and propose a change. So we also can discuss stuff about this.
Yeah, so that was a quick overview about the stuff we have. And for you, if you would like to get your hands on a very, very early version of this, so a lot of the stuff I talked about is maybe available in the SDK but not yet available in the app, you can go with your device on boarding.oncloud.com
enter information and this will add you automatically to the TestFlight program, so the beta testing solution from Apple. There's a repository for the new iOS app. And yeah, for feedback, we use a discourse instance central.oncloud.com.
If you have ideas or find glitches or would like to discover other stuff, this is a place to go. So I hope we can, if you register for boarding.oncloud.com, I hope we can push another release in the next few days so that already solved some issues,
but it's still some time to go. So it's far away from the perfect solution yet, but we would like to involve you, get your feedback and work on this step-by-step. Okay, that's it. If you have any questions, I'm around for the next few days, also the team.
If you're interested in technical stuff, join the workshop from Pablo about the insights in the iOS SDK and how to attach the iOS app. So yeah, thank you very much.