ownCloud Planet

Contributing to the ownCloud mobile apps
March 26, 2015

The Android app
The Android app

The source code of the ownCloud iOS app was made available under the GPL this past November. The Android app has been open source for a while and managed to build up a healthy community.

Unfortunately, there have yet to be many contributions to the iOS app, but there too, the availability of the code means people can step up if they want to improve it! In this blog we’ll discuss the state of both apps and how you can to contribute to them.

Activity in the Android and iOS apps

The ownCloud Android app has been open source for a long time and a lot is going on. The most prolific contributor would have to be Tobias Kaminsky who is working his way to 30 pull requests, with over 20 merged (note: many went in through other pull requests). Altogether, though, 37 people have contributed to the Android app already.

The iOS app, having just been open sourced, has not seen that much help yet from outside our ream of ownCloud, Inc. employees.

How to get your code in?

So let’s assume you have a change you’d like to see in the Android or iOS app and you have some experience with Android or iOS development — or at least the languages they are written in. Here is what you can do:

  • Read up on contributing to ownCloud with our general guidelines and our code of conduct, as well as about the specific apps : iOS, Android.
  • Decide if you’d like to sign the contributor agreement or contribute your code under the MIT license.
  • Then it is time to check out the code, get building, and code what you’d like to have. It is recommended that you create an issue to announce you’re working on this, that way you get feedback, UI suggestions from our interaction design team and, once you have a basic prototype, perhaps help and reviews early!
  • It is key to keep changes proposed for inclusion separate and small. The bigger and more hairy a pull request (PR) grows, the harder it is to get it in. So split things up where you can into smaller changes — if you need a small improvement like an API addition for a big feature, get the API change in via a small PR first rather than adding it to the big piece of work.
  • Note that both mobile apps develop against the develop branch, where we keep a master copy of the code published on the app markets. So fork over the develop branch and get coding there!
  • Once your code is in shape people will be looking at it. Ask questions and answer them, even ping people by name if you’d like them to review your code! After two positive reviews one of the maintainers will merge the code. Sometimes it has to be reworked a bit and a maintainer will take it to another pull request, but you will figure it out — we talk plenty on github!

For example, see how LukeOwncloud fixed a problem that got merged: on downgrading upload db, delete and re-create #798

Even if things are sometimes a little more complicated, as in this case of a nice new feature by Tobias Kaminsky, we all work together to get improvements integrated: Thumbnail for upload #746

As you can see, “together” is the keyword. We like to help each other out and you are always free to ask questions if you have any!

The iOS app
The iOS app

Junior Jobs

If you’d like to try your hand on something relatively simple at first, consider one of the Junior Jobs for iOS or Android.

A Junior Job is a task which the maintainers have deemed relatively simple. That doesn’t mean it’s just a five minute job, especially if you’re unfamiliar with the code base, you’ll still busy for a good while! However, going through the process is a great way of finding out how it all works and getting yourself prepared for a bigger task.

Of course, you’re also very much welcome to ask for help, ideas, and mentoring. You can ask questions on our IRC channel or on the development mailing list!

Building a third party app

If instead you’d like to build an app that can use ownCloud to store and sync data, the iOS and Android libraries are at your disposal! These are very permissively licensed and can thus be included in your app, which takes care of the talking to the ownCloud server. You can find the ios-library here and the android-library here.

Both have a simple example use case of the library, the OCLibraryExample for iOS and the sample_client for Android. Documentation for developing an app with the client libraries is available for iOS and Android and you won’t be the first – see for example Crypto Cloud and Cloud Music for iOS.

Are you app for it?

Contributing to an open source project isn’t the easiest thing in the world but, as Lukas notes in his blog about contributing to open source projects:

“You too can be one of those hidden heroes ensuring that open-source rocks the world”

read more

Klaas Freitag
ownCloud Client 1.8.0 Released
March 17, 2015

Today, we’re happy to release the best ownCloud Desktop Client ever to our community and users! It is ownCloud Client 1.8.0 and it will push syncing with ownCloud to a new level of performance, stability and convenience.

The Share Dialog

The Share Dialog

This release brings a new integration into the operating system file manager. With 1.8.0, there is a new context menu that opens a dialog to allow the user to create a public link on a synced file. This link can be forwarded to other users who get access to the file via ownCloud.

Also the clients behavior when syncing files that are opened by other applications on Windows has greatly been improved. The problems with file locking some users saw for example with MS office apps were fixed.

Another area of improvements is again performance. With latest ownCloud servers, the client uses even more parallized requests, now for all kind of operations. Depending on the synced data structure, this can make a huge difference.

All the other changes, improvements and bug-fixes are too hard to count. Finally, this release received around 700 git commits compared to the previous release.

All this is only possible with the powerful and awesome community of ownClouders. We received a lot of very good contributions through the GitHub tracker, which helped us to nail down a lot of issues and improved the client tremendously.

But this time we’d like to specifically point out the code contributions of Alfie “Azelphur” Day and Roeland Jago Douma who contributed significant code bits to the sharing dialog on the client and also some server code.

A great thanks goes out to all of you who helped with this release. It was a great experience again and it is big fun working with you!

We hope you enjoy 1.8.0! Get it from https://owncloud.org/install/#desktop

read more

ownCloud Desktop Client 1.8 released
March 17, 2015

Client 1.8The ownCloud Desktop Client is what brings the files from your cloud seamless to your desktop. You can pick any number of local and remote folders and keep them in sync, ensuring you always have the latest version at hand. The previous desktop client release introduced the ability to except specific files or folders from syncing and to show the sync state with emblems on icons in the most popular file managers on Windows, Linux and Mac. The 1.8 release adds some significant improvements to the already impressive list of client abilities.

New features

The new ownCloud Desktop Client 1.8 introduces sharing from the desktop. A new entry in the context menu in file managers allows you to share a file directly from the desktop by public link, with password and expiry date as desired.

A second major improvement is the ability of the 1.8 client to handle file locking much faster, reducing editing conflicts with for example Microsoft Office and getting rid of many error messages due to simultaneous editing of files.

For Mac OS X users, HiDPI support will be a welcome improvement to the desktop client, improving the legibility on Apple hardware with Retina screens.

Stability and performance

As with every ownCloud Desktop Client release, there have been many smaller improvements and updates to the underlying infrastructure. Notable is support for using more parallel requests with ownCloud server 8.0.3 (to be released in a few weeks) and higher, leading to much better up- and download speeds.

Another nice addition in this are is the new crash reporter, which allows the client to easily send crash information to the developers for examination and swift fixing.

Get it and contribute

You can download the desktop client from the ownCloud installation page and grab the source code from github. That is also the place to contribute feature requests, bug reports and of course code and improvements – find the issue tracker here. Many of the improvements in this client release were only possible thanks to the help the developers received with testing, reporting issues and help with code and review.

The announcement email gives a special thanks to Alfie “Azelphur” Day and Roeland Jago Douma who contributed significant code bits to the sharing dialog on the client as well as some ownCloud server code. Dominik “Domme” Schmidt contributed to integrating the crash reporter, coming from his Tomahawk music player, in the ownCloud client. Kudos to them for their work!

read more