ownCloud 7 Design Evolution
September 29, 2014
While I got started
ownCloud has a come a long way in the past couple of years. I remember starting to contribute to ownCloud by sending a very small design fix to its Contacts app while I was trying to pick up HTML and CSS. I guess it was ownCloud 5 that time and now the 7th version of the software released some time back.
How’s this ownCloud different?
The most significant change you will see in the current design is that the white space. There is well, plenty of that as we don’t use the application navigation anymore. Instead, we have the list of all applications in a dropdown on the top left. The navigation also allows the users to add new applications. This makes the new design very minimal and as I put in content specific.
- Another change you can find in the new release is the left sidebar for the files and various other core applications. The user can very easily switch between
- All files
- Files shared with you
- Files shared with others
- Files shared with a link
- Deleted Files
Another big change is, ownCloud web project 7 is now responsive(screens below 768px) as well adaptive. The left sidebar uses snap.js which allows a user to drag out/in the sidebar for mobile screens.
The left navigation is now consistent with various applications throughout ownCloud and is a part of core. So, designers getting started with ownCloud can pick up the basic styling very fast.
- ownCloud 7 comes with a new version of user management which makes it very simple for administrating users as there is a groupwise filter implemented on the left sidebar. There is also search input which allows you to quickly search through the users by their display name / groupwise / email etc.
We sit on #ownCloud-design and #ownCloud-dev on freenode if you too plan to join us help us make ownCloud even better.
Another ownCloud 7 review
August 28, 2014
As I also mentioned in my previous articles, nowadays it is not possible to fully trust to a provider when it comes to privacy and your sensitive data. For this reason, the community has created ownCloud. ownCloud is a great open source cloud application. Not only being able to store/share your files, you can also use it as a replacement for your calendar, address book application, music application, video viewer and more...
There are already more than 200 apps available and waiting to be installed for various purposes on apps.owncloud.org:
- A password manager
- RSS reader
- Mozilla Syncronizer
- Chat between users
- Collaborative document editing
are some examples of the available apps...
I met ownCloud after reading a Ubuntu magazine called SUDO. At that time, ownCloud had its version 3. At that time, the user interface looked like this:
ownCloud was a great name for a cloud system and I was pretty sure that it was going to be successful.
I always believed that the first way to contribute to one project should start with using it. It really helps you to understand the posibilities that the project could do and warms you up with it. Then, you'd better continue by translating it (if possible), contributing to the documentation, or answering the questions on the forums/irc/mailinglists etc.
If you feel like you can use the software well, can help solve others' problems and have some programming skills, you are ready to go! You can contribute! ownCloud community consists of great people always willing to help you solve your problems and listen to your suggestions. It is an open community that always invites people to contribute.
Back to the topic... When I was following the updates, a new version came up - ownCloud 4.0:
In this version, not big visual improvements, but many background changes have been made.
My contribution to ownCloud started by translating it with version 6 which looked like this:
There were many improvements done and enhancements made with this version and one of them was the collaborative editing - the Documents app:
It let users to work on the same rich document (ODT or DOC files) at the same time. Even, the documents could be made public so that users with the link were able to join and edit them.
Recently, a new version of ownCloud is released: 7. This version had great improvements, it is the best (until we release the next one), and most advanced release (again, so far :)):
Let's see some major changes in this version:
One of the biggest enhancements in this release is the Server2Server sharing. This feature is very interesting and exciting as this helps us broaden our expectations about what ownCloud can do... Let us see what this feature is.
User Foo has an ownCloud server. She has a text file that she always wants to work together with User Bar. However, Bar does not have an account on that server, but fortunately, has his own instance. Thanks to Server2Server feature, Foo shares the file normally with a public link and sends to Bar:
Bar, uses the link and sees the following page:
He clicks on the "Add to ownCloud" link and writes his own ownCloud address. He is redirected to his instance and confirms the question:
From now on, whenever she edits the file, the file is automatically synchronized with Bar's instance and they always have the same version of the file. The first instance edits the file:
And the second instance (in this case Bar's ownCloud):
Amazing, isn't it?
The original sharer is also able to disable reshares from the shared items.
ownCloud lets you mount external storages to extend your quota and/or collect all files from other services such as Dropbox, GoogleDrive, FTP, Amazon S3, or even a local directory from your hard drive...
If you are an administrator, after enabling External storage support app, you will be provided the following section in Admin page:
Choose an external storage type and fill in the required fields. Afterwards, if the settings are correct, you will be seeing a green icon next to the folder name and also the service as a folder will be seen in your Files app. From now on, you can start using it. The folder name can be changed any time by again going into Admin page.
You should have noticed the external folder icon that is different than the other folders in the instance itself.
If you want your users to use this functionality and connect their own external services, you can check the services you want enabled in the admin page. Then, the users will be able to set those mounts from their personal settings page.
There are a lot more to explore, but I will be writing them as a separate article. Hope you enjoy ownCloud as much as I do. We would also be happy if you contribute as well, by testing, reporting bugs, requesting new features, coding, designing!
GSoC is over - latest update on Music App Playlist Functionality
August 27, 2014
I wish I could write this article from Berlin, but due to my Master Thesis deadline, I was unable to attend to the Berlin ownCloud conference.
Finally, GSoC is over and we (I should say we as it was almost impossible without help of Morris) finished the coding for the proposal that I've made.
I will be writing more on Music app and the latest progress, but first of all I would like to thank to Google, Morris Jobke, and ownCloud community for giving this opportunity to me.
In the previous article I wrote about the main major changes on the project and after this update, we did some refactoring stuff for better maintainability in the next versions. The code will be merged slowly, but until you see it included in the Music app, you will need to wait for some issues to be resolved:
- Apps menu is not shown
- Shuffle & repeat buttons are shifted
- Mobile view - we want ownCloud web interface to be used in all environments
If you want to test the in-development code in your current ownCloud environment, clone the Music repository and change the active branch into playlist-last. To do that, run the following commands:
$git clone https://github.com/owncloud/music.git
$git checkout playlist-last
If you want to see the Pull Request on GitHub, you can go here.
Thank you again for ownCloud community for the great software!
PS: Please do not use this branch in production as this is just an experimental feature (yet)!
GSoC -Final Evaluation, Dev Meet-up Berlin
August 26, 2014
So, Google Summer of Code 2014 is finally over and yes, I cleared it with Georg Ehrke as my super awesome mentor. He is writing the Calendar backend since quite some time now and I started with the front-end with the summer of code project.
We are currently at TU Berlin, where the community is busy interacting with the folks we know by the IRC nicks and writing some beautiful code.
Things we pushed:
- A fullcalendar running on angularJS.
- Creating, Editing and Updating Calendars and Subscriptions.
- Displaying the events daywise, weekly and monthly.
- Porting jQuery Modal to angularJS. (This gave me a ridiculously tough time)
- A very basic Events Editor with support for
Things I expect to get over by the end of the ownCloud Developer Conference.
- Calendar Sharing.
- Optimising / Cleaning Up the mess I created at a couple of places.
So, looking forward to an amazing week here.
PS: A big thanks to Akriti Gupta, who helped me out with accomodation for a day! :D
Goodbye, OPW! and State of the Application
August 25, 2014
I can hardly believe it, but as of this week, my internship with ownCloud through the Outreach Program for Women is over. I'll write up a full retrospective later, but today I wanted to publish a few notes about the state of my code. My internship might be over, but I'm certainly not putting this project away any time soon!
The application has a basic interface and is capable of uploading photos to ownCloud using a given set of credentials. It uses Basic Auth and is secure if and only if it connects to a server using SSL. It is able to naively distinguish between photos that already exist on the server and photos that are new. It is able to use Mozilla's system XHR setting to originate requests from the phone and avoid cross-origin incompatibility issues.
As I see it, there are four major areas in the application that still need immediate attention:
Credential storage. The WebDAV server requires that the username and password be sent with every request. I'm still looking for the most secure client-side credential storage solution. I've created an issue to track progress on this portion of the project.
Auto-uploading. Uploading in batches using the alarm API seems to be the way to go, but there are lots of application design questions to be answered. How often should the device attempt to upload? What should the app do if the device isn't connected to WiFi at the designated upload time? Help me answer these questions and more in this thrilling Github issue!
User interface. The scrollbar gutter seems to change width in every version of the OS, which pushes elements around in unexpected ways. CSS errors cause rendering glitches on the device that don't show up in the simulator. There are things to be improved.
Test coverage. Unit testing is incomplete, as well as unnecessarily cluttered when it involves XML. E2E testing is nonexistent.
I feel a little strange posting this write-up when there's so much more I could do on my own before presenting this project to the ownCloud community, but I also have to admit that there's a strong possibility I might feel that way forever. So, in lieu of further procrastination, here is the repository. Feel free to ask me any questions regarding development thus far!