Before I start blogging about the progress of GNOME Music, I would like to announce my happiness (as well as the whole gnome music team) that we now have 3 students sponsored to hack on GNOME Music. Eslam Mostafa (SoC), Shivani Podar (OWP) and Sai Suman Prayaga (SoC) all three of them deserved they internships, showing dedication and patching like crazy before SoC, keeping Vadim, Guillaume and me very busy.
Also I would like to welcome Arnel Borja and Fabiano Fidêncio to the team with their immense contributions, and ofcourse the allmighty Giovanni Campagna (who hacks everything in GNOME by now)
The last couple of weeks have been very hectic here, nevertheless we triumphed over phase of one of developing GNOME Music:
Set basic infrastructure
Implement Grilo Querying
Implement Albums View
Implement Songs View
Implement Artist View
Implement Playback support
Clean up and port to Glade
Now phase 2 is shaping up nicely:
- Implement Playlist View
- Implement Selection functionality on all views
- Implement Repeat/Shuffle
- Implement Actions
- Clean up
So if you are interested in joining us with the development please feel free to hang out with us on #gnome-music on irc.gnome.org
Currently its only usable via JHbuild. Anyhow for more info like code and bugzilla check out https://live.gnome.org/Music
Here are some screenshots for tempting
Globaleaks 0.2 Alpha is out.
Globaleaks is an open source project aimed at creating a worldwide, anonymous, censorship-resistant, distributed whistle-blowing platform. It enables organizations interested in running whistle-blowing initiatives to setup their own safe zone, where whistle-blowers and recipients can exchange data.
2 Years ago I helped out with the development of Globaleaks 0.1. And although I am not active anymore, I really support the initiative behind it. Now with the HERMES Center for Transparency and Digital Human Rights backing it up, it has grown a lot and shaped up to be a very organized and thought through project.
Try it out:
Try out the demo. It is pretty straight forward.
As young project, Globaleaks can use some help fixing bugs. Just head to the wiki and read through it. It is pretty straight forward, and explains the modules, security concepts and set up instructions.
Globaleaks already has Debian and Ubuntu ready packages. An easy way to help out is to set up a PPA for us on Launchpad.
Get in touch:
You can contact the Globaleaks team at info () globaleaks org or on IRC on #globaleaks at irc.oftc.net
Here are some screenshots of the new frontend
Congratulations you are using Tor
Receiver selection page
The submission receipt
Configuring a receiver
Configuring a context
We can now browse our albums, artists and songs (no playlists yet) and play them
GNOME Music application development is reaching the end of phase one (out of three).
This phase consists of:
- Set basic infrastructure (done)
- Implement Grilo Querying (done)
- Implement Albums View (done)
- Implement Songs View (done)
- Implement Artist View (done)
- Implement Playback support (done)
- Clean up and port to Glade (in progress)
If you feel like hacking along please don’t mind to help out:
Thanks for everybody who has been helping out.
Thanks to Guillaume Quintard and the potential SoC students for posting to glade and fixing some of the UI issues. Also Vadim Rutkovsky started working on some unittests (which kicks ass).
And now to leave you with some screenshots…
The last weeks a lot of volunteers showed up to develop on (GNOME) Music.
Now we can browse the albums and their content making it our most complete view. Playback to the albums view and songs view is in development (works but is buggy).
Also we are heavy working on the artist view trying to match the mockups, currently the code delivers the following screenie:
There is still a lot to be done, and we created a semi roadmap of our development plan. Phase 1 should be completed within the next 2 – 3 weeks. We also moved our UI development to be glade.
I am very happy with the contributor turnout (no special order):
- Vadim Rutkovsky
- Eslam Mostafa
- Paolo Borelli
- Guillaume Quintard
- Allan Day
- Jakub Steiner
- Shivani Poddar
- Sriram Ramkrishna
- Hylke Bons
Nice to have this mix of old and new contributors working together. If interested join us on #gnome-music on gimpnet. This is where the communication happens.
Also I would like to thank Next Tuesday for sponsoring part of my time on working on GNOME Music
So I will keep this short… I assembled a task force to work on GNOME Music based on https://live.gnome.org/Design/Apps/Music. Development is really coming along nicely.
Cesar Garcia Tapia had started a Vala development of it. We used lots of it in the new re-implementation which is in JS, this is due to the fact that.
P.S: I would like to thank Next Tuesday for sponsoring my time on this small codebase .
Here are the same screenshots in the “not dark” Adwaita
So finally we have rolled out Zeitgeist 1.0 beta…
With Zeitgeist 1.0 we are introducing libzeitgeist2, a Vala port of the previously independent libzeitgeist library. The new libzeitgeist2 comes with 3 big improvements over libzeitgeist:
- Maintained internally by the Zeitgeist team since it is part of the internal datamodel we used.
- Has direct read support. This way when querying Zeitgeist for data there is no more round-trips and less serialization which improves most queries by almost 100% and sometimes even more. Writing is still done over D-Bus.
- GObject Introspection support. So now it can be used with almost any language.
The engine itself is also faster and has seen a lots of bug fixes. Zeitgeist datahub package is now part of the Zeitgeist Framework package. This should be convenient for packagers.
Over the weekend some of us will be porting apps in GNOME using Zeitgeist to libzeitgeist2 and actually patch some existing apps to have better sorting.
I would like to thank the whole Zeitgeist team for getting this far, and the people who helped us get there. Also we are looking into porting libQzeitgeist to depend on libzeitgeist2 for less future maintenance efforts (please contact Trever Fischer – tdfischer on irc) if you are interested. We have a very interesting KDE application in mind at the moment that would make use of kde-telepathy, nepomuk and libqzeitgeist.
We are hanging out on #zeitgeist on freenode and for the latest Zeitgeist, just check out our fdo git repo ==> http://cgit.freedesktop.org/zeitgeist/zeitgeist
As of beginning of December I started contributing to the Mozilla community… I must say amazing people and amazing environment.
I was invited by Josh Matthews and David W. Boswell to a Mozillians meeting. The first task I took upon myself was getting new contributors mentioned with every release. With the help of the others I went around pinging people and a couple of days later we reached the consensus that we will be linking to a blog post on http://blog.mozilla.org/community/category/spotlight/ from the release note with every release.
We will be using a set of premature scripts I am working on to detect new contributors to a release as well as the contribution rate (code and bugs which is inspired by my GNOME fellow Andre Klapper). Those can be found https://github.com/seiflotfy/mozcctools (nothing special they just spit out JSON stats, will automate them this weekend).
And last but not least. After an interesting call with the super dad himself, Mike Hoye, I took a challenge upon myself to hack a tool that does the following:
Enter a a keyword, and it will spit out Mozillians that are affiliated with this keyword based on their code commits and bug reports.
It took me around 60 minutes to hack the tool using Zeitgeist and the Full Text Indexer extension. Basically importing the last 120k code commits and indexing the commit message. I will publish the code soon. After that I spent 30 minutes with Josh and Mike playing with it testing the results. Mike Hoye has some great ideas on how to deploy such a tool (Bugzilla included), and hopefully I can show off the cleaned up code in the following days.
I am thinking of deploying such a tool for the KDE and GNOME community sites to find ways to directly contact hackers based on keywords.
All in all the Mozilla contribution experience is really fun, and while not hacking on Firefox or B2G I am having fun developing tools for enabling the community.
So after 4 years of development Zeitgeist is reaching 1.0. The Zeitgeist team has reached a big goal/milestone
- New libzeitgeist2: instead of libzeitgeist which was developed and hosted on Launchpad now reuse and expose our own internal Vala components. When comparing libzeitgeist2 to libzeitgeist we can see over 65% less code (thanks to Vala) with 90% compatibilty with libzeitgeist. (libqzeitgeist not affected)
- GObject Introspection support
- Faster performance
- Testing with 100k events DB here are some plots, those are peromances of synapse and standard time based queries where the yellow bars are 0.9.5 release and green bars represent “master”. Shorter bars are better.
- Smaller DB size: With a very small modification to the main table (primary keys), SQlite created some automatic indices that cover what we need so now instead of 34 indices we only need 25.
- Lots of bug fixes
Well if you want to help out roll out this release. We could use some packaging, testing and porting of apps. We won’t be able to release until the latest Vala has been released due to some bug fixes concerning the gir generator. But all in all it looks like an exciting release.
Today I worked on hiding the workspace switcher if “dynamic-workspaces” is switched off (via tweak-tool) and the number of workspaces is set to one only. So if you apply these settings your overview will look as follows.
Pretty clean huh? This patch is now upstream (merged into master) for everybody to enjoy
So I noticed less clutter with this patch, and the motivation to try to reduce the clutter even more as well as play with the extension hooks got me hacking more.
I am a big fan of the sidebar since it reduces movement when coming from the top left (after hovering over activities) to move the mouse along the left edge of the screen to open a new app or change apps. But somehow I still get the feeling that left is out of place for me sometimes.
So I came up with an idea (and although I know its wrong and I deserve being stabbed for it):
Why not move the dash into the MessageTray. So I started writing an extension to do so (very early stages). This extension allows me to open new apps and browse through my apps as well as change windows (Windows style ) by just hovering to the bottom of the screen, so it pops up.
clicking on the “show apps” or “journal” icons takes me to the overview with the proper page selected. (So clicking on “show apps” opens the overview with the application selection)
And when going to “Activities” directly, it looks much more peaceful:
The bad thing is that it mixes notifications with applications. So I am thinking of having some sort of separator.
What do you guys think?
Keep in mind this is just hacks and nothing discussed with designers. I am just playing with ideas here and will try to make an extension out of this if people like the concept and have some feedback on how to improve it.
Its been a while since I worked on the Journal extension for GNOME. When I left it it looked like this
But with the new GNOME Shell layout (which is pretty awesome btw) exposing the Journal wouldn’t have been that easy. I sat down today to try to find a way to revive it and I think it was successful.
Notice that now there is a “Recent” button right above the “Show Apps” button in the dash. I limited the items to 5 items per row to make things look nicer.
When the Documents, Music, Videos, etc… labels above the groups is clicked one is navigated to a second view with all recently used stuff.
To show this I will display 2 other screenshots from a bigger screen. Notice that while there is a lot of real-estate wasted I still looks very clean imho. Too many icons in one row kinda cluttered the screen :/
after clicking on “Documents” highlighted on in the picture above we end up with the following view:
Here one can navigate back to the recently used overview with the back button.
This is still work in progress and you can check out my code here on github: https://github.com/seiflotfy/gnome-shell-zeitgeist-extension and help me clean it up…