ownCloud development in the second half of October
November 26, 2014
Welcome to the ownCloud development update from the second half of October! This overview is put together from activities on github, the mailing lists, blogs and whatever else is shared in the ownCloud community. Tips are welcome, ping Jos with your input!
The biggest items these two weeks were lots of low-level core improvements, a new sidebar in Core, lots of new features in the Android app, XMPP support in the Chat app and much activity on apps.owncloud.com! Interesting blogs and announcements include the debate around ownCloud in Ubuntu, ownCloud at LinuxCon and the announcement of ownCloud in Bountysource.
You can read a report on the first half of October here.
As always, we start with the development progress in core. There has been some low-level clean-up work and improvements as well as updates to 3rd-party functionality included in ownCloud and the usual fixes and features in various areas.
- Some cleanups took place, like handling of temporary files, only mounting user storage once, loading avatars in the header via PHP instead of using JS, removing an unreachable statement (found by a static code checker), cleaning up previews after a folder got deleted, there was a major cleanup of database handling which got merged and some functions were moved outside loops improving performance
- jknockaert initiated a long discussion when he proposed to rework the GetFileSize function – a very low-level piece of functionality which has now become more robust thanks to his efforts
- In third-party update news, pear/archive_tar was updated to 1.3.13, doctrine/dbal is now at 2.5, PHPass lost a file in C which wasn’t needed by ownCloud and caused security errors at some cloud providers and Patchwork/utf8 went to 1.1. New in ownCloud is punic 1.1.0.
- Unfortunately, a PR to update the Patchwork library got stuck after the initial contributor didn’t respond to a request. You can unstuck it, if you want!
- After bumping into a problem with returning errors from controllers, Raydiation got a neath solution merged – and a documentation PR is ready to go
- In strange-login-errors-news, this PR should make them disappear
- Thanks to localization now being based on punic the ownCloud language settings have become independent from the underlying OS
- After a healthy conversation, session handling was improved
- Apps now have the ability to gather performance diagnostics, helping sysadmins to improve ownCloud performance
- The updater had another small fix to improve its reliability, while also getting some style and code improvements
- New app settings were migrated to Appframework
- The sync client will benefit from the generation of stable etags for local files as this prevents unneeded re-downloading of files
- DB rollback functionality was added by danbartram
- On the way to security perfection, “Allow any outgoing XHR connections” was merged as temporary solution
Some of the core improvements are design related, including these:
- The admin page now features a side-bar following a design discussion
- If you’re interested in how ownCloud deals with configuration vs smart defaults, this discussion and the linked issues are worth reading
- In small change – big effect news, the group admin label was renamed by sebomoto (who is new and received a warm welcome by other design team members)
- When autoconfig is used, no need to bother users with SQLite information!
ownCloud heavily relies on apps for its functionality. The mobile and desktop sync apps bring your files to various devices and the server apps bring extensive functionality like chat, contacts, audio streaming or a password manager.
- The android app received a contribution from magsjoq which makes it remember the last upload location from sharing (original PR). It even came with Swedish, English and Italian translations!
- A great contribution by tobiasKaminsky was merged here, bringing sorting of files to the Android app
- The android library now deals with secure ownCloud access over a proxy
- Users can now pick an instant upload path thanks to the work of loripino21 (coming in the next release, 1.6.2)
- The photo and other upload screens now feature a “select all” option thanks to grecep
- ogasser contributed code to the Android app which could handle ownCloud servers running on IDN (merged here)
- svkurowski contributed the ability to automatically change the icon color depending on the panel background to the desktop client (working only on Mac, for now)
Server app improvements
- The chat app added XMPP as second Chat backend, making it compatible with a wide array of chat applications
- The ownCloud Documents app migrated to AppFramework
- The user_CAS app got a series of improvements in a contribution from brenard
- In the contacts app, avatar handling was improved to not break things when avatars are disabled. The contact app now also correctly grabs images from vcards
- Imprint was ported to ownCloud 7 by arkanscha
Activity in the ownCloud app store has been frantic:
- The oclife app, bringing tagging to ownCloud, received a major update, bringing compatibility for ownCloud 7, tag ownership and permissions, preview for images on the tag page, EXIF data tab on extended info and Spanish translations
- The user_sql app introduces a new Admin interface with the 0.9.1 release. This app allows authentication against an arbitrary SQL database, including sharing support between users in the DB
- An update to the storage charts app fixes some minor issues and introduces French translations
- The Shorty Tracking app was updated with ownCloud 7 support
- The standalone XMPP chat Jappix is new in the ownCloud App store
- The ownCloud ebook Reader app version 0.4.4 fixes some small issues
- The Tomboy sync server app 0.4.0 update introduces note preview, search, download, and shows custom icons, highlighting of current notebook and note modification display in the list
- The unix user backend updated to version 2.2 with a minor fix to the mail setting form
- And last but not least, the SMS app made it to version 1.3.0, introducing smarter phone number handling, ordering of conversations, automatic refreshing and desktop notifications
If you’re interested in working on or building ownCloud apps, see the documentation for server side apps. Desktop client fans can get started here and you can find the iOS developer documentation here and the Android documentation here. Both latter links also cover the iOS and Android libraries, important if you want to integrate ownCloud in your own application!
On Planet ownCloud you can find blogs from ownCloud contributors and advocates. The last two weeks of October saw the following posts published:
- An explanation of the issues around ownCloud packages in Ubuntu
- How to un-stuck ownCloud when an upgrade breaks
- Video of the LinuxCon Europe ownCloud keynote and panel discussion are available
- Introducing Bountysource for ownCloud
- ownCloud was Awesome in Beijing
- The Development overview on the 2nd half of September became public
The mailing lists featured some technical discussions, as well as the following calls for help and announcements:
- Bernhard Posselt called out for testing for the upcoming 4.0 release of the news app. The community update on the first half of November (coming soon!) will inform you about the new release
- October 22, ownCloud Desktop Client 1.6 was released with a number of bugfixes, while two days later 1.7 RC1 arrived. The final release is out now, see this blog for details!
- Alessandro did a call for help about adding ideas to the ownCloud GSOC page
- Jörn Friedrich Dreyer announced the formation of a new ‘search team’ in github for people interested in the search capabilities of ownCloud
- And Jos asked for people interested in helping out at an ownCloud booth at the South California Linux Fest
You can join the discussions on this page.
As always, we can only ever cover a small part of what is going on in ownCloud. If you want to follow things more closely, follow our twitter account, Facebook page or our G+ page. We are now also active again on Diaspora!
Monday, we published a blog about ownCloud events. Find a calendar of ownCloud events on owncloud.org/events. If you would love to meet and discuss ownCloud with likeminded people but nothing is happening close by, consider organizing an ownCloud meetup! Check out this page on how to get started.
What's Holding ownCloud Back?
November 25, 2014
Easy ownCloudAs Frank pointed out in his blog on the future of PHP, ownCloud has ease of use as an explicit and very important goal. And while the technological choices made aren't always so exciting and bleeding edge, they do result in ownCloud being very easy to deploy on a very wide range of devices. Plenty of tutorials exist showing it running on everything from Rasberry Pi devices to big iron at organizations like CERN, where physicists looking for the origins of the universe are routing hundreds of terrabytes of data through their CernBOX build on ownCloud, sharing and collaborating on the data analysis.
LimitationsUnfortunately, there are limitations outside of what ownCloud can directly control.
In the database area, SQLite is default because it requires no manual setup whatsoever. But performance suffers when an installation has more than a trivial amount of data. When sharing with more than 15 users or indexing your mp3 connection, SQLite usage leads to frequent time-outs and other issues!
Another, more serious issue, is the architecture of the current internet. Most users are set up at home behind a firewall provided by their internet router. While this provides some additional security, it is mainly because the limited number of unique addresses available in the still widely-used 'IPv4' protocol. It simply is impossible to assign a unique address to each device connected to your internet at home. But this means your server will not be reachable when you're not home, unless you adjust some settings on your router. While we can configure some routers automatically, most we can't and as every router is different, an easy 'generic' how-to can't be provided either.
A third issue is that an ideal ownCloud platform would be small and cheap devices like the Raspberry Pi, but these are almost all based on 32bit CPU's. Due to technical limitations in the platform ownCloud builds on, this means you won't be able to have it handle files bigger than about 4 gigabyte! That is a big limitation if you'd like to store your virtual machine or Blue Ray collection on your ownCloud.
The fourth issue I see is security. While not the biggest problem of the three, setting up a server to be secure, including a decent SSL certificate, is not easy. I personally couldn't figure it out and while I'm new to server things, I am not a technology hater by any means. My parents wouldn't ever be able to figure it out and more importantly, they wouldn't want to!
SolutionsThese four issues to wider ownCloud adoption aren't the only ones, but as far as I can tell, the biggest. So how do we deal with it?
There are several routes to an even easier ownCloud installation. Having a pre-setup operating system in the form of a container (Docker?) or a virtual machine can take care of much of the trouble around database setup and help a lot with the security issue. However, it can't run on light hardware like a Raspberry Pi and doesn't deal with the file size problem.
When it comes to the address limitations, the internet is slowly transitioning to IPv6 which will provide more unique addresses for each person than IPv4 offered in total (see here how Google explains IPv6). So, essentially, we just have to wait for this problem to be solved.
The hardware problem is also working on solving itself: the upcoming new swath of ARM CPU's (and Intel CPU's targeting the embedded market) are fully 64 capable so while current-gen Raspberry Pi devices (and other embedded devices like routers!) aren't perfect for ownCloud, a year from now many new devices will be perfectly capable of providing a great ownCloud experience.
The Electronic Frontier Foundation's "Let's Encrypt" initiative offers a (partial) solution for the security issue. Without it, a pre-configured ownCloud system will most likely be set up to use a self-signed certificate. While secure in principle, it always warns visitors of the self-signed state and thus isn't ideal. Let's Encrypt provides an automated and more importantly free (in terms of cost) solution for this.
And nowWhile I'd love for all these changes to be implemented yesterday, in reality we simply have to wait for the transitioning to IPv6 and 64bit CPU's. In the mean time, we can already start working on integrating Let's Encrypt into virtual machine and Docker images with a pre-configured MySQL (or MariaDB) and perhaps recommend people to run them on a 64bit capable system like a modern NAS or a NUC. The ownCloud-in-a-Box image on SUSE Studio is a great start!
this page and ping me if you want to get involved) should be on the agenda as well. I personally look forward to more 'social' integration in ownCloud, like the ability to comment on images or other data and share these with the people you share files with. We're on it, tags sharing is integrated for ownCloud 8 and a generic metadata repo was created (empty still). Get involved if you can!
Obviously, telling people about ownCloud is still important - which is what the ownCloud event program is all about - and help is welcome. Go to owncloud.org/promote and share the love!
Help ownCloud Grow!
November 24, 2014
Less than four-and-a-half years since the release of 1.0, two-and-a-half-million people took back control over their data with ownCloud. That is an immense achievement! At the same time, Terra is inhabited by well over 7 billion people, so there’s still a lot of work to do. We have been organizing meet ups and going to conferences to reach out to people, but it’s time to step up our efforts and we’re looking to you for help.
Telling people about ownCloud
Many people are concerned about the privacy implications of cloud technologies, but not aware that ownCloud is a potential solution for them. That is where you come in!
To help you share information about ownCloud, we’ve created physical and digital promo materials like flyers, posters and stickers as well as presentation templates and informational pages about running a booth, giving a talk or organizing a meetup. Find it all on our event pages.
What we’ve got in store
In the physical and printable materials department, we’ve created and printed two brand new flyers and 4 different poster designs as well as some supporting materials, and last week, we send out the first 5 packages!
We have a flyer informing potential users about the benefits and capabilities of ownCloud; and a flyer with information for potential contributors on how to get their code, translations, design ideas or testing feedback into ownCloud. Two of our posters are focused on user benefits, while the other two aim to invite them to help make ownCloud even better for themselves and others by contributing.
You can find the materials, including print-friendly versions in our github repository. You can order these materials for an ownCloud event using this form. Note that shipping and handling takes time, so ask us well in advance! In general, count on two weeks at least and please understand that for practical reasons currently we only ship to (most countries in) Europe and North America.
Conferences and trade shows
Bringing ownCloud to people means being where people are. ownCloud advocates regularly attend meetups and events like Linux Fests and other open source conferences. In Europe, ownCloud has been represented at LinuxTag Berlin, Chemnitzer LinuxTage, FOSDEM and many other events over the years, and FOSDEM is again planning for 2015. In the US, Frank recently gave a talk at the Ohio Linux Fest and we’d like to have a presence at SCALE 13x in February! If you’re interested in joining fellow ownCloud advocates at events or somewhere else, join the events mailing list or use this contact form to volunteer. Find more conference, trade show and booth-related information here.
To help you give a talk at an event or meetup, we have an ownCloud presentation template as well as a ready-made presentation presenting ownCloud to users, administrators and developers and a presentation introducing the ownCloud 7 release features. We also have written a page with tips and tricks on creating and giving a presentation! Find the presentation materials in our github repository.
ownCloud meetups and booths
Meeting other ownCloud people face-to-face results in good and interesting conversation, and simply providing a space to talk is what organizing a meetup is all about. We already have regular meetups going on in Munich and Berlin and there have been ownCloud meetups in Boston a few times. If you’re interested in meeting other ownCloud folks in your area, check out our info on organizing a meet up here!
Want to add a feature to the ownCloud iOS app? Now you can!
November 21, 2014
Today ownCloud Inc. announced that the development of the ownCloud iOS Mobile App would be opened for contributions! While still bound by Apple’s rules, you can look at the source code, hack on it, compile it and test it on your devices under Apple’s iOS Developer Program. Most importantly, you can contribute your improvements back into the official app!
Improve the ownCloud iOS app
The iOS app is now available under a GPLv3 license and can be found on github. To make it easy to get involved, our awesome iOS team has tagged a series of issues as Junior Jobs and there is documentation to get you up and running. The legal notes can be found here and here.
Integrate ownCloud in your mobile app
If you’d like to build or adjust your own mobile app to integrate with ownCloud, iOS and Android mobile libraries are available under the MIT license. You can find information on the iOS library here and the Android library here.