Canonical Voices

Posts tagged with 'gwibber'

kenvandine

For some time now I have been struggling with getting Gwibber working reliably with facebook.  Since Gwibber was included by default in Ubuntu, usage has gone way up and we quickly exceeded our API request allocation with Facebook.  Facebook allocations are per application, not per user, which means Facebook blocks API requests for everyone, not just the users which are refreshing too often, etc.

I have been desperately attempting to contact anyone from facebook to help figure out the best way to solve the problem and have been mostly ignored.  I did get one reply from their developer relations stating that they don’t “support embedding video content in our website at this time”.  Clearly they didn’t even read my email :-(

I understand their need for allocations and to throttle as needed, however the numbers really don’t add up.  They are really skewed, there is one API request that we make which is way over the allocation, but the others are barely even on the chart.

Facebook just announced “Operation Developer Love” where they state they will stop ignoring developers and triage bugs.  Please help us get to the bottom of this by voting on this bug.

Read more
kenvandine

When people ask me what I do, I frequently answer with “The same thing I would do if I didn’t need to work for a living”.  I feel so lucky to have the opportunity to work full time on free software, and as I love to describe it, “helping to make the world a better place”.  I am just a small part in the effort to make free software common place, and I am proud to do my part.

Enough with the feel good stuff… What do I “really” do? :)

My role with Ubuntu is described as an Integration Engineer, what the heck does that mean?  Glad you asked, I work on the Ubuntu Desktop team, to help integrate the amazing work going on in the Design, Desktop Experience, and Ubuntu One teams into Ubuntu.  I help package their software, distribute updates, and advise and assist with design/architecture as it applies to how the software will be consumed by the user.  I care very much about how new features will affect existing and new users and how they will discover the new features.

As you can probably imagine, this is a lot of fun for someone like me.  I get to play around with new stuff that isn’t ready for the distro yet, helping out with testing and figuring out how it impacts our users.  Being a naturally born tinkerer, this is simply an awesome experience for me.

I also drive the Social from the start initiative in Ubuntu, trying to bring social experiences closer to the desktop, making the integration of their daily computer usage and their social life feel more natural.  I have very strong beliefs about web technologies and experiences, buy me a beer sometime and I can rant for a while.  Long story short, to provide the best possible experiences we need to remove the need to use the browser.  I don’t hate the browser, we can’t live without it.  But the best way to interact with your friends on social networks needs to be more contextual.  For example, you see a friend posted some new photos in an album.  You should be able to view that album in your local photo album viewer, as well as tag friends and comment on photos.  Why not do it in the browser you ask?

  1. Your browser probably already has a dozen tabs open doing anything from shopping for new shoes to making a reservation for dinner this weekend.  Do you really need another tab viewing photos?  What does that have to do with anything else your doing in that browser session?
  2. Perhaps your viewing photos of a friend’s kid’s first birthday party, you might want to view photos of your own child’s first birthday to reminisce.

Trying to make this possible, I spend as much time as I can contributing to Gwibber, trying to generalise as much as I can to make it a desktop service that can be easily used by any application.  Gwibber is a natural fit for this, since it aggregates multiple services, which is key to pulling this all together as a central service to handle this for the user.  Gwibber is also a great upstream project to contribute to, lead by the always awesome Ryan Paul.  He’s very open to my ideas, and easy to work with.  At the beginning of each development cycle I get to brainstorm ideas with him and figure out how I can best contribute to making the road map a reality.

For someone like me, it is pretty easy to have fuzzy lines between what I do during my day job and what I do just for fun.  In the evenings or over weekends, when I am not off hanging out with the family, I usually end up hacking on Gwibber or libgwibber for fun. :)

Read more

Now that the OAuth apocalypse is over and my gwibber works again I had a thought of how to integrate with more services. Wouldn’t it be neat if we stretched out to other services, like say … the new Ubuntu Stack Exchange (I suck at GIMP, but you get the idea):

Since we do multiple columns you could do your favorite tags, unanswered questions, hot questions, whatever you like. Just like I do on my phone with Droidstack. You can just add whichever SE network site you wanted!

I’ve already chatted with Ryan Paul about it and he’d be happy to review a patch since him and Ken are busy with smashing bugs. If you’re interested in this kind of feature please grab the bug and rock it! https://bugs.edge.launchpad.net/gwibber/+bug/629826

Read more
ursula

After the first part of the odyssey, I just wanted gwibber to work, and started googling around for some desperate fix. So, I realized a lot of people were having the same issue, and the fix was simple: to install the Intrepid version of libwebkit, 1.0-1.

Trying to fix the previous issue, I started using the packages from the WebKit Team PPA, that contain a newer version of libwebgtk, 1.0-4. So, considering I don’t need the newest package versions that PPA provides, I just removed the PPA line from my sources.list.d/ppa.list and safely removed/reinstalled libwebkit.

Easy as that:

sudo aptitude update
sudo aptitude remove libwebkit-1.0.1-4

aptitude suggested me first removing gwibber and python-webkitgtk, and second, just downgrading libwebkit. I chose the first one, because removing everything to install again later was more guaranteed to put things to work, considering that this approach will likely get the correct versions needed. If you just downgraded the libwebkit package and it worked, let me know!

sudo aptitude install gwibber

And it reinstalled gwibber, python-webkitgtk and the libwebkit, now in the correct version.

Now gwibber works like a charm, and I’m again a happy user. :)
Gwibber now shows twitter direct messages on the Replies tab, and clicking on a users’ nick opens a tab on gwibber with the users’ timeline. Awesome!

Read more
ursula

I met Gwibber about 5 months ago, and was a happy user. For those who don’t know Gwibber, it’s a identi.ca/twitter/many more client for Gnome.

Well, the one feature I was missing on it was a tab only for replies, as TwitterFox does, and one day @jorge announced (and other people excited about it commented) on identi.ca that the newest version just released that time got that tab. So, I ran to find a console window, and then, after the update, thought: “Cool! Let’s check out the new feature!”. Closed gwibber, reopened and.. sigh. It suddenly stopped working.

I thought myself “WTH”, and kept trying to open it, without success. It was freezing, after a few seconds open.

Finding that thing weird, I started doing the good’ol debugging thing, and found out that the problem was when retrieving messages. With the possible bug in hands, went to my beloved Launchpad to see if there were any open bugs reporting the problem, and if not, open a new one providing all the info I’d gathered in all that debugging. For my luck (or not :) ) I’ve found one possible bug, and then commented on it, giving the problem I was having:

Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner
self.run()
File "/usr/lib/python2.5/threading.py", line 446, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/lib/python2.5/site-packages/gwibber/client.py", line 685, in process
view.load_messages()
File "/usr/lib/python2.5/site-packages/gwibber/gwui.py", line 52, in load_messages
indent=4, default=str)
File "build/bdist.linux-i686/egg/simplejson/__init__.py", line 216, in dumps
TypeError: __init__() got an unexpected keyword argument 'default'

At that point I already had tried everything: reinstalling python-simplejson, gwibber and python-webkitgtk, also using –purge, and nothing.
One suggested that it could be my version of python-simplejson, considering that this error wasn’t supposed to happen with python-simplejson version 1.9.1. Unfortunately, that was exactly my version according to dpkg, and I got desolated. What would I do?

So I downloaded gwibber code and started messing to see how stuff works, and then realized that doing a import simplejson and calling the dumps function would give me the same error, so the problem wasn’t on gwibber or the way it could be calling the module. Given that, intrigued, opened ipython, did again the same import simplejson, simplejson.dumps(default=”bla”, {}) thing and noticed this time:

/usr/lib/python2.5/site-packages/simplejson-1.7.3-py2.5-linux-i686.egg/simplejson/__init__.pyc in dumps(obj, skipkeys, ensure_ascii, check_circular, allow_nan, cls, indent, separators, encoding, **kw)
TypeError: __init__() got an unexpected keyword argument 'default'

Yes, a simplejson.__version__ confirmed the crack: 1.7.3. But why oh why that thing was there if I uninstalled and installed it exaustively, and then checked and rechecked the package version with dpkg -L python-simplejson?

After a minute of frustration, I realized the python-simplejson package wasn’t placing any files on that folder. Maybe because of a packaging problem, removing python-simplejson package didn’t erased the file on site-packages. A rm -rf simplejson-1.7.3-py2.5-linux-i686.egg was enough to solve the problem. After that, just out of curiosity, I did the import simplejson and voila, version 1.9.1.

It stopped freezing, but the window it open was blank. So what now? More in the next post..

Read more