A shiny new release fresh out of the oven

The Kubuntu and KDE team has been hard at work for the last 6 months, which has culminated into a rocking Kubuntu 14.04 release which introduces a whole bunch of new features, the most important of which are :

  • A new semantic search framework for KDE SC 4.13, leading to faster email and file searches
  • Automatic error reporting in order to improve the quality of KDE and Kubuntu
  • A new driver manager to make it simpler to activate hardware that requires proprietary drivers
  • Notifications for when additional drivers or language packs can be installed to improve your Kubuntu experience
  • A new touchpad management app for laptops
  • Misc. bug fixes and features that can be found here

Kubuntu 14.04 is a LTS release, so while introducing new applications, we’ve also taken into account personal and business users who would want to run it for extended periods of time, which is why the Kubuntu team makes the following promise :

  • Kubuntu 14.04 will keep receiving security bug fixes when such fixes are available from KDE upstream for the next 5 years
  • New releases of the KDE SC will be backported to 14.04 and be available via Kubuntu PPA’s for the next 2 years
  • A long-term upgrade path to the next LTS release

Along with the above, the Ubuntu team also has plans to backport new Xorg and friends releases as well as new kernel releases as part of their LTS Enablement stack, making sure that your hardware performance keeps improving over the time of 5 years.

All of this makes Kubuntu the ideal distribution to use for enterprise rollouts, OEM’s and of course regular users who want a longer support cycle ( as opposed to the regular, 9 month, support cycle )

You can download your copy of Kubuntu 14.04 from here. We also have some Kubuntu swag that you can purchase over here!

New Touchpad management app in Kubuntu 14.04

Hot on the heels of the new driver manager, we have the new touchpad management app that we introduced in Kubuntu 14.04.

New Touchpad KCM

The new app replaces the old Synaptiks touchpad management app and has many more buttons and settings that you can twiddle and tweak to get the best experience. The Kubuntu team would like to thank Alexander Mezin for working on this replacement app as part of his GSoC project. The package comes complete with its own plasmoid for easy access to enable and disable touchpads! Quite useful for folks who don’t have a physical hardware button to Enable/Disable touchpads ;)

Users of Kubuntu 14.04 can grab the new touchpad management app from the Ubuntu repos by installing the kde-touchpad package.

New Driver Manager for Kubuntu

Hola Kubuntu users

Ubuntu ‘recently’ deprecated jockey and moved to ubuntu-drivers-common. ubuntu-drivers-common is a python backend which will try to figure out which drivers are best suited to your system. Up till Kubuntu 13.10 we were still relying on the backend called Jockey which is python2 , however for the 14.04 cycle, one of our major tasks was to rehaul the driver manager interface and use the fancy new ubuntu-drivers-common backend which is python3 based.

By leveraging this new backend, we are now at feature parity with Ubuntu when it comes to driver handling. Packages are now available to trusty users and can be acquired by installing the ‘kubuntu-driver-manager’ package.

Once installed you’ll find it in your System Settings Menu under “Driver Manager for Kubuntu”

fa1

If you find any bugs , please report them here

Introducing Project Neon 5 ISO’s

Everyone working on KDE Frameworks Five and Plasma Workspaces 2 is eager to bring you the next iteration of the desktop experience. However, wouldn’t it be awesome if you could play with all the shiny stuff just a bit earlier? ;)

I’ll assume you’re nodding your head right about now, so without further ado I give you Project Neon 5 ISO’s which are designed to give you a glimpse into how things are shaping up in the Frameworks 5 and Plasma Workspaces 2 world. Complete with an installer!

Neon 5 Live Env

However, I *highly* recommend NOT installing this directly onto your machine, as it’s not even meant to be a tech preview, but more of a this *will* eat kittens release. If you really want to install it, I’d recommend using KVM or VirtualBox. Out of the box you get the Neon 5 daily PPA, upgrade and things might not work, the only supported path for upgrades is reinstalling the next ISO that comes out.

If you’re interested in the nitty-gritty details of how the ISO is made, you can checkout the scripts over here.

There’s also a known bug where plasma-shell crashes on boot, we’re still investigating that and the best way to fix it is to either start plasma-shell via the xterm window or just rebooting your virtual machine a couple of times.

Kubuntu Munich bug squashing ( with a hint of Doctor Who )

I was in Munich last weekend squashing bugs with the rest of the Kubuntu team as well as the Debian team at the LiMux offices. Loads of stuff got done or on its way to being done. The most important aspect of the bug squashing for me was to upstream packages from Kubuntu to Debian since they’re considered mature enough to be pushed into Debian.

This includes packages like kscreen, simon, and plasma-nm to name a few. Watch the Debian Experimental repo for these awesome new goodies!

We also had Kubuntu specific sessions where we took major decisions for 14.04 , the upcoming LTS release. All decisions are open for viewing on the Kubuntu Trello board here. Major highlights include switching to Firefox as the default browser, a new driver manager that will replace jockey and provide a smoother experience for installing proprietary drivers, as well as a new and shiny KDE SC as always.

Real life Kubuntu Trello board

Switching back to Munich, we also got to see how the awesome city of Munich deploys a Kubuntu based derivative ( currently using KDE 3 , but soon switching to KDE 4.11 ) to over 15,000 computers! Wohoo! It was truly amazing to see how they could roll out an entire new OS to computers at the click of a button in under 15 minutes. Everything was of course powered by open source software using GOSA and LDAP. You can read more about the LiMux project on the Munich IT blog ( all in German ) and the status page of the project can be found here. All their open source code is released over here

The Doctor doing timey wimey stuff

No Kubuntu sprint can be complete without a Doctor Who episode, and the timing of the sprint was so perfect that we got to view the 50th anniversary of Doctor Who together! Almost the entire Kubuntu Development team was present, so you bet it was pretty epic, complete with a round of Irn Bru ;)

Joining Blue Systems

Ahoy there!
Just a small update to tell everyone that I’ve joined Blue Systems and will be working on Kubuntu and KDE full time! :D

Looking for a job

I’m looking out for a job, something that involves a combination of one or more of the following : Qt, KDE, VoIP (NAT traversal), and K/Ubuntu (Debian packaging). Feel free to contact me if you know of anything at rohan16garg AT gmail DOT com.

If you’re coming to Akademy, even better, you can meet me in person!

A update!

It’s been a long time since I blogged, primarily because I was busy with college stuff and working on a couple of cool projects. Now that I have some spare time, I can talk about some of the stuff I’ve done over the past 7-8 months.

libnice

At the Desktop Summit last year, George K. from the Telepathy team introduced me to Robert McQueen (A huge thank you! to George K.).  I expressed my desire to intern at Collabora and Robert suggested a couple of projects, and libnice (A NAT Traversal library)  piqued my interest.

As part of my internship at Collabora I worked on implementing ‘Dribble Mode’ in libnice. Now, I had absolutely no idea about NAT Traversal and had never worked with GLib, which made all this even more exciting!

Without going into too much detail (I’ll do a whole blog post about NAT traversal), dribble mode primarily works by allowing libnice to recieve remote candidates (candidates can be thought of as IP addresses, but that’s oversimplifying the concept of a candidate) while gathering local candidates. Implementing this was pretty trivial, but reading the STUN and ICE RFC’s to understand how NAT traversal works and familiarizing myself with the codebase took most of the time. Kudos to Youness for patiently explaining me what goes where!

Working with data packets and watching STUN requests/responses whiz by in wireshark was awesome to say the least.

I also faced a couple of hurdles in the beginning because the GLib binaries I was using were too new and the API had changed (I was using version 2.32 while nice used the 2.31 API) . So, after ifdef’ing some tests and code inside libnice, I managed to compile it.

(A huge help with fixing some of the broken code was clang, it throws awesome and pretty compile errors)

As of today, I have an outstanding merge request for this feature. Youness seems to be really busy, but I’ll make sure that this feature lands in the next release of libnice.

But, what does this mean for the average user? The biggest advantage that dribble mode offers is that two peers can start streaming data as soon as they have a working candidate pair, no need to wait for the other end to finish gathering it’s candidates. This means the frontend can start transmitting data even more quickly than before.

Project Neon

Project Neon has now reached a point where we can simply lay back and watch Launchpad delivering KDE goodness from git to end users. Something that was requested recently was VM builds for Neon. We’re working on that, and while we have the infrastructure to distribute the images setup (automated scripts to build and deploy images using Amazon S3) , we’re still having some issues with getting the config files just right to make sure that KDE starts up directly on boot.

These VM images should be helpful for people who want to try out new feature X on the latest and greatest KDE version but have a different OS/distro. We hope users will be able to find new and innovative uses for the VM images :D.

SyncEvolution, KDE and Synq

This is something that I have not talked about for quite a while, primarily because it was a bit hard to set up and getting configs right was a bit of a problem in my UI. However, with the new SyncEvolution release (1.2.99), everything (with the exception of SyncML with Google Contacts) works as expected, from the command line. I’m going to do a tech preview of my UI for SyncEvolution at the WebAccounts BoF and release my code right before Akademy ends.

My UI currently only supports SyncML templates, since KDE already has good DAV Groupware support. ActiveSync support is something that I’m investigating at the moment.

KDE Telepathy

Oh how I absolutely love the technology behind VoIP calls. Peer to Peer communication is something I’m very passionate about, which is why I’m going to actively write more features for KDE Telepathy Call UI. A couple of things that I implemented over the last couple of weeks are Echo Cancellation and respecting the user’s preferences of webcam’s in Phonon.

As of right now echo cancellation is only supported for pulse sources and sinks. You can get this feature from either ktp-call-ui master or the 0.4 branch where it has been backported.

The Call UI also respects the user’s preference of webcams if the user has multiple webcam’s. Preferences can be configured in the “Multimedia” module in “System Settings”.

I also have a working implementation of holding calls in one of my personal clones, but hasn’t been merged yet because I have yet to figure out a way to display error messages to the user if holding the call fails. One of the discussions that I want to have at the KDE Telepathy BoF is about the future of P2P VoIP in KDE.

I’m also going to implement App Indicator support for the text-ui, just need to talk to Aurélien Gâteau about the implementation details at Akademy ;).

Akademy!

Last, but not the least, I’m coming to Akademy! Thanks to the e.V. for sponsoring me this year, I’m mostly interested in attending BoF’s such as the KDE Telepathy BoF, the KDE Author’s BoF and the WebAccounts BoF. I’ll also attend the QML workshop by KDAB and pick up some QML skillz.

KDE Doc Camp Day 2

KDE was selected for the awesome KDE Doc Camp Sprint here in Mountain View. Our primary aim is to write a beginner’s guide to KDE Development. The booking is coming along quite nicely, we have fleshed out a table of contents and a couple of chapters.
Andy Oram from O’Reilly Media is helping us with the book and a big thanks to him for reviewing all our work and making corrections.

You can find more about our book here ( You need to make an account in order to login and edit ) and Andy’s Blog post about the KDE Doc Camp here.

Update 1 : Team members include myself, Karan , Supreet & Valorie. The book itself will go into publishing via lulu , so you can buy the actual hard copy of the book. All proceeds from the sales will go to the KDE e.V.

Woshibon weekend

Phew, what a week, I’m so glad it’s over. To begin with, I had  exams this entire week, which essentially meant I could not contribute to either KDE or Kubuntu , and seeing how I absolutely hate coursework, it felt like an eternity :P

But, at the end of the week, I started working on a couple of things that I targeted to complete before the weekend ended ( yeah, I find coding helps me relieve stress, weird ) . So, I started off by packaging a couple of things for Kubuntu, for eg. digikam 2.1.1  ( Landing soon in Oneiric ! )

Next up was Telepathy KDE, the awesome guys who are working hard to bring a new collaborative framework to KDE,  since they had  a sprint going on in Cambridge ( which i could not attend due to these  darned exams ) , I got super charged by the constant stream of Planet KDE posts and bug mail ( a ton of bug mail at that ) and tried to finish off this awesome feature which allows you to save custom presence messages. I had no knowledge of KConfigEntry and after fiddling around a bit, I finally implemented everything. Only 2 bugs need to be sorted out and then i’ll be putting them up on the KDE Review Board for merging. Here’s a screenshot of what the feature looks like :

I also managed to set the currently selected status as Bold + Italicized, so that’s going to be released as a part of the 0.2 release.

And last but most certainly not the least me and Harald started implementing a iCal file parser in Qt. It was loads of fun and the code can be found here  on my github repository. The aim is to write a QML frontend to parse UDS iCal files and make a frontend in QML that displays the UDS Schedule. The parser still has a long way to go, but for now, it gets the job done.  It can also be used for other stuff that i leave up to your imagination ;)

I also started reading the ICE RFC because I recently got introduced to NAT traversal and  found it to be quite fascinating. The RFC itself is quite exhaustive and I probably won’t be able to finish it before the end of the month.

Oh, we were also hit by an earthquake a couple of hours ago, I couldn’t even feel it whereas the media is making a big hype about it here, there was a similar incidence a couple of weeks back as well, another earthquake, and that was the one I could actually feel.

So, that was my week, how did yours go? :D

Twitter

Follow

Get every new post delivered to your Inbox.

Join 614 other followers

%d bloggers like this: